[Mesa-dev] [PATCH v2] glsl: Enable split of lower UBOs and SSBO also for compute shaders

Marta Lofstedt marta.lofstedt at linux.intel.com
Wed Oct 14 06:34:59 PDT 2015


From: Marta Lofstedt <marta.lofstedt at intel.com>

The split of Uniform blocks and shader storage block only loops
up to MESA_SHADER_FRAGMENT and igonres compute shaders.
This cause segfault when running the OpenGL ES 3.1 CTS tests
with GL_ARB_compute_shader enabled.

V2: Changed to use MESA_SHADER_STAGES instead of
MESA_SHADER_COMPUTE

Signed-off-by: Marta Lofstedt <marta.lofstedt at linux.intel.com>
---
 src/glsl/linker.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index c61c76e..c15034b 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -4392,7 +4392,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
     * for gl_shader_program and gl_shader, so that drivers that need separate
     * index spaces for each set can have that.
     */
-   for (unsigned i = MESA_SHADER_VERTEX; i <= MESA_SHADER_FRAGMENT; i++) {
+   for (unsigned i = MESA_SHADER_VERTEX; i < MESA_SHADER_STAGES; i++) {
       if (prog->_LinkedShaders[i] != NULL) {
          gl_shader *sh = prog->_LinkedShaders[i];
          split_ubos_and_ssbos(sh,
-- 
2.1.4



More information about the mesa-dev mailing list