aboutsummaryrefslogtreecommitdiff
path: root/system/codecs/c2/decoders
diff options
context:
space:
mode:
authorYahan Zhou <yahan@google.com>2022-05-11 18:47:32 -0700
committerYahan Zhou <yahan@google.com>2022-05-17 12:47:33 -0700
commita707249b7241aaf7dc0c9c9415eb9837177f2ae9 (patch)
treed4b249755ca60ccb3db107e350acff1771fd9dfe /system/codecs/c2/decoders
parent2a566b8aa328d1856b3653c4c756e4858cbfe921 (diff)
downloadgoldfish-opengl-a707249b7241aaf7dc0c9c9415eb9837177f2ae9.tar.gz
Rewrite RBO with shared pointer
There are tests that create stale RBO that could not be referenced by RBO ID. The test does the following: 1. Bind FBO x 2. Bind RBO y to FBO x 3. Unbind FBO x 4. Delete RBO y 5. Create RBO z with the same ID as RBO y 7. Bind RBO z to FBO w 8. Draw something on FBO w (which should end up in RBO z) 9. Rebind FBO x, check its content (RBO y) is not modified Previously we always use RBO ID to reference to an RBO. A FBO will hold IDs to its RBO and looks up a global ID->RBO map to find the real RBO, which results in situation when an RBO is stale and its ID got overriden, the old FBO will refer to the new RBO instead of the old one. In the above example, after step 5, FBO x will refer to RBO z instead of RBO y, which fails the test. We change the RBO implementation so that FBOs use smart pointers to refer to RBOs. Bug: 232014849 Test: dEQP-GLES2.functional.lifetime.attach.deleted_input#renderbuffer_framebuffer, org.skia.skqp.SkQPRunner#UnitTest_ES2BlendWithNoTexture Merged-In: Ia99225f366e538adb290e19f9e0ac5e6b3cdc702 Change-Id: Ia99225f366e538adb290e19f9e0ac5e6b3cdc702
Diffstat (limited to 'system/codecs/c2/decoders')
0 files changed, 0 insertions, 0 deletions