summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2023-11-21 11:13:40 -0500
committer John Reck <jreck@google.com> 2023-11-21 11:14:16 -0500
commit54a98142327a62a4b78a1eba00de1c98b1d7f7d6 (patch)
tree1d3821f5e2898174347c7f4b0523ab4a531690a1
parentd5333215ba5184c4ade198e37faeb626bb70942c (diff)
Skip pixel format validation if IMPLEMENTATION_DEFINED
Bug: 307349474 Test: make Change-Id: I5ffd1593968e9bf3c39d5a173d1e0732af3ce9cc
-rw-r--r--libs/ui/Gralloc5.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/libs/ui/Gralloc5.cpp b/libs/ui/Gralloc5.cpp
index 37ebfc4617..2ec6d18fda 100644
--- a/libs/ui/Gralloc5.cpp
+++ b/libs/ui/Gralloc5.cpp
@@ -518,14 +518,16 @@ status_t Gralloc5Mapper::validateBufferSize(buffer_handle_t bufferHandle, uint32
}
}
{
- auto value =
- getStandardMetadata<StandardMetadataType::PIXEL_FORMAT_REQUESTED>(mMapper,
- bufferHandle);
- if (static_cast<::aidl::android::hardware::graphics::common::PixelFormat>(format) !=
- value) {
- ALOGW("Format didn't match, expected %d got %s", format,
- value.has_value() ? toString(*value).c_str() : "<null>");
- return BAD_VALUE;
+ auto expected = static_cast<APixelFormat>(format);
+ if (expected != APixelFormat::IMPLEMENTATION_DEFINED) {
+ auto value =
+ getStandardMetadata<StandardMetadataType::PIXEL_FORMAT_REQUESTED>(mMapper,
+ bufferHandle);
+ if (expected != value) {
+ ALOGW("Format didn't match, expected %d got %s", format,
+ value.has_value() ? toString(*value).c_str() : "<null>");
+ return BAD_VALUE;
+ }
}
}
{