X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=cros_gralloc%2Fgralloc4%2FCrosGralloc4Utils.cc;h=0e0c572f934845cfcacc16b739a473f1cdeaa3bd;hb=662a9fd2acd72fd73e72110924ea9f350429195d;hp=1296b0771e1b5f0ea44aaa797a580ecd6b1f902c;hpb=0a8dd50981630e379ead6403cda9f2a2f8ec2553;p=android-x86%2Fexternal-minigbm.git diff --git a/cros_gralloc/gralloc4/CrosGralloc4Utils.cc b/cros_gralloc/gralloc4/CrosGralloc4Utils.cc index 1296b07..0e0c572 100644 --- a/cros_gralloc/gralloc4/CrosGralloc4Utils.cc +++ b/cros_gralloc/gralloc4/CrosGralloc4Utils.cc @@ -113,6 +113,10 @@ std::string getUsageString(hidl_bitfield bufferUsage) { usage &= ~static_cast(BufferUsage::COMPOSER_OVERLAY); usages.push_back("BufferUsage::COMPOSER_OVERLAY"); } + if (usage & BufferUsage::COMPOSER_CLIENT_TARGET) { + usage &= ~static_cast(BufferUsage::COMPOSER_CLIENT_TARGET); + usages.push_back("BufferUsage::COMPOSER_CLIENT_TARGET"); + } if (usage & BufferUsage::CPU_READ_OFTEN) { usage &= ~static_cast(BufferUsage::CPU_READ_OFTEN); usages.push_back("BufferUsage::CPU_READ_OFTEN"); @@ -282,6 +286,10 @@ int convertToBufferUsage(uint64_t grallocUsage, uint64_t* outBufferUsage) { /* HWC wants to use display hardware, but can defer to OpenGL. */ bufferUsage |= BO_USE_SCANOUT | BO_USE_TEXTURE; } + if (grallocUsage & BufferUsage::COMPOSER_CLIENT_TARGET) { + /* GPU composition target buffer */ + bufferUsage |= BO_USE_COMPOSER_TARGET; + } /* Map this flag to linear until real HW protection is available on Android. */ if (grallocUsage & BufferUsage::PROTECTED) { bufferUsage |= BO_USE_LINEAR;