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.

libui: Extend adb95ae to Gralloc3
libui: Extend adb95ae to Gralloc4

This commit squashes:
  libui: Convert lineage product variables to soong config variables
  Change-Id: Ib687c966d4eafcc1128611b95ebed00fd0a8bfaf

Change-Id: Ie369e78f78e9ac0b18ab3dfea520d4f123005d92
This commit is contained in:
Kevin F. Haggerty 2021-10-27 23:02:31 +01:00 committed by Bartłomiej Rudecki
parent 085a54a135
commit f605c6c35a
4 changed files with 22 additions and 0 deletions

View file

@ -153,6 +153,7 @@ cc_library_shared {
"android.hardware.graphics.allocator-ndk_shared",
"android.hardware.graphics.common-ndk_shared",
"libui-defaults",
"gralloc_10_usage_bits_defaults",
// Uncomment the following line to enable VALIDATE_REGIONS traces
//defaults: ["libui-validate-regions-defaults"],
],

View file

@ -48,6 +48,13 @@ uint64_t getValid10UsageBits() {
for (const auto bit : hardware::hidl_enum_range<BufferUsage>()) {
bits = bits | bit;
}
if (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;
}
return bits;
}();
return valid10UsageBits;

View file

@ -47,6 +47,13 @@ uint64_t getValidUsageBits() {
hardware::hidl_enum_range<hardware::graphics::common::V1_2::BufferUsage>()) {
bits = bits | bit;
}
if (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;
}
return bits;
}();
return validUsageBits;

View file

@ -75,6 +75,13 @@ uint64_t getValidUsageBits() {
hardware::hidl_enum_range<hardware::graphics::common::V1_2::BufferUsage>()) {
bits = bits | bit;
}
if (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;
}
return bits;
}();
return validUsageBits | kRemovedUsageBits;