Mesa (master): glsl/cs: Fix local_size_y and local_size_z

Jordan Justen jljusten at kemper.freedesktop.org
Mon Jun 16 17:00:20 UTC 2014


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

Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Mon Jun  9 14:14:15 2014 -0700

glsl/cs: Fix local_size_y and local_size_z

flags.q.local_size has 3 bits. One each for x, y and z.

Fixes piglit's:
* spec/ARB_compute_shader/linker/mismatched_local_work_sizes
* spec/ARB_compute_shader/compiler/default_local_size.comp
* spec/ARB_compute_shader/compiler/work_group_size_too_large
* spec/ARB_compute_shader/compiler/gl_WorkGroupSize_matches_layout.comp

This was regressed in 738c9c3c.

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>

---

 src/glsl/ast_type.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/ast_type.cpp b/src/glsl/ast_type.cpp
index 0ee2c49..77053d5 100644
--- a/src/glsl/ast_type.cpp
+++ b/src/glsl/ast_type.cpp
@@ -247,7 +247,7 @@ ast_type_qualifier::merge_in_qualifier(YYLTYPE *loc,
          q.flags.q.local_size != 0 &&
          state->in_qualifier->flags.q.local_size == 0;
 
-      valid_in_mask.flags.q.local_size = 1;
+      valid_in_mask.flags.q.local_size = 7;
       break;
    default:
       _mesa_glsl_error(loc, state,




More information about the mesa-commit mailing list