Mesa (master): glsl: Enable split of lower UBOs and SSBO also for compute shaders

Marta Löfstedt marta at kemper.freedesktop.org
Wed Oct 14 14:02:51 UTC 2015


Module: Mesa
Branch: master
Commit: 93267887a06e760b4b20618523df5e8aa4e70307
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93267887a06e760b4b20618523df5e8aa4e70307

Author: Marta Lofstedt <marta.lofstedt at intel.com>
Date:   Wed Oct 14 13:35:32 2015 +0200

glsl: Enable split of lower UBOs and SSBO also for compute shaders

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

Reviewed-by: Francisco Jerez <currojerez at riseup.net>
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,




More information about the mesa-commit mailing list