On an GL host set the sRGB blit framebuffer state explicitly to make virgl behave like on a GLES host. This does not correct the handing of sRGB completely, because the state GL_FRAMEBUFFER_SRGB is not properly transmitted to the host. As a result the piglits "blit texture linear_to_srgb * * *" flip. Tests thatset "enable" failed before and pass now, and tests that set "disable" now fail. v2: - Move setting the fbo state out of the loop (Robert Tarasov) - Use the blitter context to set and store the state, since it is only, and currently we don't pass the state from the guest relevant when the dst texture is SRGB, there is no need to disable it - Just enforce that a source SRGB texture is always decoded when this could be disabled Fixes on GL host: dEQP-GLES3.functional.fbo.blit.conversion.rgb8_to_srgb8_alpha8 dEQP-GLES3.functional.fbo.blit.default_framebuffer.srgb8_alpha8 Reviewed-by: Robert Tarasov <tutankhamen@chromium.org> Tested-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Tested-by: Jakob Bornecrantz <jakob@collabora.com> Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Signed-off-by: Jakob Bornecrantz <jakob@collabora.com>macos/master
parent
403875b787
commit
7241f45c35
Loading…
Reference in new issue