VirtualDisplaySurface propagate reallocation to VDS producer
When dequeuing from the source through refreshOutputBuffer(), the dequeue result, BUFFER_NEEDS_REALLOCATION, is not propagated back up. RenderSurface will not reallocate from VirtualDisplaySurface in this situation, causing GLES to render to the wrong buffer. Wrong buffer example, beginFrame() -> refreshOutputBuffer() -> dequeueBuffer() -> dequeueBuffer() needs reallocation. but the result in refreshOuputBuffer() is overwritten by mHwc.setOutputBuffer(). (the result is also not received by VDS itself) We need a flag to indicate producer slot need reallocation, so that we can sent reallocation to Consumer. Bug: 157204337 Test: simulate second display with debug.sf.enable_hwc_vds = 1 Change-Id: Ibcbc3bd1ef857382ea9882dd10e0bd55759406f4
Loading
Please register or sign in to comment