aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3d_screen.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-04-22 11:24:55 -0700
committerEric Anholt <[email protected]>2019-04-24 17:24:11 -0700
commitd23b47fda57f63607a134f0ae31397c4ff983ec1 (patch)
tree69e60a742fe4a18d0ed82194d1ba1994482cc504 /src/gallium/drivers/v3d/v3d_screen.c
parent97316d378379d6d440f285fdccd81e9d08b3397c (diff)
v3d: Disable SSBOs and atomic counters on vertex shaders.
The CTS fails on dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.*vertex when they are enabled, due to the VS being run for both bin and render. I think this behavior is expected to be valid, but I can't find text in atomic counters or SSBO specs saying so (the closed I found was in shader_image_load_store). Just disable it for now, since the closed source driver doesn't expose vertex atomic counters/SSBOs either.
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_screen.c')
-rw-r--r--src/gallium/drivers/v3d/v3d_screen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c
index 0d9184279df..0405882b6ff 100644
--- a/src/gallium/drivers/v3d/v3d_screen.c
+++ b/src/gallium/drivers/v3d/v3d_screen.c
@@ -336,6 +336,9 @@ v3d_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
return V3D_MAX_TEXTURE_SAMPLERS;
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
+ if (shader == PIPE_SHADER_VERTEX)
+ return 0;
+
return PIPE_MAX_SHADER_BUFFERS;
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES: