Merge "hwc: hwc_sync - populate correct fences for BLIT"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
4525f0e53c
@@ -1250,15 +1250,14 @@ int hwc_sync(hwc_context_t *ctx, hwc_display_contents_1_t* list, int dpy,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Accumulate acquireFenceFds for MDP
|
//Accumulate acquireFenceFds for MDP Overlays
|
||||||
if(list->outbufAcquireFenceFd >= 0) {
|
if(list->outbufAcquireFenceFd >= 0) {
|
||||||
//Writeback output buffer
|
//Writeback output buffer
|
||||||
acquireFd[count++] = list->outbufAcquireFenceFd;
|
acquireFd[count++] = list->outbufAcquireFenceFd;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(uint32_t i = 0; i < list->numHwLayers; i++) {
|
for(uint32_t i = 0; i < list->numHwLayers; i++) {
|
||||||
if((list->hwLayers[i].compositionType == HWC_OVERLAY ||
|
if(list->hwLayers[i].compositionType == HWC_OVERLAY &&
|
||||||
list->hwLayers[i].compositionType == HWC_BLIT) &&
|
|
||||||
list->hwLayers[i].acquireFenceFd >= 0) {
|
list->hwLayers[i].acquireFenceFd >= 0) {
|
||||||
if(UNLIKELY(swapzero))
|
if(UNLIKELY(swapzero))
|
||||||
acquireFd[count++] = -1;
|
acquireFd[count++] = -1;
|
||||||
@@ -1314,7 +1313,13 @@ int hwc_sync(hwc_context_t *ctx, hwc_display_contents_1_t* list, int dpy,
|
|||||||
!(layerProp[i].mFlags & HWC_VPUCOMP)) {
|
!(layerProp[i].mFlags & HWC_VPUCOMP)) {
|
||||||
//If rotator has not already populated this field
|
//If rotator has not already populated this field
|
||||||
// & if it's a not VPU layer
|
// & if it's a not VPU layer
|
||||||
list->hwLayers[i].releaseFenceFd = dup(releaseFd);
|
if(list->hwLayers[i].compositionType == HWC_BLIT) {
|
||||||
|
//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 {
|
||||||
|
list->hwLayers[i].releaseFenceFd = dup(releaseFd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user