Note: Google Test filter = GaneshAsyncReadbackUninitTest.* [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from GaneshAsyncReadbackUninitTest [ RUN ] GaneshAsyncReadbackUninitTest.FailedInstantiationDeliversUninitializedBuffer [setup] GL_VERSION = OpenGL ES 3.0 (ANGLE 2.1.27757 git hash: 336e9a1b87e5) [setup] GL_RENDERER = ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0) [phase1] control readback (white surface) Y[0..15] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [phase1] control readback (white surface) U[0..15] = 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 [phase2] *** UNINITIALISED TRANSFER BUFFER DELIVERED TO CLIENT *** GrResourceAllocator::assign() failed (promise fulfil returned null, calls=1) yet asyncRescaleAndReadPixelsYUV420 returned a non-null result. Surface was cleared to WHITE, expected Y plane = all 0xFF. Actual Y[0..63] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Actual U[0..31] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Actual V[0..31] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (rowBytes Y=64) Y-plane row0: 64/64 bytes != expected 0xFF -> client received buffer never written by GrTransferFromRenderTask. On this GL driver the unwritten bytes happen to read as 0x00; on production Vulkan+VMA they are recycled sub-allocations holding a *previous origin's* readback pixels (cross-origin info leak). [ OK ] GaneshAsyncReadbackUninitTest.FailedInstantiationDeliversUninitializedBuffer (158 ms) [----------] 1 test from GaneshAsyncReadbackUninitTest (158 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (158 ms total) [ PASSED ] 1 test.