glslang front-end: Full turn-on of AEP tessellation semantics.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31538 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2015-06-19 23:03:32 +00:00
parent 105704eff2
commit 6e76bdc88d
18 changed files with 1000 additions and 97 deletions

121
Test/310.tesc Normal file
View File

@@ -0,0 +1,121 @@
#version 310 es
#extension GL_OES_tessellation_shader : enable
layout(vertices = 4) out;
int outa[gl_out.length()];
layout(quads) in; // ERROR
layout(ccw) out; // ERROR
layout(fractional_even_spacing) in; // ERROR
patch in vec4 patchIn; // ERROR
patch out vec4 patchOut;
void main()
{
barrier();
int a = gl_MaxTessControlInputComponents +
gl_MaxTessControlOutputComponents +
gl_MaxTessControlTextureImageUnits +
gl_MaxTessControlUniformComponents +
gl_MaxTessControlTotalOutputComponents;
vec4 p = gl_in[1].gl_Position;
float ps = gl_in[1].gl_PointSize;
float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES
int pvi = gl_PatchVerticesIn;
int pid = gl_PrimitiveID;
int iid = gl_InvocationID;
gl_out[1].gl_Position = p;
gl_out[1].gl_PointSize = ps;
gl_out[1].gl_ClipDistance[1] = cd; // ERROR, not in ES
gl_TessLevelOuter[3] = 3.2;
gl_TessLevelInner[1] = 1.3;
if (a > 10)
barrier(); // ERROR
else
barrier(); // ERROR
barrier();
do {
barrier(); // ERROR
} while (a > 10);
switch (a) {
default:
barrier(); // ERROR
break;
}
a < 12 ? a : (barrier(), a); // ERROR
{
barrier();
}
return;
barrier(); // ERROR
}
layout(vertices = 4) in; // ERROR, not on in
layout(vertices = 5) out; // ERROR, changing #
void foo()
{
gl_out[4].gl_Position; // ERROR, out of range
barrier(); // ERROR, not in main
}
in vec2 ina; // ERROR, not array
in vec2 inb[];
in vec2 inc[18]; // ERROR, wrong size
in vec2 ind[gl_MaxPatchVertices];
patch out float implA[]; // ERROR, not sized
#extension GL_ARB_separate_shader_objects : enable
layout(location = 3) in vec4 ivla[];
layout(location = 4) in vec4 ivlb[];
layout(location = 4) in vec4 ivlc[]; // ERROR, overlapping
layout(location = 3) out vec4 ovla[];
layout(location = 4) out vec4 ovlb[];
layout(location = 4) out vec4 ovlc[]; // ERROR, overlapping
void foop()
{
precise float d; // ERROR without gpu_shader5
d = fma(d, d, d); // ERROR without gpu_shader5
}
patch out pinbn {
int a;
} pinbi;
centroid out vec3 myColor2[];
centroid in vec3 centr[];
sample out vec4 perSampleColor[]; // ERROR without sample extensions
layout(vertices = 4) out float badlay[]; // ERROR, not on a variable
out float misSized[5]; // ERROR, size doesn't match
out float okaySize[4];
// for testing with gpu_shader5
//precise vec3 pv3;
//
//void foop()
//{
// precise double d;
//
// pv3 *= pv3;
// pv3 = fma(pv3, pv3, pv3);
// d = fma(d, d, d);
//}
//

113
Test/310.tese Normal file
View File

