mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 17:58:26 +02:00
virgl: fix BGRA emulation artifacts during window resize
On some devices, window resizing results in flashes of blue- and orange-tinted versions of the current frame until resizing is finished. This fix ensures that the emubgra tweak used for GLES virgl hosts has its enabled state flag set properly during resize events. v2: removed unrelated whitespace change Fixes:6f68cacf61("virgl: Always enable emulated BGRA and swizzling unless specifically told not to") Signed-off-by: Ryan Neph <ryanneph@google.com> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8119> (cherry picked from commitaccc222217)
This commit is contained in:
parent
b62bd28ec8
commit
f892a46cc5
2 changed files with 4 additions and 2 deletions
|
|
@ -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"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue