The ARB_compute_variable_group_size specification explains that when a compute shader includes both a fixed and a variable local size, a compile-time error occurs.
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> --- src/compiler/glsl/ast_to_hir.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index 4fc4c5c..a53a82e 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -8013,6 +8013,20 @@ ast_cs_input_layout::hir(exec_list *instructions, } } + /* From the ARB_compute_variable_group_size specification: + * + * If a compute shader including a *local_size_variable* qualifier also + * declares a fixed local group size using the *local_size_x*, + * *local_size_y*, or *local_size_z* qualifiers, a compile-time error + * results + */ + if (state->cs_input_local_size_variable_specified) { + _mesa_glsl_error(&loc, state, + "compute shader can't include both a variable and a " + "fixed local group size"); + return NULL; + } + state->cs_input_local_size_specified = true; for (int i = 0; i < 3; i++) state->cs_input_local_size[i] = qual_local_size[i]; -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev