glslang-zig/glslang
Chow 352e668a6d Add flags for local size values ( compute shader )
Purpose :

According to GLSL SPEC 4.6 ( 4.4.1.4 Compute Shader Inputs), for compute shader input qualifiers, we should declare such qualifiers with same values in the same shader (local_size_x, y and z).
"If such a layout qualifier is declared more than once in the same shader, all those declarations must set the same set of local work-group sizes and set them to the same values; otherwise a compile-time error results."

Why this fix:

If we manually set "local_size_x = 1" and directly following a declaration like "local_size_x = 2", this would not be detected. That is because currently we treat all the '1' as default value and could not restrictly detect whether those are default values.

Test case:
......
layout(local_size_x=1) in;
layout(local_size_x=2) in;
......

So I add test cases for this fix:
1. set local_size_y = 1 => success
2. set local_size_y = 2 => error
3. set local_size_y = 1 => success
2019-09-16 16:39:54 +08:00
..
GenericCodeGen Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
Include Add flags for local size values ( compute shader ) 2019-09-16 16:39:54 +08:00
MachineIndependent Add flags for local size values ( compute shader ) 2019-09-16 16:39:54 +08:00
OSDependent Port Unix/ossource.cpp to Fuchsia 2019-01-30 15:15:11 -05:00
Public ESSL/SPV: Fix #1856: Allow ESSL shaders to compile to OpenGL SPIR-V. 2019-08-28 02:51:38 -06:00
CMakeLists.txt Web: Prune grammar and lexor down to needed subset. 2019-08-20 23:21:55 -06:00
glslang.js.cpp convert_glsl_to_spirv: fail early, reduce copies, remove input buffer allocation 2019-08-20 13:29:14 -07:00
glslang.pre.js convert_glsl_to_spirv: fail early, reduce copies, remove input buffer allocation 2019-08-20 13:29:14 -07:00
updateGrammar Web: Prune grammar and lexor down to needed subset. 2019-08-20 23:21:55 -06:00