Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4291796 authored by Chong Zhang's avatar Chong Zhang
Browse files

add GRALLOC_USAGE_HW_COMPOSER flag to video usage bits

bug: 22657091
Change-Id: I6a11bc15bba34035ef31c2f4d41196ece60d4ad9
parent 70c1f74f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -145,6 +145,12 @@ private:
        kFlagIsGrallocUsageProtected                  = 4,
    };

    enum {
        kVideoGrallocUsage = (GRALLOC_USAGE_HW_TEXTURE
                            | GRALLOC_USAGE_HW_COMPOSER
                            | GRALLOC_USAGE_EXTERNAL_DISP),
    };

    struct BufferInfo {
        enum Status {
            OWNED_BY_US,
+2 −3
Original line number Diff line number Diff line
@@ -668,8 +668,7 @@ status_t ACodec::handleSetSurface(const sp<Surface> &surface) {
        return err;
    }

    int ignoredFlags = (GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_HW_COMPOSER
            | GRALLOC_USAGE_EXTERNAL_DISP);
    int ignoredFlags = kVideoGrallocUsage;
    // New output surface is not allowed to add new usage flag except ignored ones.
    if ((usageBits & ~(mNativeWindowUsageBits | ignoredFlags)) != 0) {
        ALOGW("cannot change usage from %#x to %#x", mNativeWindowUsageBits, usageBits);
@@ -905,7 +904,7 @@ status_t ACodec::setupNativeWindowSizeFormatAndUsage(
        usage |= GRALLOC_USAGE_PROTECTED;
    }

    usage |= GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_EXTERNAL_DISP;
    usage |= kVideoGrallocUsage;
    *finalUsage = usage;

    ALOGV("gralloc usage: %#x(OMX) => %#x(ACodec)", omxUsage, usage);