@@ -0,0 +1,113 @@
#version 310 es
#extension GL_EXT_tessellation_shader : enable
#extension GL_OES_tessellation_shader : enable
#extension GL_EXT_tessellation_shader : disable
layout(vertices = 4) out; // ERROR
layout(quads, cw) in;
layout(triangles) in; // ERROR
layout(isolines) in; // ERROR
layout(ccw) in; // ERROR
layout(cw) in;
layout(fractional_odd_spacing) in;
layout(equal_spacing) in; // ERROR
layout(fractional_even_spacing) in; // ERROR
layout(point_mode) in;
patch in vec4 patchIn;
patch out vec4 patchOut; // ERROR
void main()
{
barrier(); // ERROR
int a = gl_MaxTessEvaluationInputComponents +
gl_MaxTessEvaluationOutputComponents +
gl_MaxTessEvaluationTextureImageUnits +
gl_MaxTessEvaluationUniformComponents +
gl_MaxTessPatchComponents +
gl_MaxPatchVertices +
gl_MaxTessGenLevel;
vec4 p = gl_in[1].gl_Position;
float ps = gl_in[1].gl_PointSize;
float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES
int pvi = gl_PatchVerticesIn;
int pid = gl_PrimitiveID;
vec3 tc = gl_TessCoord;
float tlo = gl_TessLevelOuter[3];
float tli = gl_TessLevelInner[1];
gl_Position = p;
gl_PointSize = ps;
gl_ClipDistance[2] = cd; // ERROR, not in ES
}
smooth patch in vec4 badp1; // ERROR
flat patch in vec4 badp2; // ERROR
noperspective patch in vec4 badp3; // ERROR
patch sample in vec3 badp4; // ERROR
#extension GL_ARB_separate_shader_objects : enable
in gl_PerVertex // ERROR, no size
{
vec4 gl_Position;
} gl_in[];
in gl_PerVertex // ERROR, second redeclaration of gl_in
{
vec4 gl_Position;
} gl_in[];
layout(quads, cw) out; // ERROR
layout(triangles) out; // ERROR
layout(isolines) out; // ERROR
layout(cw) out; // ERROR
layout(fractional_odd_spacing) out; // ERROR
layout(equal_spacing) out; // ERROR
layout(fractional_even_spacing) out; // ERROR
layout(point_mode) out; // ERROR
in vec2 ina; // ERROR, not array
in vec2 inb[];
in vec2 inc[18]; // ERROR, wrong size
in vec2 ind[gl_MaxPatchVertices];
in testbla { // ERROR, not array
int f;
} bla;
in testblb {
int f;
} blb[];
in testblc { // ERROR wrong size
int f;
} blc[18];
in testbld {
int f;
} bld[gl_MaxPatchVertices];
layout(location = 23) in vec4 ivla[];
layout(location = 24) in vec4 ivlb[];
layout(location = 24) in vec4 ivlc[]; // ERROR, overlap
layout(location = 23) out vec4 ovla[2];
layout(location = 24) out vec4 ovlb[2]; // ERROR, overlap
in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
patch in pinbn {
int a;
} pinbi;
centroid out vec3 myColor2;
centroid in vec3 centr[];
sample out vec4 perSampleColor; // ERROR without sample extensions

View File

@@ -80,11 +80,11 @@ in vec2 ind[gl_MaxPatchVertices];
layout(location = 3) in vec4 ivla[];
layout(location = 4) in vec4 ivlb[];
layout(location = 4) in vec4 ivlc[]; // ERROR
layout(location = 4) in vec4 ivlc[]; // ERROR, overlapping
layout(location = 3) out vec4 ovla[];
layout(location = 4) out vec4 ovlb[];
layout(location = 4) out vec4 ovlc[]; // ERROR
layout(location = 4) out vec4 ovlc[]; // ERROR, overlapping
precise vec3 pv3;

View File

