am b716e570
: Set the outbuf acquire fence after we actually have it.
* commit 'b716e57048e945d5bceda33c2434c65d06464dba': Set the outbuf acquire fence after we actually have it.
This commit is contained in:
commit
72d270c5f0
@ -147,6 +147,10 @@ status_t VirtualDisplaySurface::advanceFrame() {
|
|||||||
mFbProducerSlot, fbBuffer.get(),
|
mFbProducerSlot, fbBuffer.get(),
|
||||||
mOutputProducerSlot, outBuffer.get());
|
mOutputProducerSlot, outBuffer.get());
|
||||||
|
|
||||||
|
// At this point we know the output buffer acquire fence,
|
||||||
|
// so update HWC state with it.
|
||||||
|
mHwc.setOutputBuffer(mDisplayId, mOutputFence, outBuffer);
|
||||||
|
|
||||||
return mHwc.fbPost(mDisplayId, mFbFence, fbBuffer);
|
return mHwc.fbPost(mDisplayId, mFbFence, fbBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -415,7 +419,11 @@ status_t VirtualDisplaySurface::refreshOutputBuffer() {
|
|||||||
return result;
|
return result;
|
||||||
mOutputProducerSlot = mapSource2ProducerSlot(SOURCE_SINK, sslot);
|
mOutputProducerSlot = mapSource2ProducerSlot(SOURCE_SINK, sslot);
|
||||||
|
|
||||||
result = mHwc.setOutputBuffer(mDisplayId, mOutputFence,
|
// On GLES-only frames, we don't have the right output buffer acquire fence
|
||||||
|
// until after GLES calls queueBuffer(). So here we just set the buffer
|
||||||
|
// (for use in HWC prepare) but not the fence; we'll call this again with
|
||||||
|
// the proper fence once we have it.
|
||||||
|
result = mHwc.setOutputBuffer(mDisplayId, Fence::NO_FENCE,
|
||||||
mProducerBuffers[mOutputProducerSlot]);
|
mProducerBuffers[mOutputProducerSlot]);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
Loading…
Reference in New Issue
Block a user