@@ -3,15 +3,22 @@ Warning, version 420 is not yet complete; most version-specific features are pre
ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type
ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
ERROR: 0:23: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(binding=0 ) uniform atomic_uint' and a right operand of type 'layout(binding=0 ) uniform atomic_uint' (or there is no acceptable conversion)
ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout(binding=0 ) uniform atomic_uint (or there is no acceptable conversion)
ERROR: 0:18: 'atomic_uint' : layout(binding=X) is required
ERROR: 0:23: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' and a right operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' (or there is no acceptable conversion)
ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout(binding=0 offset=0 ) uniform atomic_uint (or there is no acceptable conversion)
+ Non ES: geometry shader input array sizes and input layout qualifier declaration
+ Non ES: read or write to both gl_ClipVertex and gl_ClipDistance
+ Non ES: write to only one of gl_FragColor, gl_FragData, or user-declared
...
...
@@ -56,9 +56,10 @@ Link Validation
+ value checking of uniform initializers
+ location match
- block matching
- component/binding/index/offset match check
+ component/binding/index/offset match check
+ compute shader layout(local_size_*) matching
+ mixed es/non-es profiles are an error
- binding overlap for atomic counters
- matching redeclarations of interface blocks
- 4.3: implicit array sizing is cross shader within a stage
- 4.4: If gl_FragCoord is redeclared in any fragment shader in a program, it must be redeclared in all the fragment shaders in that program that have a static use gl_FragCoord
...
...
@@ -80,9 +81,7 @@ Shader Functionality to Implement/Finish
+ Texture gather
+ Bitfield operations
+ Integer mix function
- overlapping bindings
- offset post incrementing
- overlapping offsets
+ overlapping bindings/offsets and offset post increment