hwc: Clear render buffer before blitting layers below PTOR layers
Stale render buffer data results in flickering in some corner cases.
It always better to clear render buffer before using it.
Change-Id: If87dc05bcdc88e839f162cf3db4f00aba6f1d535
diff --git a/libhwcomposer/hwc_copybit.cpp b/libhwcomposer/hwc_copybit.cpp
index 67cca88..08d64de 100644
--- a/libhwcomposer/hwc_copybit.cpp
+++ b/libhwcomposer/hwc_copybit.cpp
@@ -603,6 +603,12 @@
return fd;
}
+ //Clear the transparent or left out region on the render buffer
+ hwc_rect_t clearRegion = {0,0,0,0};
+ LayerProp *layerProp = ctx->layerProp[0];
+ if(CBUtils::getuiClearRegion(list, clearRegion, layerProp))
+ clear(renderBuffer, clearRegion);
+
int copybitLayerCount = 0;
for(int j = 0; j < ptorInfo->count; j++) {
int ovlapIndex = ptorInfo->layerIndex[j];