summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGert Wollny <gert.wollny@collabora.com>2019-06-17 08:44:14 +0200
committerGert Wollny <gw.fossdev@gmail.com>2019-06-21 09:18:04 +0000
commit4e3f82cde4dc0734c53d10dab211c5dd08fe9b01 (patch)
tree947f202393ffee26affd788594f6ae3720f2a6d4
parent8b26c9159ddafe45a1ab25174f438f10a5a8e386 (diff)
downloadmesa-4e3f82cde4dc0734c53d10dab211c5dd08fe9b01.tar.gz
virgl: Assume sRGB write control for older guest kernels or virglrenderer hosts
When the host virglrenderer is an older version that doesn't check the sRGB write control feature, or when the guest kernel doesn't support CAPS v2, then the guest will only report support for GL 2.1 on a GL 3.3 host, even though it was supporting 3.3 with earlier guest mesa versions. By also checking the host feature check version this regression can be avoided. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110921 Fixes: 2845939d6a72 virgl: Set sRGB write control CAP based on host capabilities Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Chia-I Wu <olvaffe@gmail.com> (cherry-picked from commit 2b87753a84da7a1bd8a84f26f3cd0e03cc52c930)
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index 17fa5fc51cc..d1e00dd4ef9 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -347,7 +347,8 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_NATIVE_FENCE_FD:
return vscreen->vws->supports_fences;
case PIPE_CAP_DEST_SURFACE_SRGB_CONTROL:
- return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_SRGB_WRITE_CONTROL;
+ return (vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_SRGB_WRITE_CONTROL) ||
+ (vscreen->caps.caps.v2.host_feature_check_version < 1);
default:
return u_pipe_screen_get_param_defaults(screen, param);
}