diff options
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/virgl/virgl_screen.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json index 16f9282388b..6f742b17016 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -112,7 +112,7 @@ "description": "virgl: fix BGRA emulation artifacts during window resize", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "6f68cacf619f7f13bc870355709224c1f3e9bbd8" }, diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index 92944f4c06f..5416dc8bd10 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -873,7 +873,9 @@ virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *c fixup_formats(&screen->caps.caps, &screen->caps.caps.v2.scanout); union virgl_caps *caps = &screen->caps.caps; - screen->tweak_gles_emulate_bgra &= !virgl_format_check_bitmask(PIPE_FORMAT_B8G8R8A8_SRGB, caps->v1.render.bitmask, false); + bool may_emulate_bgra = (caps->v2.capability_bits & VIRGL_CAP_APP_TWEAK_SUPPORT); + screen->tweak_gles_emulate_bgra &= !virgl_format_check_bitmask( + PIPE_FORMAT_B8G8R8A8_SRGB, caps->v1.render.bitmask, may_emulate_bgra); screen->refcnt = 1; slab_create_parent(&screen->transfer_pool, sizeof(struct virgl_transfer), 16); |