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

Commit 74c35e67 authored by Kevin F. Haggerty's avatar Kevin F. Haggerty Committed by Michael Bestas
Browse files

libui: Allow extension of valid gralloc 1.0 buffer usage bits

* Change I7f4174581e24e361577640b9263514a168ed482d implemented
  validation of the buffer description info prior to creating
  the descriptor. Some of our legacy devices need to whitelist
  additional usage bits to support various functionality.

Change-Id: Ie369e78f78e9ac0b18ab3dfea520d4f123005d92

libui: Extend adb95ae5 to Gralloc3

Change-Id: I96a9f86f5c834a4282a172e7134422caf560b238
parent ad32028b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -49,6 +49,14 @@ cc_library_shared {
        "-Wno-switch-enum",
    ],

    product_variables: {
        lineage: {
            additional_gralloc_10_usage_bits: {
                cppflags: ["-DADDNL_GRALLOC_10_USAGE_BITS=%s"],
            },
        },
    },

    sanitize: {
        integer_overflow: true,
    },
+7 −0
Original line number Diff line number Diff line
@@ -48,6 +48,13 @@ uint64_t getValid10UsageBits() {
        for (const auto bit : hardware::hidl_enum_range<BufferUsage>()) {
            bits = bits | bit;
        }

#ifdef ADDNL_GRALLOC_10_USAGE_BITS
        uint64_t addnl_bits = static_cast<uint64_t>(ADDNL_GRALLOC_10_USAGE_BITS);
        ALOGI("Adding additional valid usage bits: 0x%" PRIx64, addnl_bits);
        bits = bits | addnl_bits;
#endif

        return bits;
    }();
    return valid10UsageBits;
+7 −0
Original line number Diff line number Diff line
@@ -47,6 +47,13 @@ uint64_t getValidUsageBits() {
             hardware::hidl_enum_range<hardware::graphics::common::V1_2::BufferUsage>()) {
            bits = bits | bit;
        }

#ifdef ADDNL_GRALLOC_10_USAGE_BITS
        uint64_t addnl_bits = static_cast<uint64_t>(ADDNL_GRALLOC_10_USAGE_BITS);
        ALOGI("Adding additional valid usage bits: 0x%" PRIx64, addnl_bits);
        bits = bits | addnl_bits;
#endif

        return bits;
    }();
    return validUsageBits;