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:
Jesse Hall 2013-10-02 09:37:49 -07:00 committed by Android Git Automerger
commit 72d270c5f0

View File

@ -147,6 +147,10 @@ status_t VirtualDisplaySurface::advanceFrame() {
mFbProducerSlot, fbBuffer.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);
}
@ -415,7 +419,11 @@ status_t VirtualDisplaySurface::refreshOutputBuffer() {
return result;
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]);
return result;