@@ -51,14 +51,14 @@ patch sample in vec3 badp4; // ERROR
#extension GL_ARB_separate_shader_objects : enable
in gl_PerVertex
in gl_PerVertex // ERROR, no size
{
float gl_ClipDistance[1];
} gl_in[]; // ERROR, no size
float gl_ClipDistance[1];
} gl_in[];
in gl_PerVertex
in gl_PerVertex // ERROR, second redeclaration of gl_in
{
float gl_ClipDistance[1];
float gl_ClipDistance[1];
} gl_in[];
layout(quads, cw) out; // ERROR
@@ -98,7 +98,7 @@ layout(location = 24) in vec4 ivlc[]; // ERROR
layout(location = 23) out vec4 ovla[2];
layout(location = 24) out vec4 ovlb[2]; // ERROR
in float gl_TessLevelOuter[4]; // ERROR
in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
patch in pinbn {
int a;

View File

@@ -41,7 +41,7 @@ ERROR: 0:120: 'fragment-shader array-of-struct input' : not supported with this
ERROR: 0:121: 'fragment-shader array-of-struct input' : not supported with this profile: es
ERROR: 0:123: 'fragment-shader struct input containing an array' : not supported with this profile: es
ERROR: 0:125: 'fragment-shader struct input containing structure' : not supported with this profile: es
ERROR: 0:133: 'out' : cannot declare an output block in a fragment shader
ERROR: 0:133: 'output block' : not supported in this stage: fragment
ERROR: 0:138: '' : cannot nest a structure definition inside a structure or block
ERROR: 0:146: 'location' : overlapping use of location 13
ERROR: 0:148: 'inbname2' : Cannot reuse block name within the same interface: in

View File

@@ -0,0 +1,388 @@
310.tesc
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:8: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
ERROR: 0:9: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
ERROR: 0:10: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
ERROR: 0:12: 'patch' : can only use on output in tessellation-control shader
ERROR: 0:27: 'gl_ClipDistance' : no such field in structure
ERROR: 0:27: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 0:35: 'gl_ClipDistance' : no such field in structure
ERROR: 0:35: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 0:35: 'assign' : l-value required (can't modify a const)
ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
ERROR: 0:43: '' : tessellation control barrier() cannot be placed within flow control
ERROR: 0:48: '' : tessellation control barrier() cannot be placed within flow control
ERROR: 0:53: '' : tessellation control barrier() cannot be placed within flow control
ERROR: 0:56: '' : tessellation control barrier() cannot be placed within flow control
ERROR: 0:63: '' : tessellation control barrier() cannot be placed after a return from main()
ERROR: 0:66: 'vertices' : can only apply to 'out'
ERROR: 0:67: 'vertices' : cannot change previously set layout value
ERROR: 0:71: '[' : array index out of range '4'
ERROR: 0:73: '' : tessellation control barrier() must be in main()
ERROR: 0:76: 'in' : type must be an array: ina
ERROR: 0:78: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
ERROR: 0:80: '' : array size required
ERROR: 0:86: 'location' : overlapping use of location 4
ERROR: 0:90: 'location' : overlapping use of location 4
ERROR: 0:94: 'precise' : Reserved word.
ERROR: 0:95: 'fma' : no matching overloaded function found
ERROR: 0:104: 'sample' : Reserved word.
ERROR: 0:106: 'vertices' : can only apply to a standalone qualifier
ERROR: 0:107: 'vertices' : inconsistent output number of vertices for array size of misSized
ERROR: 29 compilation errors. No code generated.
Shader version: 310
Requested GL_ARB_separate_shader_objects
Requested GL_OES_shader_io_blocks
Requested GL_OES_tessellation_shader
vertices = 4
ERROR: node is still EOpNull!
0:15 Function Definition: main( (global void)
0:15 Function Parameters:
0:17 Sequence
0:17 Barrier (global void)
0:19 Sequence
0:19 move second child to first child (temp highp int)
0:19 'a' (temp highp int)
0:19 Constant:
0:19 5392 (const int)
0:25 Sequence
0:25 move second child to first child (temp highp 4-component vector of float)
0:25 'p' (temp highp 4-component vector of float)
0:25 gl_Position: direct index for structure (in highp 4-component vector of float)
0:25 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:25 Constant:
0:25 1 (const int)
0:25 Constant:
0:25 0 (const int)
0:26 Sequence
0:26 move second child to first child (temp highp float)
0:26 'ps' (temp highp float)
0:26 gl_PointSize: direct index for structure (in highp float)
0:26 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:26 Constant:
0:26 1 (const int)
0:26 Constant:
0:26 1 (const int)
0:27 Sequence
0:27 move second child to first child (temp highp float)
0:27 'cd' (temp highp float)
0:27 Constant:
0:27 0.000000
0:29 Sequence
0:29 move second child to first child (temp highp int)
0:29 'pvi' (temp highp int)
0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
0:30 Sequence
0:30 move second child to first child (temp highp int)
0:30 'pid' (temp highp int)
0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
0:31 Sequence
0:31 move second child to first child (temp highp int)
0:31 'iid' (temp highp int)
0:31 'gl_InvocationID' (in highp int InvocationID)
0:33 move second child to first child (temp highp 4-component vector of float)
0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:33 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:33 Constant:
0:33 1 (const int)
0:33 Constant:
0:33 0 (const int)
0:33 'p' (temp highp 4-component vector of float)
0:34 move second child to first child (temp highp float)
0:34 gl_PointSize: direct index for structure (out highp float PointSize)
0:34 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:34 Constant:
0:34 1 (const int)
0:34 Constant:
0:34 1 (const int)
0:34 'ps' (temp highp float)
0:35 move second child to first child (temp highp float)
0:35 Constant:
0:35 0.000000
0:35 'cd' (temp highp float)
0:37 move second child to first child (temp highp float)
0:37 direct index (patch temp highp float TessLevelOuter)
0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
0:37 Constant:
0:37 3 (const int)
0:37 Constant:
0:37 3.200000
0:38 move second child to first child (temp highp float)
0:38 direct index (patch temp highp float TessLevelInner)
0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
0:38 Constant:
0:38 1 (const int)
0:38 Constant:
0:38 1.300000
0:40 Test condition and select (temp void)
0:40 Condition
0:40 Compare Greater Than (temp bool)
0:40 'a' (temp highp int)
0:40 Constant:
0:40 10 (const int)
0:40 true case
0:41 Barrier (global void)
0:40 false case
0:43 Barrier (global void)
0:45 Barrier (global void)
0:49 Loop with condition not tested first
0:49 Loop Condition
0:49 Compare Greater Than (temp bool)
0:49 'a' (temp highp int)
0:49 Constant:
0:49 10 (const int)
0:49 Loop Body
0:48 Sequence
0:48 Barrier (global void)
0:51 switch
0:51 condition
0:51 'a' (temp highp int)
0:51 body
0:51 Sequence
0:52 default:
0:? Sequence
0:53 Barrier (global void)
0:54 Branch: Break
0:56 Test condition and select (temp highp int)
0:56 Condition
0:56 Compare Less Than (temp bool)
0:56 'a' (temp highp int)
0:56 Constant:
0:56 12 (const int)
0:56 true case
0:56 'a' (temp highp int)
0:56 false case
0:56 Comma (temp highp int)
0:56 Barrier (global void)
0:56 'a' (temp highp int)
0:58 Sequence
0:58 Barrier (global void)
0:61 Branch: Return
0:63 Barrier (global void)
0:69 Function Definition: foo( (global void)
0:69 Function Parameters:
0:71 Sequence
0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 Constant:
0:71 4 (const int)
0:71 Constant:
0:71 0 (const int)
0:73 Barrier (global void)
0:92 Function Definition: foop( (global void)
0:92 Function Parameters:
0:? Sequence
0:95 move second child to first child (temp highp float)
0:95 'd' (temp highp float)
0:95 Constant:
0:95 0.000000
0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:? 'outa' (global 4-element array of highp int)
0:? 'patchIn' (patch in highp 4-component vector of float)
0:? 'patchOut' (patch out highp 4-component vector of float)
0:? 'ina' (in highp 2-component vector of float)
0:? 'inb' (in 32-element array of highp 2-component vector of float)
0:? 'inc' (in 32-element array of highp 2-component vector of float)
0:? 'ind' (in 32-element array of highp 2-component vector of float)
0:? 'implA' (patch out implicitly-sized array of highp float)
0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
0:? 'pinbi' (patch out block{out highp int a})
0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
0:? 'badlay' (out 4-element array of highp float)
0:? 'misSized' (out 5-element array of highp float)
0:? 'okaySize' (out 4-element array of highp float)
Linked tessellation control stage:
Shader version: 310
Requested GL_ARB_separate_shader_objects
Requested GL_OES_shader_io_blocks
Requested GL_OES_tessellation_shader
vertices = 4
ERROR: node is still EOpNull!
0:15 Function Definition: main( (global void)
0:15 Function Parameters:
0:17 Sequence
0:17 Barrier (global void)
0:19 Sequence
0:19 move second child to first child (temp highp int)
0:19 'a' (temp highp int)
0:19 Constant:
0:19 5392 (const int)
0:25 Sequence
0:25 move second child to first child (temp highp 4-component vector of float)
0:25 'p' (temp highp 4-component vector of float)
0:25 gl_Position: direct index for structure (in highp 4-component vector of float)
0:25 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:25 Constant:
0:25 1 (const int)
0:25 Constant:
0:25 0 (const int)
0:26 Sequence
0:26 move second child to first child (temp highp float)
0:26 'ps' (temp highp float)
0:26 gl_PointSize: direct index for structure (in highp float)
0:26 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:26 Constant:
0:26 1 (const int)
0:26 Constant:
0:26 1 (const int)
0:27 Sequence
0:27 move second child to first child (temp highp float)
0:27 'cd' (temp highp float)
0:27 Constant:
0:27 0.000000
0:29 Sequence
0:29 move second child to first child (temp highp int)
0:29 'pvi' (temp highp int)
0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
0:30 Sequence
0:30 move second child to first child (temp highp int)
0:30 'pid' (temp highp int)
0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
0:31 Sequence
0:31 move second child to first child (temp highp int)
0:31 'iid' (temp highp int)
0:31 'gl_InvocationID' (in highp int InvocationID)
0:33 move second child to first child (temp highp 4-component vector of float)
0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:33 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:33 Constant:
0:33 1 (const int)
0:33 Constant:
0:33 0 (const int)
0:33 'p' (temp highp 4-component vector of float)
0:34 move second child to first child (temp highp float)
0:34 gl_PointSize: direct index for structure (out highp float PointSize)
0:34 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:34 Constant:
0:34 1 (const int)
0:34 Constant:
0:34 1 (const int)
0:34 'ps' (temp highp float)
0:35 move second child to first child (temp highp float)
0:35 Constant:
0:35 0.000000
0:35 'cd' (temp highp float)
0:37 move second child to first child (temp highp float)
0:37 direct index (patch temp highp float TessLevelOuter)
0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
0:37 Constant:
0:37 3 (const int)
0:37 Constant:
0:37 3.200000
0:38 move second child to first child (temp highp float)
0:38 direct index (patch temp highp float TessLevelInner)
0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
0:38 Constant:
0:38 1 (const int)
0:38 Constant:
0:38 1.300000
0:40 Test condition and select (temp void)
0:40 Condition
0:40 Compare Greater Than (temp bool)
0:40 'a' (temp highp int)
0:40 Constant:
0:40 10 (const int)
0:40 true case
0:41 Barrier (global void)
0:40 false case
0:43 Barrier (global void)
0:45 Barrier (global void)
0:49 Loop with condition not tested first
0:49 Loop Condition
0:49 Compare Greater Than (temp bool)
0:49 'a' (temp highp int)
0:49 Constant:
0:49 10 (const int)
0:49 Loop Body
0:48 Sequence
0:48 Barrier (global void)
0:51 switch
0:51 condition
0:51 'a' (temp highp int)
0:51 body
0:51 Sequence
0:52 default:
0:? Sequence
0:53 Barrier (global void)
0:54 Branch: Break
0:56 Test condition and select (temp highp int)
0:56 Condition
0:56 Compare Less Than (temp bool)
0:56 'a' (temp highp int)
0:56 Constant:
0:56 12 (const int)
0:56 true case
0:56 'a' (temp highp int)
0:56 false case
0:56 Comma (temp highp int)
0:56 Barrier (global void)
0:56 'a' (temp highp int)
0:58 Sequence
0:58 Barrier (global void)
0:61 Branch: Return
0:63 Barrier (global void)
0:69 Function Definition: foo( (global void)
0:69 Function Parameters:
0:71 Sequence
0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 Constant:
0:71 4 (const int)
0:71 Constant:
0:71 0 (const int)
0:73 Barrier (global void)
0:92 Function Definition: foop( (global void)
0:92 Function Parameters:
0:? Sequence
0:95 move second child to first child (temp highp float)
0:95 'd' (temp highp float)
0:95 Constant:
0:95 0.000000
0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:? 'outa' (global 4-element array of highp int)
0:? 'patchIn' (patch in highp 4-component vector of float)
0:? 'patchOut' (patch out highp 4-component vector of float)
0:? 'ina' (in highp 2-component vector of float)
0:? 'inb' (in 32-element array of highp 2-component vector of float)
0:? 'inc' (in 32-element array of highp 2-component vector of float)
0:? 'ind' (in 32-element array of highp 2-component vector of float)
0:? 'implA' (patch out 1-element array of highp float)
0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
0:? 'pinbi' (patch out block{out highp int a})
0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
0:? 'badlay' (out 4-element array of highp float)
0:? 'misSized' (out 5-element array of highp float)
0:? 'okaySize' (out 4-element array of highp float)

View File

@@ -0,0 +1,276 @@
310.tese
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:7: 'vertices' : there is no such layout identifier for this stage taking an assigned value
ERROR: 0:9: 'triangles' : cannot change previously set input primitive
ERROR: 0:10: 'isolines' : cannot change previously set input primitive
ERROR: 0:12: 'ccw' : cannot change previously set vertex order
ERROR: 0:16: 'equal_spacing' : cannot change previously set vertex spacing
ERROR: 0:17: 'fractional_even_spacing' : cannot change previously set vertex spacing
ERROR: 0:22: 'patch' : can only use on input in tessellation-evaluation shader
ERROR: 0:26: 'barrier' : no matching overloaded function found
ERROR: 0:38: 'gl_ClipDistance' : no such field in structure
ERROR: 0:38: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:48: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
ERROR: 0:48: 'assign' : l-value required (can't modify a const)
ERROR: 0:51: 'patch' : cannot use interpolation qualifiers with patch
ERROR: 0:52: 'patch' : cannot use interpolation qualifiers with patch
ERROR: 0:53: 'noperspective' : Reserved word.
ERROR: 0:53: 'noperspective' : not supported with this profile: es
ERROR: 0:53: 'patch' : cannot use interpolation qualifiers with patch
ERROR: 0:54: 'sample' : Reserved word.
ERROR: 0:54: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
ERROR: 0:58: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
ERROR: 0:63: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
ERROR: 0:68: 'quads' : cannot apply to 'out'
ERROR: 0:68: 'cw' : can only apply to 'in'
ERROR: 0:69: 'triangles' : cannot apply to 'out'
ERROR: 0:70: 'isolines' : cannot apply to 'out'
ERROR: 0:71: 'cw' : can only apply to 'in'
ERROR: 0:72: 'fractional_odd_spacing' : can only apply to 'in'
ERROR: 0:73: 'equal_spacing' : can only apply to 'in'
ERROR: 0:74: 'fractional_even_spacing' : can only apply to 'in'
ERROR: 0:75: 'point_mode' : can only apply to 'in'
ERROR: 0:77: 'in' : type must be an array: ina
ERROR: 0:79: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
ERROR: 0:82: 'in' : type must be an array: bla
ERROR: 0:90: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
ERROR: 0:100: 'location' : overlapping use of location 24
ERROR: 0:103: 'location' : overlapping use of location 24
ERROR: 0:105: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
ERROR: 0:113: 'sample' : Reserved word.
ERROR: 39 compilation errors. No code generated.
Shader version: 310
Requested GL_ARB_separate_shader_objects
Requested GL_EXT_shader_io_blocks
Requested GL_EXT_tessellation_shader
Requested GL_OES_shader_io_blocks
Requested GL_OES_tessellation_shader
input primitive = quads
vertex spacing = fractional_odd_spacing
triangle order = cw
using point mode
ERROR: node is still EOpNull!
0:24 Function Definition: main( (global void)
0:24 Function Parameters:
0:26 Sequence
0:26 Constant:
0:26 0.000000
0:28 Sequence
0:28 move second child to first child (temp highp int)
0:28 'a' (temp highp int)
0:28 Constant:
0:28 1512 (const int)
0:36 Sequence
0:36 move second child to first child (temp highp 4-component vector of float)
0:36 'p' (temp highp 4-component vector of float)
0:36 gl_Position: direct index for structure (in highp 4-component vector of float)
0:36 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:36 Constant:
0:36 1 (const int)
0:36 Constant:
0:36 0 (const int)
0:37 Sequence
0:37 move second child to first child (temp highp float)
0:37 'ps' (temp highp float)
0:37 gl_PointSize: direct index for structure (in highp float)
0:37 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:37 Constant:
0:37 1 (const int)
0:37 Constant:
0:37 1 (const int)
0:38 Sequence
0:38 move second child to first child (temp highp float)
0:38 'cd' (temp highp float)
0:38 Constant:
0:38 0.000000
0:40 Sequence
0:40 move second child to first child (temp highp int)
0:40 'pvi' (temp highp int)
0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
0:41 Sequence
0:41 move second child to first child (temp highp int)
0:41 'pid' (temp highp int)
0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
0:42 Sequence
0:42 move second child to first child (temp highp 3-component vector of float)
0:42 'tc' (temp highp 3-component vector of float)
0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
0:43 Sequence
0:43 move second child to first child (temp highp float)
0:43 'tlo' (temp highp float)
0:43 direct index (patch temp highp float TessLevelOuter)
0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
0:43 Constant:
0:43 3 (const int)
0:44 Sequence
0:44 move second child to first child (temp highp float)
0:44 'tli' (temp highp float)
0:44 direct index (patch temp highp float TessLevelInner)
0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
0:44 Constant:
0:44 1 (const int)
0:46 move second child to first child (temp highp 4-component vector of float)
0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
0:46 Constant:
0:46 0 (const uint)
0:46 'p' (temp highp 4-component vector of float)
0:47 move second child to first child (temp highp float)
0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
0:47 Constant:
0:47 1 (const uint)
0:47 'ps' (temp highp float)
0:48 move second child to first child (temp highp float)
0:48 Constant:
0:48 0.000000
0:48 'cd' (temp highp float)
0:? Linker Objects
0:? 'patchIn' (patch in highp 4-component vector of float)
0:? 'patchOut' (patch out highp 4-component vector of float)
0:? 'badp1' (smooth patch in highp 4-component vector of float)
0:? 'badp2' (flat patch in highp 4-component vector of float)
0:? 'badp3' (noperspective patch in highp 4-component vector of float)
0:? 'badp4' (patch sample in highp 3-component vector of float)
0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position})
0:? 'ina' (in highp 2-component vector of float)
0:? 'inb' (in 32-element array of highp 2-component vector of float)
0:? 'inc' (in 32-element array of highp 2-component vector of float)
0:? 'ind' (in 32-element array of highp 2-component vector of float)
0:? 'bla' (in block{in highp int f})
0:? 'blb' (in 32-element array of block{in highp int f})
0:? 'blc' (in 32-element array of block{in highp int f})
0:? 'bld' (in 32-element array of block{in highp int f})
0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
0:? 'pinbi' (patch in block{in highp int a})
0:? 'myColor2' (centroid out highp 3-component vector of float)
0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
0:? 'perSampleColor' (sample out highp 4-component vector of float)
Linked tessellation evaluation stage:
Shader version: 310
Requested GL_ARB_separate_shader_objects
Requested GL_EXT_shader_io_blocks
Requested GL_EXT_tessellation_shader
Requested GL_OES_shader_io_blocks
Requested GL_OES_tessellation_shader
input primitive = quads
vertex spacing = fractional_odd_spacing
triangle order = cw
using point mode
ERROR: node is still EOpNull!
0:24 Function Definition: main( (global void)
0:24 Function Parameters:
0:26 Sequence
0:26 Constant:
0:26 0.000000
0:28 Sequence
0:28 move second child to first child (temp highp int)
0:28 'a' (temp highp int)
0:28 Constant:
0:28 1512 (const int)
0:36 Sequence
0:36 move second child to first child (temp highp 4-component vector of float)
0:36 'p' (temp highp 4-component vector of float)
0:36 gl_Position: direct index for structure (in highp 4-component vector of float)
0:36 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:36 Constant:
0:36 1 (const int)
0:36 Constant:
0:36 0 (const int)
0:37 Sequence
0:37 move second child to first child (temp highp float)
0:37 'ps' (temp highp float)
0:37 gl_PointSize: direct index for structure (in highp float)
0:37 direct index (temp block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position, in highp float gl_PointSize})
0:37 Constant:
0:37 1 (const int)
0:37 Constant:
0:37 1 (const int)
0:38 Sequence
0:38 move second child to first child (temp highp float)
0:38 'cd' (temp highp float)
0:38 Constant:
0:38 0.000000
0:40 Sequence
0:40 move second child to first child (temp highp int)
0:40 'pvi' (temp highp int)
0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
0:41 Sequence
0:41 move second child to first child (temp highp int)
0:41 'pid' (temp highp int)
0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
0:42 Sequence
0:42 move second child to first child (temp highp 3-component vector of float)
0:42 'tc' (temp highp 3-component vector of float)
0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
0:43 Sequence
0:43 move second child to first child (temp highp float)
0:43 'tlo' (temp highp float)
0:43 direct index (patch temp highp float TessLevelOuter)
0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
0:43 Constant:
0:43 3 (const int)
0:44 Sequence
0:44 move second child to first child (temp highp float)
0:44 'tli' (temp highp float)
0:44 direct index (patch temp highp float TessLevelInner)
0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
0:44 Constant:
0:44 1 (const int)
0:46 move second child to first child (temp highp 4-component vector of float)
0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
0:46 Constant:
0:46 0 (const uint)
0:46 'p' (temp highp 4-component vector of float)
0:47 move second child to first child (temp highp float)
0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
0:47 Constant:
0:47 1 (const uint)
0:47 'ps' (temp highp float)
0:48 move second child to first child (temp highp float)
0:48 Constant:
0:48 0.000000
0:48 'cd' (temp highp float)
0:? Linker Objects
0:? 'patchIn' (patch in highp 4-component vector of float)
0:? 'patchOut' (patch out highp 4-component vector of float)
0:? 'badp1' (smooth patch in highp 4-component vector of float)
0:? 'badp2' (flat patch in highp 4-component vector of float)
0:? 'badp3' (noperspective patch in highp 4-component vector of float)
0:? 'badp4' (patch sample in highp 3-component vector of float)
0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float gl_Position})
0:? 'ina' (in highp 2-component vector of float)
0:? 'inb' (in 32-element array of highp 2-component vector of float)
0:? 'inc' (in 32-element array of highp 2-component vector of float)
0:? 'ind' (in 32-element array of highp 2-component vector of float)
0:? 'bla' (in block{in highp int f})
0:? 'blb' (in 32-element array of block{in highp int f})
0:? 'blc' (in 32-element array of block{in highp int f})
0:? 'bld' (in 32-element array of block{in highp int f})
0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
0:? 'pinbi' (patch in block{in highp int a})
0:? 'myColor2' (centroid out highp 3-component vector of float)
0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
0:? 'perSampleColor' (sample out highp 4-component vector of float)

View File

@@ -17,7 +17,7 @@ ERROR: 0:83: 'vertex-shader struct output containing structure' : not supported
ERROR: 0:85: 'std430 on a uniform block' : not supported with this profile: es
ERROR: 0:97: 's' : member of block cannot be a sampler type
ERROR: 0:105: 'location' : overlapping use of location 12
ERROR: 0:107: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:107: 'input block' : not supported in this stage: vertex
ERROR: 0:109: 'gl_PerVertex' : block redeclaration has extra members
ERROR: 0:119: 'gl_PointSize' : member of nameless block was not redeclared
ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'gl_PointSize highp void PointSize'

View File

@@ -32,7 +32,7 @@ ERROR: 0:125: 'index' : can only be used on an output
ERROR: 0:126: 'index' : can only be used on an output
ERROR: 0:126: 'location/component/index' : cannot declare a default, use a full declaration
ERROR: 0:127: 'location/component/index' : cannot declare a default, use a full declaration
ERROR: 0:128: 'out' : cannot declare an output block in a fragment shader
ERROR: 0:128: 'output block' : not supported in this stage: fragment
ERROR: 34 compilation errors. No code generated.

View File

@@ -24,7 +24,7 @@ ERROR: 0:62: 'xxxxx' : illegal vector field selection
ERROR: 0:63: 'xxy' : vector field selection out of range
ERROR: 0:66: 'binding' : cannot declare a default, include a type or full declaration
ERROR: 0:69: 'location/component/index' : cannot declare a default, use a full declaration
ERROR: 0:70: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:70: 'input block' : not supported in this stage: vertex
ERROR: 0:70: 'binding' : requires uniform or buffer storage qualifier
ERROR: 0:71: 'binding' : binding is too large
ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits

View File

@@ -1,7 +1,7 @@
430.vert
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:3: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
ERROR: 0:7: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:7: 'input block' : not supported in this stage: vertex
ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
ERROR: 0:8: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
ERROR: 0:23: 'invariant' : can only apply to an output
@@ -18,9 +18,9 @@ ERROR: 0:47: 'gl_ClipDistance array size' : must be less than gl_MaxClipDistance
ERROR: 0:51: 'start' : undeclared identifier
ERROR: 0:51: '' : constant expression required
ERROR: 0:51: 'layout-id value' : scalar integer expression required
ERROR: 0:53: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:53: 'input block' : not supported in this stage: vertex
ERROR: 0:54: 'location on block member' : not supported for this version or the enabled extensions
ERROR: 0:57: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:57: 'input block' : not supported in this stage: vertex
ERROR: 0:58: 'location on block member' : not supported for this version or the enabled extensions
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
@@ -48,8 +48,8 @@ ERROR: 0:92: 'transform feedback qualifier' : not supported for this version or
ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
ERROR: 0:117: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:123: 'in' : cannot declare an input block in a vertex shader
ERROR: 0:117: 'input block' : not supported in this stage: vertex
ERROR: 0:123: 'input block' : not supported in this stage: vertex
ERROR: 0:146: 'shared' : not supported in this stage: vertex
ERROR: 0:150: 'barrier' : no matching overloaded function found
ERROR: 0:154: 'memoryBarrierShared' : no matching overloaded function found

View File

@@ -19,13 +19,13 @@ ERROR: 0:35: 'layout' : offset/align can only be used on a uniform or buffer
ERROR: 0:37: 'offset' : only applies to block members, not blocks
ERROR: 0:38: 'layout' : offset/align can only be used on a uniform or buffer
ERROR: 0:38: 'offset' : only applies to block members, not blocks
ERROR: 0:39: 'out' : cannot declare an output block in a fragment shader
ERROR: 0:39: 'output block' : not supported in this stage: fragment
ERROR: 0:39: 'layout' : offset/align can only be used on a uniform or buffer
ERROR: 0:39: 'offset' : only applies to block members, not blocks
ERROR: 0:42: 'offset/align' : can only be used with std140 or std430 layout packing
ERROR: 0:43: 'offset/align' : can only be used with std140 or std430 layout packing
ERROR: 0:43: 'layout' : offset/align can only be used on a uniform or buffer
ERROR: 0:44: 'out' : cannot declare an output block in a fragment shader
ERROR: 0:44: 'output block' : not supported in this stage: fragment
ERROR: 0:44: 'offset/align' : can only be used with std140 or std430 layout packing
ERROR: 0:44: 'layout' : offset/align can only be used on a uniform or buffer
ERROR: 0:46: 'offset' : cannot specify on a variable declaration

View File

@@ -40,6 +40,8 @@ comment.frag
310.vert
310.geom
310.frag
310.tesc
310.tese
310implicitSizeArrayError.vert
310AofA.vert
330.frag