BBQ: Recreate BBQ when SurfaceControl changes 2/2
Alternative approach to fab15e55446080bdcfc05ba315e8ef914b0a6f65 which was racy because the disconnect callback is called without the BQ lock and the client can continue to modify the BQ state after disconnecting from the queue. This approach resets the BQ and BBQ states when the SurfaceControl is updated. This solves one concrete problem of not relying on the old SurfaceControl to be destroyed in order to release the currently presented buffer back to BQ. In addition this change resets the sync state in BBQ with the rationale the system does not want to sync on buffers presented on an older SurfaceControl. Bug: 197269223 Test: atest BLASTBufferQueueTest Test: labtest ag/16407859 cf-foldable * 3 (b/197269223#comment40) Change-Id: I137d3284c4e9216963f9c672f192afd334501ee5
Loading
Please register or sign in to comment