Finish virtually all of the remaining atomic counter functionality. Still need offset collision detection.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27712 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2014-08-13 01:04:28 +00:00
parent 3dd035b68b
commit 265f5fb80e
16 changed files with 191 additions and 37 deletions

View File

@@ -39,7 +39,10 @@ ERROR: 0:128: 'atomic_uint' : samplers and atomic_uints cannot be output paramet
ERROR: 0:130: 'return' : type does not match, or is not convertible to, the function's return type
ERROR: 0:136: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
ERROR: 0:141: 'atomic_uint' : atomic counters can only be highp
ERROR: 39 compilation errors. No code generated.
ERROR: 0:141: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:143: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:149: '[]' : scalar integer expression required
ERROR: 42 compilation errors. No code generated.
Shader version: 310
@@ -171,6 +174,19 @@ ERROR: node is still EOpNull!
0:137 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:138 Function Call: atomicCounterDecrement(au1; (highp uint)
0:138 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:146 Function Definition: opac( (void)
0:146 Function Parameters:
0:? Sequence
0:149 indirect index (highp int)
0:149 'a' (3-element array of highp int)
0:149 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:150 direct index (layout(binding=2 offset=4 ) highp atomic_uint)
0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:150 Constant:
0:150 2 (const int)
0:151 indirect index (layout(binding=2 offset=4 ) highp atomic_uint)
0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:151 'i' (uniform highp int)
0:? Linker Objects
0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint)
0:? 2 (const uint)
@@ -211,6 +227,8 @@ ERROR: node is still EOpNull!
0:? 'i6bad' (layout(r8ui ) uniform highp iimage2D)
0:? 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:? 'i' (uniform highp int)
Linked compute stage:
@@ -345,6 +363,19 @@ ERROR: node is still EOpNull!
0:137 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:138 Function Call: atomicCounterDecrement(au1; (highp uint)
0:138 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:146 Function Definition: opac( (void)
0:146 Function Parameters:
0:? Sequence
0:149 indirect index (highp int)
0:149 'a' (3-element array of highp int)
0:149 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:150 direct index (layout(binding=2 offset=4 ) highp atomic_uint)
0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:150 Constant:
0:150 2 (const int)
0:151 indirect index (layout(binding=2 offset=4 ) highp atomic_uint)
0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:151 'i' (uniform highp int)
0:? Linker Objects
0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint)
0:? 2 (const uint)
@@ -385,4 +416,6 @@ ERROR: node is still EOpNull!
0:? 'i6bad' (layout(r8ui ) uniform highp iimage2D)
0:? 'counter' (layout(binding=0 ) uniform highp atomic_uint)
0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:? 'i' (uniform highp int)

View File

@@ -47,7 +47,8 @@ ERROR: 0:141: 'rgba32f' : does not apply to unsigned integer images
ERROR: 0:142: 'r8_snorm' : does not apply to signed integer images
ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images
ERROR: 0:144: 'r8ui' : does not apply to signed integer images
ERROR: 46 compilation errors. No code generated.
ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions
ERROR: 47 compilation errors. No code generated.
Shader version: 420
@@ -287,6 +288,7 @@ ERROR: node is still EOpNull!
0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
0:? 'gl_VertexID' (gl_VertexId int)
0:? 'gl_InstanceID' (gl_InstanceId int)
@@ -531,6 +533,7 @@ ERROR: node is still EOpNull!
0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
0:? 'gl_VertexID' (gl_VertexId int)
0:? 'gl_InstanceID' (gl_InstanceId int)

View File

@@ -21,12 +21,12 @@ ERROR: 0:58: 'location on block member' : not supported for this version or the
ERROR: 0:59: 'location on block member' : not supported for this version or the enabled extensions
ERROR: 0:62: 'uniform buffer-member align' : not supported for this version or the enabled extensions
ERROR: 0:64: 'uniform buffer-member align' : not supported for this version or the enabled extensions
ERROR: 0:65: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:65: 'uniform buffer-member align' : not supported for this version or the enabled extensions
ERROR: 0:66: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:65: 'offset on block member' : not supported for this version or the enabled extensions
ERROR: 0:66: 'offset on block member' : not supported for this version or the enabled extensions
ERROR: 0:64: 'offset/align' : can only be used with std140 or std430 layout packing
ERROR: 0:65: 'align' : can only be used with std140 or std430 layout packing
ERROR: 0:71: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:71: 'offset on block member' : not supported for this version or the enabled extensions
ERROR: 0:74: 'gl_MaxTransformFeedbackBuffers' : required extension not requested: GL_ARB_enhanced_layouts
ERROR: 0:75: 'gl_MaxTransformFeedbackInterleavedComponents' : required extension not requested: GL_ARB_enhanced_layouts
ERROR: 0:78: 'transform feedback qualifier' : not supported for this version or the enabled extensions

View File

@@ -3,7 +3,15 @@ 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: 3 compilation errors. No code generated.
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:31: '[]' : scalar integer expression required
ERROR: 0:34: 'assign' : l-value required "counter" (can't modify a uniform)
ERROR: 0:34: 'assign' : cannot convert from 'const int' to 'layout(binding=0 ) uniform atomic_uint'
ERROR: 0:37: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin
ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg
ERROR: 11 compilation errors. No code generated.
Shader version: 420
@@ -34,8 +42,28 @@ ERROR: node is still EOpNull!
0:19 'counter' (layout(binding=0 ) uniform atomic_uint)
0:20 Function Call: atomicCounterDecrement(au1; (uint)
0:20 'counter' (layout(binding=0 ) uniform atomic_uint)
0:26 Function Definition: opac( (void)
0:26 Function Parameters:
0:28 Sequence
0:28 'counter' (layout(binding=0 ) uniform atomic_uint)
0:29 'counter' (layout(binding=0 ) uniform atomic_uint)
0:31 indirect index (int)
0:31 'a' (3-element array of int)
0:31 'counter' (layout(binding=0 ) uniform atomic_uint)
0:32 direct index (layout(binding=1 offset=3 ) atomic_uint)
0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:32 Constant:
0:32 2 (const int)
0:33 indirect index (layout(binding=1 offset=3 ) atomic_uint)
0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:33 'i' (uniform int)
0:34 'counter' (layout(binding=0 ) uniform atomic_uint)
0:? Linker Objects
0:? 'counter' (layout(binding=0 ) uniform atomic_uint)
0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:? 'i' (uniform int)
0:? 'acin' (smooth in atomic_uint)
0:? 'acg' (atomic_uint)
Linked fragment stage:
@@ -69,6 +97,26 @@ ERROR: node is still EOpNull!
0:19 'counter' (layout(binding=0 ) uniform atomic_uint)
0:20 Function Call: atomicCounterDecrement(au1; (uint)
0:20 'counter' (layout(binding=0 ) uniform atomic_uint)
0:26 Function Definition: opac( (void)
0:26 Function Parameters:
0:28 Sequence
0:28 'counter' (layout(binding=0 ) uniform atomic_uint)
0:29 'counter' (layout(binding=0 ) uniform atomic_uint)
0:31 indirect index (int)
0:31 'a' (3-element array of int)
0:31 'counter' (layout(binding=0 ) uniform atomic_uint)
0:32 direct index (layout(binding=1 offset=3 ) atomic_uint)
0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:32 Constant:
0:32 2 (const int)
0:33 indirect index (layout(binding=1 offset=3 ) atomic_uint)
0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:33 'i' (uniform int)
0:34 'counter' (layout(binding=0 ) uniform atomic_uint)
0:? Linker Objects
0:? 'counter' (layout(binding=0 ) uniform atomic_uint)
0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:? 'i' (uniform int)
0:? 'acin' (smooth in atomic_uint)
0:? 'acg' (atomic_uint)

View File

@@ -17,15 +17,15 @@ ERROR: 0:47: 'stream' : there is no such layout identifier for this stage taking
ERROR: 0:50: 'stream' : there is no such layout identifier for this stage taking an assigned value
ERROR: 0:55: 'stream' : there is no such layout identifier for this stage taking an assigned value
ERROR: 0:80: 's17' : redefinition
ERROR: 0:85: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:85: 'offset' : cannot specify on a variable declaration
ERROR: 0:89: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:85: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:87: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
WARNING: 0:89: 'layout' : useless application of layout qualifier
ERROR: 0:91: 'bar' : redefinition
ERROR: 0:92: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:92: 'bar' : redefinition
ERROR: 0:94: 'uniform buffer-member offset' : not supported for this version or the enabled extensions
ERROR: 0:92: 'offset' : a binding is required
ERROR: 0:94: 'a2' : redefinition
ERROR: 0:95: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:96: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:97: 'binding' : cannot be greater-than-or-equal to gl_MaxAtomicCounterBindings
ERROR: 0:106: '' : vertex input cannot be further qualified
ERROR: 0:106: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor
ERROR: 0:112: 'ColorIvn' : identifier not previously declared
@@ -291,6 +291,7 @@ ERROR: node is still EOpNull!
0:? 's17' (layout(binding=3 ) uniform sampler2D)
0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
@@ -567,6 +568,7 @@ ERROR: node is still EOpNull!
0:? 's17' (layout(binding=3 ) uniform sampler2D)
0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
0:? 'd2' (layout(binding=2 ) uniform atomic_uint)