summaryrefslogtreecommitdiff
path: root/libs/ui/Gralloc3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ui/Gralloc3.cpp')
-rw-r--r--libs/ui/Gralloc3.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ui/Gralloc3.cpp b/libs/ui/Gralloc3.cpp
index 882674f479..15c60bcadf 100644
--- a/libs/ui/Gralloc3.cpp
+++ b/libs/ui/Gralloc3.cpp
@@ -101,6 +101,15 @@ status_t Gralloc3Mapper::validateBufferDescriptorInfo(
descriptorInfo->usage & ~validUsageBits);
return BAD_VALUE;
}
+
+ // Gralloc3 implementations never understand non-BLOB with GPU_DATA_BUFFER
+ // and do not reliably reject it.
+ if (descriptorInfo->usage & BufferUsage::GPU_DATA_BUFFER &&
+ descriptorInfo->format != hardware::graphics::common::V1_2::PixelFormat::BLOB) {
+ ALOGE("gralloc3 does not support non-BLOB pixel formats with GPU_DATA_BUFFER usage");
+ return BAD_VALUE;
+ }
+
return NO_ERROR;
}