summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/virgl/virgl_screen.c
diff options
context:
space:
mode:
authorGert Wollny <gert.wollny@collabora.com>2022-03-24 12:39:40 +0100
committerMarge Bot <emma+marge@anholt.net>2023-06-20 11:50:37 +0000
commitbd93d6b2fba4a9e78d12fc9c6cd2df4d2216dfbe (patch)
treeddbade289828bdd833199451418a7bceca3b4fff /src/gallium/drivers/virgl/virgl_screen.c
parenta2d40c09b72374db5d2dd4115c1ea51b2543f515 (diff)
virgl: don't allow vertex input arrays on GLES hosts
v2: - use new HOST_IS_GLES flag (Corentin) - drop stray fprintf (Emma) - reorder cases to avoid code replication Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15550>
Diffstat (limited to 'src/gallium/drivers/virgl/virgl_screen.c')
-rw-r--r--src/gallium/drivers/virgl/virgl_screen.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index 77ea522f00e..34f860cc5c7 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -406,8 +406,13 @@ virgl_get_shader_param(struct pipe_screen *screen,
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
return 1;
- case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
+ if ((vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_HOST_IS_GLES) &&
+ (shader == PIPE_SHADER_VERTEX)) {
+ return 0;
+ }
+ FALLTHROUGH;
+ case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_INDIRECT_INPUT_ADDR;
case PIPE_SHADER_CAP_MAX_INPUTS:
if (vscreen->caps.caps.v1.glsl_level < 150)