Fix issue #313: Catch internal attempts to modify built-in symbols that don't exist.

Also beefed up support for running compute shaders is #version 420, but this
work is only partially done.
This commit is contained in:
John Kessenich
2016-05-29 18:24:31 -06:00
parent 5a7f0eff69
commit 0f5e3ad23c
6 changed files with 70 additions and 7 deletions

7
Test/420.comp Executable file
View File

@@ -0,0 +1,7 @@
#version 420
layout(local_size_x = 2) in; // ERROR, no compute
#extension GL_ARB_compute_shader : enable
layout(local_size_x = 2) in;

32
Test/baseResults/420.comp.out Executable file
View File

@@ -0,0 +1,32 @@
420.comp
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:3: 'gl_WorkgroupSize' : not supported for this version or the enabled extensions
WARNING: 0:5: '#extension' : extension is only partially supported: GL_ARB_compute_shader
ERROR: 1 compilation errors. No code generated.
Shader version: 420
Requested GL_ARB_compute_shader
local_size = (2, 1, 1)
ERROR: node is still EOpNull!
0:? Linker Objects
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
0:? 2 (const uint)
0:? 1 (const uint)
0:? 1 (const uint)
Linked compute stage:
ERROR: Linking compute stage: Missing entry point: Each stage requires one "void main()" entry point
Shader version: 420
Requested GL_ARB_compute_shader
local_size = (2, 1, 1)
ERROR: node is still EOpNull!
0:? Linker Objects
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
0:? 2 (const uint)
0:? 1 (const uint)
0:? 1 (const uint)