diff --git a/Test/baseResults/400.tesc.out b/Test/baseResults/400.tesc.out index 3e10c21f..8dab6f6c 100644 --- a/Test/baseResults/400.tesc.out +++ b/Test/baseResults/400.tesc.out @@ -1,5 +1,5 @@ 400.tesc -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) @@ -7,9 +7,15 @@ ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader ERROR: 0:39: 'vertices' : can only apply to 'out' ERROR: 0:40: 'vertices' : cannot change previously set layout value ERROR: 0:44: '[' : array index out of range '4' -ERROR: 7 compilation errors. No code generated. +ERROR: 0:47: 'in' : type must be an array: ina +ERROR: 0:49: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized +ERROR: 0:56: 'location' : overlapping use of location 4 +ERROR: 0:60: 'location' : overlapping use of location 4 +ERROR: 11 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! 0:13 Function Definition: main( (void) @@ -24,9 +30,9 @@ ERROR: node is still EOpNull! 0:23 Sequence 0:23 move second child to first child (4-component vector of float) 0:23 'p' (4-component vector of float) -0:23 gl_Position: direct index for structure (4-component vector of float) -0:23 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:23 gl_Position: direct index for structure (in 4-component vector of float) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:23 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -34,9 +40,9 @@ ERROR: node is still EOpNull! 0:24 Sequence 0:24 move second child to first child (float) 0:24 'ps' (float) -0:24 gl_PointSize: direct index for structure (float) -0:24 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:24 gl_PointSize: direct index for structure (in float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:24 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -45,9 +51,9 @@ ERROR: node is still EOpNull! 0:25 move second child to first child (float) 0:25 'cd' (float) 0:25 direct index (float) -0:25 gl_ClipDistance: direct index for structure (unsized array of float) -0:25 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float) +0:25 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:25 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -67,18 +73,18 @@ ERROR: node is still EOpNull! 0:29 'iid' (int) 0:29 'gl_InvocationID' (in int) 0:31 move second child to first child (4-component vector of float) -0:31 gl_Position: direct index for structure (4-component vector of float) -0:31 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:31 gl_Position: direct index for structure (out 4-component vector of float) +0:31 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:31 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:31 Constant: 0:31 1 (const int) 0:31 Constant: 0:31 0 (const int) 0:31 'p' (4-component vector of float) 0:32 move second child to first child (float) -0:32 gl_PointSize: direct index for structure (float) -0:32 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:32 gl_PointSize: direct index for structure (out float) +0:32 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:32 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -86,9 +92,9 @@ ERROR: node is still EOpNull! 0:32 'ps' (float) 0:33 move second child to first child (float) 0:33 direct index (float) -0:33 gl_ClipDistance: direct index for structure (unsized array of float) -0:33 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float) +0:33 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:33 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -113,22 +119,158 @@ ERROR: node is still EOpNull! 0:42 Function Definition: foo( (void) 0:42 Function Parameters: 0:44 Sequence -0:44 gl_PointSize: direct index for structure (float) -0:44 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:44 'gl_out' (out 4-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:44 gl_PointSize: direct index for structure (out float) +0:44 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:44 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:44 Constant: 0:44 4 (const int) 0:44 Constant: 0:44 1 (const int) 0:? Linker Objects +0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:? 'outa' (4-element array of int) 0:? 'patchIn' (patch in 4-component vector of float) 0:? 'patchOut' (patch out 4-component vector of float) -0:? 'gl_out' (out 4-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:? 'ina' (in 2-component vector of float) +0:? 'inb' (in 32-element array of 2-component vector of float) +0:? 'inc' (in 32-element array of 2-component vector of float) +0:? 'ind' (in 32-element array of 2-component vector of float) +0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float) +0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float) +0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) Linked tessellation control stage: +Shader version: 400 +Requested GL_ARB_separate_shader_objects vertices = 4 +ERROR: node is still EOpNull! +0:13 Function Definition: main( (void) +0:13 Function Parameters: +0:15 Sequence +0:15 Barrier (void) +0:17 Sequence +0:17 move second child to first child (int) +0:17 'a' (int) +0:17 Constant: +0:17 5392 (const int) +0:23 Sequence +0:23 move second child to first child (4-component vector of float) +0:23 'p' (4-component vector of float) +0:23 gl_Position: direct index for structure (in 4-component vector of float) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:23 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 0 (const int) +0:24 Sequence +0:24 move second child to first child (float) +0:24 'ps' (float) +0:24 gl_PointSize: direct index for structure (in float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:24 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 1 (const int) +0:25 Sequence +0:25 move second child to first child (float) +0:25 'cd' (float) +0:25 direct index (float) +0:25 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:25 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:25 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:25 Constant: +0:25 1 (const int) +0:25 Constant: +0:25 2 (const int) +0:25 Constant: +0:25 2 (const int) +0:27 Sequence +0:27 move second child to first child (int) +0:27 'pvi' (int) +0:27 'gl_PatchVerticesIn' (in int) +0:28 Sequence +0:28 move second child to first child (int) +0:28 'pid' (int) +0:28 'gl_PrimitiveID' (in int) +0:29 Sequence +0:29 move second child to first child (int) +0:29 'iid' (int) +0:29 'gl_InvocationID' (in int) +0:31 move second child to first child (4-component vector of float) +0:31 gl_Position: direct index for structure (out 4-component vector of float) +0:31 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:31 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:31 Constant: +0:31 1 (const int) +0:31 Constant: +0:31 0 (const int) +0:31 'p' (4-component vector of float) +0:32 move second child to first child (float) +0:32 gl_PointSize: direct index for structure (out float) +0:32 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:32 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:32 Constant: +0:32 1 (const int) +0:32 Constant: +0:32 1 (const int) +0:32 'ps' (float) +0:33 move second child to first child (float) +0:33 direct index (float) +0:33 gl_ClipDistance: direct index for structure (out 1-element array of float) +0:33 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:33 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:33 Constant: +0:33 1 (const int) +0:33 Constant: +0:33 2 (const int) +0:33 Constant: +0:33 1 (const int) +0:33 'cd' (float) +0:35 move second child to first child (float) +0:35 direct index (patch float) +0:35 'gl_TessLevelOuter' (patch out 4-element array of float) +0:35 Constant: +0:35 3 (const int) +0:35 Constant: +0:35 3.200000 +0:36 move second child to first child (float) +0:36 direct index (patch float) +0:36 'gl_TessLevelInner' (patch out 2-element array of float) +0:36 Constant: +0:36 1 (const int) +0:36 Constant: +0:36 1.300000 +0:42 Function Definition: foo( (void) +0:42 Function Parameters: +0:44 Sequence +0:44 gl_PointSize: direct index for structure (out float) +0:44 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:44 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:44 Constant: +0:44 4 (const int) +0:44 Constant: +0:44 1 (const int) +0:? Linker Objects +0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:? 'outa' (4-element array of int) +0:? 'patchIn' (patch in 4-component vector of float) +0:? 'patchOut' (patch out 4-component vector of float) +0:? 'ina' (in 2-component vector of float) +0:? 'inb' (in 32-element array of 2-component vector of float) +0:? 'inc' (in 32-element array of 2-component vector of float) +0:? 'ind' (in 32-element array of 2-component vector of float) +0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float) +0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float) +0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) diff --git a/Test/baseResults/400.tese.out b/Test/baseResults/400.tese.out index 121f32f9..6cad8dd9 100644 --- a/Test/baseResults/400.tese.out +++ b/Test/baseResults/400.tese.out @@ -1,5 +1,5 @@ 400.tese -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value ERROR: 0:5: 'triangles' : cannot change previously set input primitive ERROR: 0:6: 'isolines' : cannot change previously set input primitive @@ -12,7 +12,7 @@ ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample) -ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as unsized +ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use ERROR: 0:64: 'quads' : cannot apply to 'out' ERROR: 0:64: 'cw' : can only apply to 'in' @@ -23,9 +23,17 @@ ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in' ERROR: 0:69: 'equal_spacing' : can only apply to 'in' ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in' ERROR: 0:71: 'point_mode' : can only apply to 'in' -ERROR: 23 compilation errors. No code generated. +ERROR: 0:73: 'in' : type must be an array: ina +ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized +ERROR: 0:78: 'in' : type must be an array: bla +ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized +ERROR: 0:96: 'location' : overlapping use of location 24 +ERROR: 0:99: 'location' : overlapping use of location 24 +ERROR: 29 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw @@ -44,9 +52,9 @@ ERROR: node is still EOpNull! 0:32 Sequence 0:32 move second child to first child (4-component vector of float) 0:32 'p' (4-component vector of float) -0:32 gl_Position: direct index for structure (4-component vector of float) -0:32 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:32 gl_Position: direct index for structure (in 4-component vector of float) +0:32 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:32 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -54,9 +62,9 @@ ERROR: node is still EOpNull! 0:33 Sequence 0:33 move second child to first child (float) 0:33 'ps' (float) -0:33 gl_PointSize: direct index for structure (float) -0:33 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:33 gl_PointSize: direct index for structure (in float) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:33 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -65,9 +73,9 @@ ERROR: node is still EOpNull! 0:34 move second child to first child (float) 0:34 'cd' (float) 0:34 direct index (float) -0:34 gl_ClipDistance: direct index for structure (unsized array of float) -0:34 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float) +0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:34 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -102,20 +110,20 @@ ERROR: node is still EOpNull! 0:40 1 (const int) 0:42 move second child to first child (4-component vector of float) 0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:42 '__anon__1' (out block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:42 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:42 Constant: 0:42 0 (const uint) 0:42 'p' (4-component vector of float) 0:43 move second child to first child (float) 0:43 gl_PointSize: direct index for structure (gl_PointSize float) -0:43 '__anon__1' (out block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:43 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:43 Constant: 0:43 1 (const uint) 0:43 'ps' (float) 0:44 move second child to first child (float) 0:44 direct index (float) -0:44 gl_ClipDistance: direct index for structure (unsized array of float) -0:44 '__anon__1' (out block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float) +0:44 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: @@ -124,18 +132,147 @@ ERROR: node is still EOpNull! 0:? Linker Objects 0:? 'patchIn' (patch in 4-component vector of float) 0:? 'patchOut' (patch out 4-component vector of float) +0:? 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:? 'badp1' (smooth patch in 4-component vector of float) 0:? 'badp2' (flat patch in 4-component vector of float) 0:? 'badp3' (noperspective patch in 4-component vector of float) 0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{gl_ClipDistance}) +0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_ClipDistance}) +0:? 'ina' (in 2-component vector of float) +0:? 'inb' (in 32-element array of 2-component vector of float) +0:? 'inc' (in 32-element array of 2-component vector of float) +0:? 'ind' (in 32-element array of 2-component vector of float) +0:? 'bla' (in block{in int f}) +0:? 'blb' (in 32-element array of block{in int f}) +0:? 'blc' (in 32-element array of block{in int f}) +0:? 'bld' (in 32-element array of block{in int f}) +0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float) +0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) Linked tessellation evaluation stage: +Shader version: 400 +Requested GL_ARB_separate_shader_objects input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw using point mode +ERROR: node is still EOpNull! +0:20 Function Definition: main( (void) +0:20 Function Parameters: +0:22 Sequence +0:22 Constant: +0:22 0.000000 +0:24 Sequence +0:24 move second child to first child (int) +0:24 'a' (int) +0:24 Constant: +0:24 1512 (const int) +0:32 Sequence +0:32 move second child to first child (4-component vector of float) +0:32 'p' (4-component vector of float) +0:32 gl_Position: direct index for structure (in 4-component vector of float) +0:32 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:32 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:32 Constant: +0:32 1 (const int) +0:32 Constant: +0:32 0 (const int) +0:33 Sequence +0:33 move second child to first child (float) +0:33 'ps' (float) +0:33 gl_PointSize: direct index for structure (in float) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:33 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:33 Constant: +0:33 1 (const int) +0:33 Constant: +0:33 1 (const int) +0:34 Sequence +0:34 move second child to first child (float) +0:34 'cd' (float) +0:34 direct index (float) +0:34 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:34 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:34 Constant: +0:34 1 (const int) +0:34 Constant: +0:34 2 (const int) +0:34 Constant: +0:34 2 (const int) +0:36 Sequence +0:36 move second child to first child (int) +0:36 'pvi' (int) +0:36 'gl_PatchVerticesIn' (in int) +0:37 Sequence +0:37 move second child to first child (int) +0:37 'pid' (int) +0:37 'gl_PrimitiveID' (in int) +0:38 Sequence +0:38 move second child to first child (3-component vector of float) +0:38 'tc' (3-component vector of float) +0:38 'gl_TessCoord' (in 3-component vector of float) +0:39 Sequence +0:39 move second child to first child (float) +0:39 'tlo' (float) +0:39 direct index (patch float) +0:39 'gl_TessLevelOuter' (patch in 4-element array of float) +0:39 Constant: +0:39 3 (const int) +0:40 Sequence +0:40 move second child to first child (float) +0:40 'tli' (float) +0:40 direct index (patch float) +0:40 'gl_TessLevelInner' (patch in 2-element array of float) +0:40 Constant: +0:40 1 (const int) +0:42 move second child to first child (4-component vector of float) +0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float) +0:42 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:42 Constant: +0:42 0 (const uint) +0:42 'p' (4-component vector of float) +0:43 move second child to first child (float) +0:43 gl_PointSize: direct index for structure (gl_PointSize float) +0:43 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:43 Constant: +0:43 1 (const uint) +0:43 'ps' (float) +0:44 move second child to first child (float) +0:44 direct index (float) +0:44 gl_ClipDistance: direct index for structure (out 3-element array of float) +0:44 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance}) +0:44 Constant: +0:44 2 (const uint) +0:44 Constant: +0:44 2 (const int) +0:44 'cd' (float) +0:? Linker Objects +0:? 'patchIn' (patch in 4-component vector of float) +0:? 'patchOut' (patch out 4-component vector of float) +0:? 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance}) +0:? 'badp1' (smooth patch in 4-component vector of float) +0:? 'badp2' (flat patch in 4-component vector of float) +0:? 'badp3' (noperspective patch in 4-component vector of float) +0:? 'badp4' (patch sample in 3-component vector of float) +0:? 'gl_in' (in 32-element array of block{in 1-element array of float gl_ClipDistance}) +0:? 'ina' (in 2-component vector of float) +0:? 'inb' (in 32-element array of 2-component vector of float) +0:? 'inc' (in 32-element array of 2-component vector of float) +0:? 'ind' (in 32-element array of 2-component vector of float) +0:? 'bla' (in block{in int f}) +0:? 'blb' (in 32-element array of block{in int f}) +0:? 'blc' (in 32-element array of block{in int f}) +0:? 'bld' (in 32-element array of block{in int f}) +0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float) +0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) diff --git a/Test/baseResults/410.tesc.out b/Test/baseResults/410.tesc.out index 832ee90c..96133c92 100644 --- a/Test/baseResults/410.tesc.out +++ b/Test/baseResults/410.tesc.out @@ -1,14 +1,16 @@ 410.tesc -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier ERROR: 1 compilation errors. No code generated. +Shader version: 400 vertices = 0 ERROR: node is still EOpNull! 0:8 Function Definition: main( (void) 0:8 Function Parameters: 0:? Linker Objects +0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:? 'outa' (1-element array of int) 0:? 'patchOut' (patch out 4-component vector of float) @@ -17,5 +19,13 @@ Linked tessellation control stage: ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...) +Shader version: 400 vertices = 0 +ERROR: node is still EOpNull! +0:8 Function Definition: main( (void) +0:8 Function Parameters: +0:? Linker Objects +0:? 'gl_out' (out 1-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) +0:? 'outa' (1-element array of int) +0:? 'patchOut' (patch out 4-component vector of float) diff --git a/Test/baseResults/420.tesc.out b/Test/baseResults/420.tesc.out index 12794d18..2ceeb407 100644 --- a/Test/baseResults/420.tesc.out +++ b/Test/baseResults/420.tesc.out @@ -1,14 +1,16 @@ 420.tesc -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb ERROR: 0:26: 'gl_PointSize' : no such field in structure -ERROR: 0:26: 'assign' : cannot convert from 'float' to 'block{gl_Position}' +ERROR: 0:26: 'assign' : cannot convert from 'float' to 'block{out 4-component vector of float gl_Position}' ERROR: 0:29: 'out' : type must be an array: outf ERROR: 6 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! 0:15 Function Definition: main( (void) @@ -17,9 +19,9 @@ ERROR: node is still EOpNull! 0:17 Sequence 0:17 move second child to first child (4-component vector of float) 0:17 'p' (4-component vector of float) -0:17 gl_Position: direct index for structure (4-component vector of float) -0:17 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:17 gl_Position: direct index for structure (in 4-component vector of float) +0:17 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:17 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: @@ -27,9 +29,9 @@ ERROR: node is still EOpNull! 0:18 Sequence 0:18 move second child to first child (float) 0:18 'ps' (float) -0:18 gl_PointSize: direct index for structure (float) -0:18 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:18 gl_PointSize: direct index for structure (in float) +0:18 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:18 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: @@ -38,9 +40,9 @@ ERROR: node is still EOpNull! 0:19 move second child to first child (float) 0:19 'cd' (float) 0:19 direct index (float) -0:19 gl_ClipDistance: direct index for structure (unsized array of float) -0:19 direct index (block{gl_Position,gl_PointSize,gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{gl_Position,gl_PointSize,gl_ClipDistance}) +0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float) +0:19 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:19 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -60,20 +62,20 @@ ERROR: node is still EOpNull! 0:23 'iid' (int) 0:23 'gl_InvocationID' (in int) 0:25 move second child to first child (4-component vector of float) -0:25 gl_Position: direct index for structure (4-component vector of float) -0:25 direct index (block{gl_Position}) -0:25 'gl_out' (out 3-element array of block{gl_Position}) +0:25 gl_Position: direct index for structure (out 4-component vector of float) +0:25 direct index (block{out 4-component vector of float gl_Position}) +0:25 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: 0:25 0 (const int) 0:25 'p' (4-component vector of float) -0:26 direct index (block{gl_Position}) -0:26 'gl_out' (out 3-element array of block{gl_Position}) +0:26 direct index (block{out 4-component vector of float gl_Position}) +0:26 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:26 Constant: 0:26 1 (const int) 0:? Linker Objects -0:? 'gl_out' (out 3-element array of block{gl_Position}) +0:? 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:? 'a' (out 3-element array of int) 0:? 'outb' (out 5-element array of int) 0:? 'outc' (out 4-element array of int) @@ -83,5 +85,75 @@ ERROR: node is still EOpNull! Linked tessellation control stage: +Shader version: 400 +Requested GL_ARB_separate_shader_objects vertices = 4 +ERROR: node is still EOpNull! +0:15 Function Definition: main( (void) +0:15 Function Parameters: +0:17 Sequence +0:17 Sequence +0:17 move second child to first child (4-component vector of float) +0:17 'p' (4-component vector of float) +0:17 gl_Position: direct index for structure (in 4-component vector of float) +0:17 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:17 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:17 Constant: +0:17 1 (const int) +0:17 Constant: +0:17 0 (const int) +0:18 Sequence +0:18 move second child to first child (float) +0:18 'ps' (float) +0:18 gl_PointSize: direct index for structure (in float) +0:18 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:18 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:18 Constant: +0:18 1 (const int) +0:18 Constant: +0:18 1 (const int) +0:19 Sequence +0:19 move second child to first child (float) +0:19 'cd' (float) +0:19 direct index (float) +0:19 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:19 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:19 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) +0:19 Constant: +0:19 1 (const int) +0:19 Constant: +0:19 2 (const int) +0:19 Constant: +0:19 2 (const int) +0:21 Sequence +0:21 move second child to first child (int) +0:21 'pvi' (int) +0:21 'gl_PatchVerticesIn' (in int) +0:22 Sequence +0:22 move second child to first child (int) +0:22 'pid' (int) +0:22 'gl_PrimitiveID' (in int) +0:23 Sequence +0:23 move second child to first child (int) +0:23 'iid' (int) +0:23 'gl_InvocationID' (in int) +0:25 move second child to first child (4-component vector of float) +0:25 gl_Position: direct index for structure (out 4-component vector of float) +0:25 direct index (block{out 4-component vector of float gl_Position}) +0:25 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) +0:25 Constant: +0:25 1 (const int) +0:25 Constant: +0:25 0 (const int) +0:25 'p' (4-component vector of float) +0:26 direct index (block{out 4-component vector of float gl_Position}) +0:26 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) +0:26 Constant: +0:26 1 (const int) +0:? Linker Objects +0:? 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) +0:? 'a' (out 3-element array of int) +0:? 'outb' (out 5-element array of int) +0:? 'outc' (out 4-element array of int) +0:? 'outf' (out float) diff --git a/Test/baseResults/420.tese.out b/Test/baseResults/420.tese.out index 71ddd937..94bdee7b 100644 --- a/Test/baseResults/420.tese.out +++ b/Test/baseResults/420.tese.out @@ -1,5 +1,5 @@ 420.tese -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:7: '=' : cannot convert from '3-element array of float' to '2-element array of float' ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): 2-component vector of float ERROR: 0:9: 'initializer list' : wrong number of matrix columns: 3X3 matrix of float @@ -11,11 +11,12 @@ ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments ERROR: 0:29: '=' : cannot convert from 'const float' to '2-element array of 4-component vector of float' ERROR: 0:30: 'initializer list' : wrong number of matrix columns: 4X2 matrix of float -ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'float' to 'structure{s,t}' +ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'float' to 'structure{float s, float t}' ERROR: 0:58: 'initializer list' : wrong number of structure members ERROR: 13 compilation errors. No code generated. +Shader version: 420 input primitive = none vertex spacing = none triangle order = none @@ -29,14 +30,14 @@ ERROR: node is still EOpNull! 0:4 0.000000 0:4 1.000000 0:15 Sequence -0:15 move second child to first child (structure{a,b}) -0:15 'e' (structure{a,b}) +0:15 move second child to first child (structure{float a, int b}) +0:15 'e' (structure{float a, int b}) 0:15 Constant: 0:15 1.200000 0:15 2 (const int) 0:20 Sequence -0:20 move second child to first child (structure{a,b}) -0:20 'e2' (structure{a,b}) +0:20 move second child to first child (structure{float a, int b}) +0:20 'e2' (structure{float a, int b}) 0:20 Constant: 0:20 1.000000 0:20 3 (const int) @@ -87,7 +88,7 @@ ERROR: node is still EOpNull! 0:74 0.000000 0:74 6.000000 0:74 0.000000 -0:74 'curlybad1' (structure{uv2,s}) +0:74 'curlybad1' (structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) 0:74 true case is null 0:76 Test condition and select (void) 0:76 Condition @@ -110,16 +111,16 @@ ERROR: node is still EOpNull! 0:? 'b2' (2-component vector of float) 0:? 'c2' (3X3 matrix of float) 0:? 'd' (2X2 matrix of float) -0:? 'e' (structure{a,b}) -0:? 'e2' (structure{a,b}) -0:? 'e3' (structure{a,b}) +0:? 'e' (structure{float a, int b}) +0:? 'e2' (structure{float a, int b}) +0:? 'e3' (structure{float a, int b}) 0:? 'a3' (int) 0:? 'b3' (2-element array of 4-component vector of float) 0:? 'b4' (2-element array of 4-component vector of float) 0:? 'c3' (4X2 matrix of float) -0:? 'd2' (unsized array of structure{s,t}) +0:? 'd2' (implicitly-sized array of structure{float s, float t}) 0:? 'b5' (5-element array of float) -0:? 'constructed' (const structure{uv2,s}) +0:? 'constructed' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -136,8 +137,8 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'curlybad1' (structure{uv2,s}) -0:? 'curlyInit' (const structure{uv2,s}) +0:? 'curlybad1' (structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) +0:? 'curlyInit' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -165,7 +166,148 @@ Linked tessellation evaluation stage: ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive +Shader version: 420 input primitive = none vertex spacing = equal_spacing triangle order = ccw +ERROR: node is still EOpNull! +0:4 Sequence +0:4 move second child to first child (2X2 matrix of float) +0:4 'b' (2X2 matrix of float) +0:4 Constant: +0:4 1.000000 +0:4 0.000000 +0:4 0.000000 +0:4 1.000000 +0:15 Sequence +0:15 move second child to first child (structure{float a, int b}) +0:15 'e' (structure{float a, int b}) +0:15 Constant: +0:15 1.200000 +0:15 2 (const int) +0:20 Sequence +0:20 move second child to first child (structure{float a, int b}) +0:20 'e2' (structure{float a, int b}) +0:20 Constant: +0:20 1.000000 +0:20 3 (const int) +0:42 Sequence +0:42 move second child to first child (5-element array of float) +0:42 'b5' (5-element array of float) +0:42 Constant: +0:42 3.400000 +0:42 4.200000 +0:42 5.000000 +0:42 5.200000 +0:42 1.100000 +0:67 Sequence +0:67 move second child to first child (3-component vector of float) +0:67 'av3' (3-component vector of float) +0:67 Construct vec3 (3-component vector of float) +0:67 'vc1' (float) +0:67 'vc2' (float) +0:67 'vc3' (float) +0:68 Sequence +0:68 move second child to first child (3-component vector of float) +0:68 'bv3' (3-component vector of float) +0:68 Construct vec3 (3-component vector of float) +0:68 'vc1' (float) +0:68 'vc2' (float) +0:68 'vc3' (float) +0:70 Function Definition: main( (void) +0:70 Function Parameters: +0:72 Sequence +0:72 MemoryBarrier (void) +0:74 Test condition and select (void) +0:74 Condition +0:74 Compare Equal (bool) +0:74 Constant: +0:74 1 (const uint) +0:74 2 (const uint) +0:74 3.000000 +0:74 4.000000 +0:74 0.000000 +0:74 0.000000 +0:74 0.000000 +0:74 4.000000 +0:74 0.000000 +0:74 5.000000 +0:74 6.000000 +0:74 0.000000 +0:74 0.000000 +0:74 0.000000 +0:74 6.000000 +0:74 0.000000 +0:74 'curlybad1' (structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) +0:74 true case is null +0:76 Test condition and select (void) +0:76 Condition +0:76 Constant: +0:76 true (const bool) +0:76 true case is null +0:? Linker Objects +0:? 'a' (const 2X2 matrix of float) +0:? 1.000000 +0:? 0.000000 +0:? 0.000000 +0:? 1.000000 +0:? 'b' (2X2 matrix of float) +0:? 'c' (const 2X2 matrix of float) +0:? 1.000000 +0:? 0.000000 +0:? 0.000000 +0:? 1.000000 +0:? 'a2' (2-element array of float) +0:? 'b2' (2-component vector of float) +0:? 'c2' (3X3 matrix of float) +0:? 'd' (2X2 matrix of float) +0:? 'e' (structure{float a, int b}) +0:? 'e2' (structure{float a, int b}) +0:? 'e3' (structure{float a, int b}) +0:? 'a3' (int) +0:? 'b3' (2-element array of 4-component vector of float) +0:? 'b4' (2-element array of 4-component vector of float) +0:? 'c3' (4X2 matrix of float) +0:? 'd2' (1-element array of structure{float s, float t}) +0:? 'b5' (5-element array of float) +0:? 'constructed' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3.000000 +0:? 4.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 4.000000 +0:? 0.000000 +0:? 5.000000 +0:? 6.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 6.000000 +0:? 0.000000 +0:? 'curlybad1' (structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) +0:? 'curlyInit' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) +0:? 1 (const uint) +0:? 2 (const uint) +0:? 3.000000 +0:? 4.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 4.000000 +0:? 0.000000 +0:? 5.000000 +0:? 6.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 6.000000 +0:? 0.000000 +0:? 'vc1' (float) +0:? 'vc2' (float) +0:? 'vc3' (float) +0:? 'av3' (3-component vector of float) +0:? 'bv3' (3-component vector of float)