hwc : Add support for ABC in MDP3
In display list if one layer has same parameters as framebuffer on index '0'. Use this layer as FB and blit other layer(s) on top of it. Change-Id: If38712781f24a2e27686d2b370643f51a9b05358
This commit is contained in:
committed by
Sravan Kumar D.V.N
parent
0def28c653
commit
467759fb28
@@ -1333,7 +1333,15 @@ int hwc_sync(hwc_context_t *ctx, hwc_display_contents_1_t* list, int dpy,
|
||||
list->hwLayers[i].acquireFenceFd >= 0) {
|
||||
if(UNLIKELY(swapzero))
|
||||
acquireFd[count++] = -1;
|
||||
else
|
||||
// if ABC is enabled for more than one layer.
|
||||
// renderBufIndexforABC will work as FB.Hence
|
||||
// set the acquireFD from fd - which is coming from copybit
|
||||
else if(fd >= 0 && (isAbcInUse(ctx) == true)) {
|
||||
if(ctx->listStats[dpy].renderBufIndexforABC ==(int32_t)i)
|
||||
acquireFd[count++] = fd;
|
||||
else
|
||||
continue;
|
||||
} else
|
||||
acquireFd[count++] = list->hwLayers[i].acquireFenceFd;
|
||||
}
|
||||
if(list->hwLayers[i].compositionType == HWC_FRAMEBUFFER_TARGET) {
|
||||
@@ -1386,10 +1394,15 @@ int hwc_sync(hwc_context_t *ctx, hwc_display_contents_1_t* list, int dpy,
|
||||
#ifdef QCOM_BSP
|
||||
//If rotator has not already populated this field
|
||||
// & if it's a not VPU layer
|
||||
if((list->hwLayers[i].compositionType == HWC_BLIT)&&
|
||||
(isAbcInUse(ctx) == false)){
|
||||
//For Blit, the app layers should be released when the Blit is
|
||||
//complete. This fd was passed from copybit->draw
|
||||
|
||||
// if ABC is enabled for more than one layer
|
||||
if(fd >= 0 && (isAbcInUse(ctx) == true) &&
|
||||
ctx->listStats[dpy].renderBufIndexforABC !=(int32_t)i){
|
||||
list->hwLayers[i].releaseFenceFd = dup(fd);
|
||||
} else if((list->hwLayers[i].compositionType == HWC_BLIT)&&
|
||||
(isAbcInUse(ctx) == false)){
|
||||
//For Blit, the app layers should be released when the Blit
|
||||
//is complete. This fd was passed from copybit->draw
|
||||
list->hwLayers[i].releaseFenceFd = dup(fd);
|
||||
} else
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user