From d23b47fda57f63607a134f0ae31397c4ff983ec1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 22 Apr 2019 11:24:55 -0700 Subject: [PATCH] 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. --- src/gallium/drivers/v3d/v3d_screen.c | 3 +++ 1 file changed, 3 insertions(+) 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: -- 2.30.2