gralloc4: use generated enum type helper functions
There're already auto-generated helpers functions which also handles
unknown cases properly.
BUG=b:199524294
TEST=gralloc4 builds on aosp
Change-Id: Ic488494812c455bfd01ca0e2b60091f21ca8fd96
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3161221
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Jason Macnak <natsu@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
diff --git a/cros_gralloc/gralloc4/CrosGralloc4Utils.cc b/cros_gralloc/gralloc4/CrosGralloc4Utils.cc
index 7aae08b..0817baa 100644
--- a/cros_gralloc/gralloc4/CrosGralloc4Utils.cc
+++ b/cros_gralloc/gralloc4/CrosGralloc4Utils.cc
@@ -30,151 +30,14 @@
android::hardware::graphics::mapper::V4_0::IMapper::BufferDescriptorInfo;
std::string getPixelFormatString(PixelFormat format) {
- switch (format) {
- case PixelFormat::BGRA_8888:
- return "PixelFormat::BGRA_8888";
- case PixelFormat::BLOB:
- return "PixelFormat::BLOB";
- case PixelFormat::DEPTH_16:
- return "PixelFormat::DEPTH_16";
- case PixelFormat::DEPTH_24:
- return "PixelFormat::DEPTH_24";
- case PixelFormat::DEPTH_24_STENCIL_8:
- return "PixelFormat::DEPTH_24_STENCIL_8";
- case PixelFormat::DEPTH_32F:
- return "PixelFormat::DEPTH_24";
- case PixelFormat::DEPTH_32F_STENCIL_8:
- return "PixelFormat::DEPTH_24_STENCIL_8";
- case PixelFormat::HSV_888:
- return "PixelFormat::HSV_888";
- case PixelFormat::IMPLEMENTATION_DEFINED:
- return "PixelFormat::IMPLEMENTATION_DEFINED";
- case PixelFormat::RAW10:
- return "PixelFormat::RAW10";
- case PixelFormat::RAW12:
- return "PixelFormat::RAW12";
- case PixelFormat::RAW16:
- return "PixelFormat::RAW16";
- case PixelFormat::RAW_OPAQUE:
- return "PixelFormat::RAW_OPAQUE";
- case PixelFormat::RGBA_1010102:
- return "PixelFormat::RGBA_1010102";
- case PixelFormat::RGBA_8888:
- return "PixelFormat::RGBA_8888";
- case PixelFormat::RGBA_FP16:
- return "PixelFormat::RGBA_FP16";
- case PixelFormat::RGBX_8888:
- return "PixelFormat::RGBX_8888";
- case PixelFormat::RGB_565:
- return "PixelFormat::RGB_565";
- case PixelFormat::RGB_888:
- return "PixelFormat::RGB_888";
- case PixelFormat::STENCIL_8:
- return "PixelFormat::STENCIL_8";
- case PixelFormat::Y16:
- return "PixelFormat::Y16";
- case PixelFormat::Y8:
- return "PixelFormat::Y8";
- case PixelFormat::YCBCR_420_888:
- return "PixelFormat::YCBCR_420_888";
- case PixelFormat::YCBCR_422_I:
- return "PixelFormat::YCBCR_422_I";
- case PixelFormat::YCBCR_422_SP:
- return "PixelFormat::YCBCR_422_SP";
- case PixelFormat::YCBCR_P010:
- return "PixelFormat::YCBCR_P010";
- case PixelFormat::YCRCB_420_SP:
- return "PixelFormat::YCRCB_420_SP";
- case PixelFormat::YV12:
- return "PixelFormat::YV12";
- }
- return android::base::StringPrintf("PixelFormat::Unknown(%d)", static_cast<uint32_t>(format));
+ return android::hardware::graphics::common::V1_2::toString(format);
}
std::string getUsageString(hidl_bitfield<BufferUsage> bufferUsage) {
- using Underlying = typename std::underlying_type<BufferUsage>::type;
+ static_assert(std::is_same<std::underlying_type<BufferUsage>::type, uint64_t>::value);
- Underlying usage = static_cast<Underlying>(bufferUsage);
-
- std::vector<std::string> usages;
- if (usage & BufferUsage::CAMERA_INPUT) {
- usage &= ~static_cast<Underlying>(BufferUsage::CAMERA_INPUT);
- usages.push_back("BufferUsage::CAMERA_INPUT");
- }
- if (usage & BufferUsage::CAMERA_OUTPUT) {
- usage &= ~static_cast<Underlying>(BufferUsage::CAMERA_OUTPUT);
- usages.push_back("BufferUsage::CAMERA_OUTPUT");
- }
- if (usage & BufferUsage::COMPOSER_CURSOR) {
- usage &= ~static_cast<Underlying>(BufferUsage::COMPOSER_CURSOR);
- usages.push_back("BufferUsage::COMPOSER_CURSOR");
- }
- if (usage & BufferUsage::COMPOSER_OVERLAY) {
- usage &= ~static_cast<Underlying>(BufferUsage::COMPOSER_OVERLAY);
- usages.push_back("BufferUsage::COMPOSER_OVERLAY");
- }
- if (usage & BufferUsage::CPU_READ_OFTEN) {
- usage &= ~static_cast<Underlying>(BufferUsage::CPU_READ_OFTEN);
- usages.push_back("BufferUsage::CPU_READ_OFTEN");
- }
- if (usage & BufferUsage::CPU_READ_NEVER) {
- usage &= ~static_cast<Underlying>(BufferUsage::CPU_READ_NEVER);
- usages.push_back("BufferUsage::CPU_READ_NEVER");
- }
- if (usage & BufferUsage::CPU_READ_RARELY) {
- usage &= ~static_cast<Underlying>(BufferUsage::CPU_READ_RARELY);
- usages.push_back("BufferUsage::CPU_READ_RARELY");
- }
- if (usage & BufferUsage::CPU_WRITE_NEVER) {
- usage &= ~static_cast<Underlying>(BufferUsage::CPU_WRITE_NEVER);
- usages.push_back("BufferUsage::CPU_WRITE_NEVER");
- }
- if (usage & BufferUsage::CPU_WRITE_OFTEN) {
- usage &= ~static_cast<Underlying>(BufferUsage::CPU_WRITE_OFTEN);
- usages.push_back("BufferUsage::CPU_WRITE_OFTEN");
- }
- if (usage & BufferUsage::CPU_WRITE_RARELY) {
- usage &= ~static_cast<Underlying>(BufferUsage::CPU_WRITE_RARELY);
- usages.push_back("BufferUsage::CPU_WRITE_RARELY");
- }
- if (usage & BufferUsage::GPU_RENDER_TARGET) {
- usage &= ~static_cast<Underlying>(BufferUsage::GPU_RENDER_TARGET);
- usages.push_back("BufferUsage::GPU_RENDER_TARGET");
- }
- if (usage & BufferUsage::GPU_TEXTURE) {
- usage &= ~static_cast<Underlying>(BufferUsage::GPU_TEXTURE);
- usages.push_back("BufferUsage::GPU_TEXTURE");
- }
- if (usage & BufferUsage::PROTECTED) {
- usage &= ~static_cast<Underlying>(BufferUsage::PROTECTED);
- usages.push_back("BufferUsage::PROTECTED");
- }
- if (usage & BufferUsage::RENDERSCRIPT) {
- usage &= ~static_cast<Underlying>(BufferUsage::RENDERSCRIPT);
- usages.push_back("BufferUsage::RENDERSCRIPT");
- }
- if (usage & BufferUsage::VIDEO_DECODER) {
- usage &= ~static_cast<Underlying>(BufferUsage::VIDEO_DECODER);
- usages.push_back("BufferUsage::VIDEO_DECODER");
- }
- if (usage & BufferUsage::VIDEO_ENCODER) {
- usage &= ~static_cast<Underlying>(BufferUsage::VIDEO_ENCODER);
- usages.push_back("BufferUsage::VIDEO_ENCODER");
- }
- if (usage & BufferUsage::GPU_DATA_BUFFER) {
- usage &= ~static_cast<Underlying>(BufferUsage::GPU_DATA_BUFFER);
- usages.push_back("BufferUsage::GPU_DATA_BUFFER");
- }
- if (usage & BUFFER_USAGE_FRONT_RENDERING) {
- usage &= ~static_cast<Underlying>(BUFFER_USAGE_FRONT_RENDERING);
- usages.push_back("BUFFER_USAGE_FRONT_RENDERING");
- }
-
- if (usage) {
- usages.push_back(android::base::StringPrintf("UnknownUsageBits-%" PRIu64, usage));
- }
-
- return android::base::Join(usages, '|');
+ const uint64_t usage = static_cast<uint64_t>(bufferUsage);
+ return android::hardware::graphics::common::V1_2::toString<BufferUsage>(usage);
}
int convertToDrmFormat(PixelFormat format, uint32_t* outDrmFormat) {