зеркало из https://github.com/stride3d/xkslang.git
Require l-value patch-out indexing to be gl_InvocationID.
Also, generally allow ES variable indexing of in/out blocks.
This commit is contained in:
Родитель
989df85dcd
Коммит
1be8063e01
|
@ -25,9 +25,9 @@ void main()
|
|||
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;
|
||||
gl_out[gl_InvocationID].gl_Position = p;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps;
|
||||
gl_out[gl_InvocationID].gl_ClipDistance[1] = cd;
|
||||
|
||||
gl_TessLevelOuter[3] = 3.2;
|
||||
gl_TessLevelInner[1] = 1.3;
|
||||
|
|
|
@ -166,7 +166,7 @@ void fooIO()
|
|||
{
|
||||
vec4 v = inbinst.v + vAnon;
|
||||
v *= arrayedInst[2].f;
|
||||
v *= arrayedInst[i].f; // ERROR, not constant
|
||||
v *= arrayedInst[i].f;
|
||||
}
|
||||
|
||||
in vec4 gl_FragCoord;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#extension GL_OES_tessellation_shader : enable
|
||||
|
||||
layout(vertices = 4) out;
|
||||
int outa[gl_out.length()];
|
||||
out int outa[gl_out.length()];
|
||||
|
||||
layout(quads) in; // ERROR
|
||||
layout(ccw) out; // ERROR
|
||||
|
@ -30,9 +30,9 @@ void main()
|
|||
int pid = gl_PrimitiveID;
|
||||
int iid = gl_InvocationID;
|
||||
|
||||
gl_out[1].gl_Position = p;
|
||||
gl_out[1].gl_PointSize = ps; // ERROR, need point_size extension
|
||||
gl_out[1].gl_ClipDistance[1] = cd; // ERROR, not in ES
|
||||
gl_out[gl_InvocationID].gl_Position = p;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps; // ERROR, need point_size extension
|
||||
gl_out[gl_InvocationID].gl_ClipDistance[1] = cd; // ERROR, not in ES
|
||||
|
||||
gl_TessLevelOuter[3] = 3.2;
|
||||
gl_TessLevelInner[1] = 1.3;
|
||||
|
@ -112,7 +112,7 @@ out float okaySize[4];
|
|||
void pointSize2()
|
||||
{
|
||||
float ps = gl_in[1].gl_PointSize;
|
||||
gl_out[1].gl_PointSize = ps;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps;
|
||||
}
|
||||
|
||||
#extension GL_OES_gpu_shader5 : enable
|
||||
|
@ -141,3 +141,29 @@ void bb()
|
|||
gl_BoundingBoxOES[1] = vec4(1.0);
|
||||
gl_BoundingBoxOES[2] = vec4(2.0); // ERROR, overflow
|
||||
}
|
||||
|
||||
out patch badpatchBName { // ERROR, array size required
|
||||
float f;
|
||||
} badpatchIName[];
|
||||
|
||||
out patch patchBName {
|
||||
float f;
|
||||
} patchIName[4];
|
||||
|
||||
void outputtingOutparam(out int a)
|
||||
{
|
||||
a = 2;
|
||||
}
|
||||
|
||||
void outputting()
|
||||
{
|
||||
outa[gl_InvocationID] = 2;
|
||||
outa[1] = 2; // ERROR, not gl_InvocationID
|
||||
gl_out[0].gl_Position = vec4(1.0); // ERROR, not gl_InvocationID
|
||||
outa[1];
|
||||
gl_out[0];
|
||||
outputtingOutparam(outa[0]); // ERROR, not gl_InvocationID
|
||||
outputtingOutparam(outa[gl_InvocationID]);
|
||||
patchIName[1].f = 3.14;
|
||||
outa[(gl_InvocationID)] = 2;
|
||||
}
|
||||
|
|
|
@ -28,9 +28,9 @@ void main()
|
|||
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;
|
||||
gl_out[gl_InvocationID].gl_Position = p;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps;
|
||||
gl_out[gl_InvocationID].gl_ClipDistance[1] = cd;
|
||||
|
||||
gl_TessLevelOuter[3] = 3.2;
|
||||
gl_TessLevelInner[1] = 1.3;
|
||||
|
|
|
@ -22,8 +22,8 @@ void main()
|
|||
int pid = gl_PrimitiveID;
|
||||
int iid = gl_InvocationID;
|
||||
|
||||
gl_out[1].gl_Position = p;
|
||||
gl_out[1].gl_PointSize = ps; // ERROR
|
||||
gl_out[gl_InvocationID].gl_Position = p;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps; // ERROR
|
||||
}
|
||||
|
||||
out float outf; // ERROR, no array
|
||||
|
|
|
@ -6,9 +6,9 @@ in gl_PerVertex {
|
|||
|
||||
out gl_PerVertex {
|
||||
float gl_CullDistance[3];
|
||||
} gl_out[];
|
||||
} gl_out[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_out[0].gl_CullDistance[2] = gl_in[1].gl_CullDistance[2];
|
||||
gl_out[gl_InvocationID].gl_CullDistance[2] = gl_in[1].gl_CullDistance[2];
|
||||
}
|
||||
|
|
|
@ -59,29 +59,26 @@ vertices = 4
|
|||
0:26 'gl_InvocationID' (in int InvocationID)
|
||||
0:28 move second child to first child (temp 4-component vector of float)
|
||||
0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:28 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:28 Constant:
|
||||
0:28 1 (const int)
|
||||
0:28 'gl_InvocationID' (in int InvocationID)
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 'p' (temp 4-component vector of float)
|
||||
0:29 move second child to first child (temp float)
|
||||
0:29 gl_PointSize: direct index for structure (out float PointSize)
|
||||
0:29 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 'gl_InvocationID' (in int InvocationID)
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 'ps' (temp float)
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 direct index (temp float ClipDistance)
|
||||
0:30 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
|
||||
0:30 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 'gl_InvocationID' (in int InvocationID)
|
||||
0:30 Constant:
|
||||
0:30 2 (const int)
|
||||
0:30 Constant:
|
||||
|
@ -295,29 +292,26 @@ ERROR: node is still EOpNull!
|
|||
0:29 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:31 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' (temp 4-component vector of float)
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 gl_PointSize: direct index for structure (out float PointSize)
|
||||
0:32 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'gl_InvocationID' (in int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' (temp float)
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 direct index (temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
|
||||
0:33 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 'gl_InvocationID' (in int InvocationID)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
0:33 Constant:
|
||||
|
@ -666,17 +660,15 @@ ERROR: node is still EOpNull!
|
|||
0:23 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 move second child to first child (temp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:25 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 'p' (temp 4-component vector of float)
|
||||
0:26 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 'gl_InvocationID' (in int InvocationID)
|
||||
0:34 Function Definition: foo( (global void)
|
||||
0:34 Function Parameters:
|
||||
0:36 Sequence
|
||||
|
@ -982,29 +974,26 @@ vertices = 4
|
|||
0:26 'gl_InvocationID' (in int InvocationID)
|
||||
0:28 move second child to first child (temp 4-component vector of float)
|
||||
0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:28 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:28 Constant:
|
||||
0:28 1 (const int)
|
||||
0:28 'gl_InvocationID' (in int InvocationID)
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 'p' (temp 4-component vector of float)
|
||||
0:29 move second child to first child (temp float)
|
||||
0:29 gl_PointSize: direct index for structure (out float PointSize)
|
||||
0:29 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 'gl_InvocationID' (in int InvocationID)
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 'ps' (temp float)
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 direct index (temp float ClipDistance)
|
||||
0:30 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
|
||||
0:30 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 'gl_InvocationID' (in int InvocationID)
|
||||
0:30 Constant:
|
||||
0:30 2 (const int)
|
||||
0:30 Constant:
|
||||
|
@ -1080,29 +1069,26 @@ vertices = 4
|
|||
0:29 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:31 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' (temp 4-component vector of float)
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 gl_PointSize: direct index for structure (out float PointSize)
|
||||
0:32 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'gl_InvocationID' (in int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' (temp float)
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 direct index (temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
|
||||
0:33 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 'gl_InvocationID' (in int InvocationID)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
0:33 Constant:
|
||||
|
@ -1248,17 +1234,15 @@ vertices = 4
|
|||
0:23 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 move second child to first child (temp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:25 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 'p' (temp 4-component vector of float)
|
||||
0:26 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 'gl_InvocationID' (in int InvocationID)
|
||||
0:34 Function Definition: foo( (global void)
|
||||
0:34 Function Parameters:
|
||||
0:36 Sequence
|
||||
|
|
|
@ -49,7 +49,6 @@ ERROR: 0:148: 'inbname2' : Cannot reuse block name within the same interface: in
|
|||
ERROR: 0:153: 'badmember' : nameless block contains a member that already has a name at global scope
|
||||
ERROR: 0:157: 'inbname' : redefinition
|
||||
ERROR: 0:159: 'vAnon' : redefinition
|
||||
ERROR: 0:169: 'variable indexing in/out block array' : not supported with this profile: es
|
||||
ERROR: 0:173: 'origin_upper_left' : not supported with this profile: es
|
||||
ERROR: 0:173: 'pixel_center_integer' : not supported with this profile: es
|
||||
ERROR: 0:173: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
|
||||
|
@ -130,7 +129,7 @@ ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier
|
|||
ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:429: 'blend_support' : unknown blend equation
|
||||
ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
|
||||
ERROR: 122 compilation errors. No code generated.
|
||||
ERROR: 121 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 310
|
||||
|
|
|
@ -41,7 +41,11 @@ ERROR: 0:133: 'gl_BoundingBoxOES' : required extension not requested: Possible e
|
|||
GL_EXT_primitive_bounding_box
|
||||
GL_OES_primitive_bounding_box
|
||||
ERROR: 0:142: '[' : array index out of range '2'
|
||||
ERROR: 33 compilation errors. No code generated.
|
||||
ERROR: 0:145: '' : array size required
|
||||
ERROR: 0:161: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
|
||||
ERROR: 0:162: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
|
||||
ERROR: 0:165: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
|
||||
ERROR: 37 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 310
|
||||
|
@ -101,19 +105,17 @@ ERROR: node is still EOpNull!
|
|||
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 indirect 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 'gl_InvocationID' (in highp int InvocationID)
|
||||
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 indirect 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 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:34 Constant:
|
||||
0:34 1 (const int)
|
||||
0:34 'ps' (temp highp float)
|
||||
|
@ -215,10 +217,9 @@ ERROR: node is still EOpNull!
|
|||
0:114 1 (const int)
|
||||
0:115 move second child to first child (temp highp float)
|
||||
0:115 gl_PointSize: direct index for structure (out highp float PointSize)
|
||||
0:115 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:115 '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:115 Constant:
|
||||
0:115 1 (const int)
|
||||
0:115 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:115 Constant:
|
||||
0:115 1 (const int)
|
||||
0:115 'ps' (temp highp float)
|
||||
|
@ -277,9 +278,79 @@ ERROR: node is still EOpNull!
|
|||
0:142 2.000000
|
||||
0:142 2.000000
|
||||
0:142 2.000000
|
||||
0:153 Function Definition: outputtingOutparam(i1; (global void)
|
||||
0:153 Function Parameters:
|
||||
0:153 'a' (out highp int)
|
||||
0:155 Sequence
|
||||
0:155 move second child to first child (temp highp int)
|
||||
0:155 'a' (out highp int)
|
||||
0:155 Constant:
|
||||
0:155 2 (const int)
|
||||
0:158 Function Definition: outputting( (global void)
|
||||
0:158 Function Parameters:
|
||||
0:160 Sequence
|
||||
0:160 move second child to first child (temp highp int)
|
||||
0:160 indirect index (temp highp int)
|
||||
0:160 'outa' (out 4-element array of highp int)
|
||||
0:160 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:160 Constant:
|
||||
0:160 2 (const int)
|
||||
0:161 move second child to first child (temp highp int)
|
||||
0:161 direct index (temp highp int)
|
||||
0:161 'outa' (out 4-element array of highp int)
|
||||
0:161 Constant:
|
||||
0:161 1 (const int)
|
||||
0:161 Constant:
|
||||
0:161 2 (const int)
|
||||
0:162 move second child to first child (temp highp 4-component vector of float)
|
||||
0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
|
||||
0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:162 '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:162 Constant:
|
||||
0:162 0 (const int)
|
||||
0:162 Constant:
|
||||
0:162 0 (const int)
|
||||
0:162 Constant:
|
||||
0:162 1.000000
|
||||
0:162 1.000000
|
||||
0:162 1.000000
|
||||
0:162 1.000000
|
||||
0:163 direct index (temp highp int)
|
||||
0:163 'outa' (out 4-element array of highp int)
|
||||
0:163 Constant:
|
||||
0:163 1 (const int)
|
||||
0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:164 '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:164 Constant:
|
||||
0:164 0 (const int)
|
||||
0:165 Function Call: outputtingOutparam(i1; (global void)
|
||||
0:165 direct index (temp highp int)
|
||||
0:165 'outa' (out 4-element array of highp int)
|
||||
0:165 Constant:
|
||||
0:165 0 (const int)
|
||||
0:166 Function Call: outputtingOutparam(i1; (global void)
|
||||
0:166 indirect index (temp highp int)
|
||||
0:166 'outa' (out 4-element array of highp int)
|
||||
0:166 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:167 move second child to first child (temp highp float)
|
||||
0:167 f: direct index for structure (out highp float)
|
||||
0:167 direct index (patch temp block{out highp float f})
|
||||
0:167 'patchIName' (patch out 4-element array of block{out highp float f})
|
||||
0:167 Constant:
|
||||
0:167 1 (const int)
|
||||
0:167 Constant:
|
||||
0:167 0 (const int)
|
||||
0:167 Constant:
|
||||
0:167 3.140000
|
||||
0:168 move second child to first child (temp highp int)
|
||||
0:168 indirect index (temp highp int)
|
||||
0:168 'outa' (out 4-element array of highp int)
|
||||
0:168 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:168 Constant:
|
||||
0:168 2 (const int)
|
||||
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:? 'outa' (out 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)
|
||||
|
@ -301,6 +372,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'misSized' (out 5-element array of highp float)
|
||||
0:? 'okaySize' (out 4-element array of highp float)
|
||||
0:? 'pv3' (temp highp 3-component vector of float)
|
||||
0:? 'badpatchIName' (patch out implicitly-sized array of block{out highp float f})
|
||||
0:? 'patchIName' (patch out 4-element array of block{out highp float f})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
@ -363,19 +436,17 @@ ERROR: node is still EOpNull!
|
|||
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 indirect 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 'gl_InvocationID' (in highp int InvocationID)
|
||||
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 indirect 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 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:34 Constant:
|
||||
0:34 1 (const int)
|
||||
0:34 'ps' (temp highp float)
|
||||
|
@ -477,10 +548,9 @@ ERROR: node is still EOpNull!
|
|||
0:114 1 (const int)
|
||||
0:115 move second child to first child (temp highp float)
|
||||
0:115 gl_PointSize: direct index for structure (out highp float PointSize)
|
||||
0:115 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:115 '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:115 Constant:
|
||||
0:115 1 (const int)
|
||||
0:115 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:115 Constant:
|
||||
0:115 1 (const int)
|
||||
0:115 'ps' (temp highp float)
|
||||
|
@ -539,9 +609,79 @@ ERROR: node is still EOpNull!
|
|||
0:142 2.000000
|
||||
0:142 2.000000
|
||||
0:142 2.000000
|
||||
0:153 Function Definition: outputtingOutparam(i1; (global void)
|
||||
0:153 Function Parameters:
|
||||
0:153 'a' (out highp int)
|
||||
0:155 Sequence
|
||||
0:155 move second child to first child (temp highp int)
|
||||
0:155 'a' (out highp int)
|
||||
0:155 Constant:
|
||||
0:155 2 (const int)
|
||||
0:158 Function Definition: outputting( (global void)
|
||||
0:158 Function Parameters:
|
||||
0:160 Sequence
|
||||
0:160 move second child to first child (temp highp int)
|
||||
0:160 indirect index (temp highp int)
|
||||
0:160 'outa' (out 4-element array of highp int)
|
||||
0:160 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:160 Constant:
|
||||
0:160 2 (const int)
|
||||
0:161 move second child to first child (temp highp int)
|
||||
0:161 direct index (temp highp int)
|
||||
0:161 'outa' (out 4-element array of highp int)
|
||||
0:161 Constant:
|
||||
0:161 1 (const int)
|
||||
0:161 Constant:
|
||||
0:161 2 (const int)
|
||||
0:162 move second child to first child (temp highp 4-component vector of float)
|
||||
0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
|
||||
0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:162 '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:162 Constant:
|
||||
0:162 0 (const int)
|
||||
0:162 Constant:
|
||||
0:162 0 (const int)
|
||||
0:162 Constant:
|
||||
0:162 1.000000
|
||||
0:162 1.000000
|
||||
0:162 1.000000
|
||||
0:162 1.000000
|
||||
0:163 direct index (temp highp int)
|
||||
0:163 'outa' (out 4-element array of highp int)
|
||||
0:163 Constant:
|
||||
0:163 1 (const int)
|
||||
0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
|
||||
0:164 '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:164 Constant:
|
||||
0:164 0 (const int)
|
||||
0:165 Function Call: outputtingOutparam(i1; (global void)
|
||||
0:165 direct index (temp highp int)
|
||||
0:165 'outa' (out 4-element array of highp int)
|
||||
0:165 Constant:
|
||||
0:165 0 (const int)
|
||||
0:166 Function Call: outputtingOutparam(i1; (global void)
|
||||
0:166 indirect index (temp highp int)
|
||||
0:166 'outa' (out 4-element array of highp int)
|
||||
0:166 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:167 move second child to first child (temp highp float)
|
||||
0:167 f: direct index for structure (out highp float)
|
||||
0:167 direct index (patch temp block{out highp float f})
|
||||
0:167 'patchIName' (patch out 4-element array of block{out highp float f})
|
||||
0:167 Constant:
|
||||
0:167 1 (const int)
|
||||
0:167 Constant:
|
||||
0:167 0 (const int)
|
||||
0:167 Constant:
|
||||
0:167 3.140000
|
||||
0:168 move second child to first child (temp highp int)
|
||||
0:168 indirect index (temp highp int)
|
||||
0:168 'outa' (out 4-element array of highp int)
|
||||
0:168 'gl_InvocationID' (in highp int InvocationID)
|
||||
0:168 Constant:
|
||||
0:168 2 (const int)
|
||||
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:? 'outa' (out 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)
|
||||
|
@ -563,4 +703,6 @@ ERROR: node is still EOpNull!
|
|||
0:? 'misSized' (out 5-element array of highp float)
|
||||
0:? 'okaySize' (out 4-element array of highp float)
|
||||
0:? 'pv3' (temp highp 3-component vector of float)
|
||||
0:? 'badpatchIName' (patch out 1-element array of block{out highp float f})
|
||||
0:? 'patchIName' (patch out 4-element array of block{out highp float f})
|
||||
|
||||
|
|
|
@ -81,29 +81,26 @@ ERROR: node is still EOpNull!
|
|||
0:29 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:31 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' (temp 4-component vector of float)
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 gl_PointSize: direct index for structure (out float PointSize)
|
||||
0:32 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'gl_InvocationID' (in int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' (temp float)
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 direct index (temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
|
||||
0:33 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 'gl_InvocationID' (in int InvocationID)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
0:33 Constant:
|
||||
|
@ -279,29 +276,26 @@ ERROR: node is still EOpNull!
|
|||
0:29 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:31 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 Constant:
|
||||
0:31 1 (const int)
|
||||
0:31 'gl_InvocationID' (in int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' (temp 4-component vector of float)
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 gl_PointSize: direct index for structure (out float PointSize)
|
||||
0:32 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'gl_InvocationID' (in int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' (temp float)
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 direct index (temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
|
||||
0:33 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 'gl_InvocationID' (in int InvocationID)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
0:33 Constant:
|
||||
|
|
|
@ -63,17 +63,15 @@ ERROR: node is still EOpNull!
|
|||
0:23 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 move second child to first child (temp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:25 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 'p' (temp 4-component vector of float)
|
||||
0:26 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 'gl_InvocationID' (in int InvocationID)
|
||||
0:34 Function Definition: foo( (global void)
|
||||
0:34 Function Parameters:
|
||||
0:36 Sequence
|
||||
|
@ -176,17 +174,15 @@ ERROR: node is still EOpNull!
|
|||
0:23 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 move second child to first child (temp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
|
||||
0:25 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 'gl_InvocationID' (in int InvocationID)
|
||||
0:25 Constant:
|
||||
0:25 0 (const int)
|
||||
0:25 'p' (temp 4-component vector of float)
|
||||
0:26 direct index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
|
||||
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 'gl_InvocationID' (in int InvocationID)
|
||||
0:34 Function Definition: foo( (global void)
|
||||
0:34 Function Parameters:
|
||||
0:36 Sequence
|
||||
|
|
|
@ -10,10 +10,9 @@ vertices = 0
|
|||
0:13 move second child to first child (temp float)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
|
||||
0:13 direct index (temp block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_out' (out implicitly-sized array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 indirect index (temp block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_InvocationID' (in int InvocationID)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
|
@ -30,7 +29,7 @@ vertices = 0
|
|||
0:13 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' (out implicitly-sized array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
@ -46,10 +45,9 @@ vertices = 0
|
|||
0:13 move second child to first child (temp float)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (out 1-element array of float CullDistance)
|
||||
0:13 direct index (temp block{out 1-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_out' (out 1-element array of block{out 1-element array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 indirect index (temp block{out 1-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_out' (out 4-element array of block{out 1-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_InvocationID' (in int InvocationID)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
|
@ -66,5 +64,5 @@ vertices = 0
|
|||
0:13 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' (out 1-element array of block{out 1-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' (out 4-element array of block{out 1-element array of float CullDistance gl_CullDistance})
|
||||
|
||||
|
|
|
@ -7,12 +7,12 @@ Linked tessellation control stage:
|
|||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 90
|
||||
// Id's are bound by 93
|
||||
|
||||
Capability Tessellation
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationControl 4 "main" 52 76 80 81 84 85 88 89
|
||||
EntryPoint TessellationControl 4 "main" 52 79 83 84 87 88 91 92
|
||||
ExecutionMode 4 OutputVertices 4
|
||||
Source GLSL 400
|
||||
SourceExtension "GL_ARB_separate_shader_objects"
|
||||
|
@ -37,16 +37,16 @@ Linked tessellation control stage:
|
|||
MemberName 48(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 48(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 52 "gl_out"
|
||||
Name 63 "gl_TessLevelOuter"
|
||||
Name 70 "gl_TessLevelInner"
|
||||
Name 75 "outa"
|
||||
Name 76 "patchOut"
|
||||
Name 80 "inb"
|
||||
Name 81 "ind"
|
||||
Name 84 "ivla"
|
||||
Name 85 "ivlb"
|
||||
Name 88 "ovla"
|
||||
Name 89 "ovlb"
|
||||
Name 66 "gl_TessLevelOuter"
|
||||
Name 73 "gl_TessLevelInner"
|
||||
Name 78 "outa"
|
||||
Name 79 "patchOut"
|
||||
Name 83 "inb"
|
||||
Name 84 "ind"
|
||||
Name 87 "ivla"
|
||||
Name 88 "ivlb"
|
||||
Name 91 "ovla"
|
||||
Name 92 "ovlb"
|
||||
MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
|
@ -58,15 +58,15 @@ Linked tessellation control stage:
|
|||
MemberDecorate 48(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 48(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
Decorate 48(gl_PerVertex) Block
|
||||
Decorate 63(gl_TessLevelOuter) Patch
|
||||
Decorate 63(gl_TessLevelOuter) BuiltIn TessLevelOuter
|
||||
Decorate 70(gl_TessLevelInner) Patch
|
||||
Decorate 70(gl_TessLevelInner) BuiltIn TessLevelInner
|
||||
Decorate 76(patchOut) Patch
|
||||
Decorate 84(ivla) Location 3
|
||||
Decorate 85(ivlb) Location 4
|
||||
Decorate 88(ovla) Location 3
|
||||
Decorate 89(ovlb) Location 4
|
||||
Decorate 66(gl_TessLevelOuter) Patch
|
||||
Decorate 66(gl_TessLevelOuter) BuiltIn TessLevelOuter
|
||||
Decorate 73(gl_TessLevelInner) Patch
|
||||
Decorate 73(gl_TessLevelInner) BuiltIn TessLevelInner
|
||||
Decorate 79(patchOut) Patch
|
||||
Decorate 87(ivla) Location 3
|
||||
Decorate 88(ivlb) Location 4
|
||||
Decorate 91(ovla) Location 3
|
||||
Decorate 92(ovlb) Location 4
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
@ -100,35 +100,35 @@ Linked tessellation control stage:
|
|||
50: TypeArray 48(gl_PerVertex) 49
|
||||
51: TypePointer Output 50
|
||||
52(gl_out): 51(ptr) Variable Output
|
||||
54: TypePointer Output 15(fvec4)
|
||||
57: TypePointer Output 14(float)
|
||||
61: TypeArray 14(float) 49
|
||||
62: TypePointer Output 61
|
||||
63(gl_TessLevelOuter): 62(ptr) Variable Output
|
||||
64: 10(int) Constant 3
|
||||
65: 14(float) Constant 1078774989
|
||||
67: 6(int) Constant 2
|
||||
68: TypeArray 14(float) 67
|
||||
69: TypePointer Output 68
|
||||
70(gl_TessLevelInner): 69(ptr) Variable Output
|
||||
71: 14(float) Constant 1067869798
|
||||
73: TypeArray 10(int) 49
|
||||
74: TypePointer Private 73
|
||||
75(outa): 74(ptr) Variable Private
|
||||
76(patchOut): 54(ptr) Variable Output
|
||||
77: TypeVector 14(float) 2
|
||||
78: TypeArray 77(fvec2) 20
|
||||
79: TypePointer Input 78
|
||||
80(inb): 79(ptr) Variable Input
|
||||
81(ind): 79(ptr) Variable Input
|
||||
82: TypeArray 15(fvec4) 20
|
||||
83: TypePointer Input 82
|
||||
84(ivla): 83(ptr) Variable Input
|
||||
85(ivlb): 83(ptr) Variable Input
|
||||
86: TypeArray 15(fvec4) 49
|
||||
87: TypePointer Output 86
|
||||
88(ovla): 87(ptr) Variable Output
|
||||
89(ovlb): 87(ptr) Variable Output
|
||||
55: TypePointer Output 15(fvec4)
|
||||
59: TypePointer Output 14(float)
|
||||
64: TypeArray 14(float) 49
|
||||
65: TypePointer Output 64
|
||||
66(gl_TessLevelOuter): 65(ptr) Variable Output
|
||||
67: 10(int) Constant 3
|
||||
68: 14(float) Constant 1078774989
|
||||
70: 6(int) Constant 2
|
||||
71: TypeArray 14(float) 70
|
||||
72: TypePointer Output 71
|
||||
73(gl_TessLevelInner): 72(ptr) Variable Output
|
||||
74: 14(float) Constant 1067869798
|
||||
76: TypeArray 10(int) 49
|
||||
77: TypePointer Private 76
|
||||
78(outa): 77(ptr) Variable Private
|
||||
79(patchOut): 55(ptr) Variable Output
|
||||
80: TypeVector 14(float) 2
|
||||
81: TypeArray 80(fvec2) 20
|
||||
82: TypePointer Input 81
|
||||
83(inb): 82(ptr) Variable Input
|
||||
84(ind): 82(ptr) Variable Input
|
||||
85: TypeArray 15(fvec4) 20
|
||||
86: TypePointer Input 85
|
||||
87(ivla): 86(ptr) Variable Input
|
||||
88(ivlb): 86(ptr) Variable Input
|
||||
89: TypeArray 15(fvec4) 49
|
||||
90: TypePointer Output 89
|
||||
91(ovla): 90(ptr) Variable Output
|
||||
92(ovlb): 90(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
12(a): 11(ptr) Variable Function
|
||||
|
@ -156,18 +156,21 @@ Linked tessellation control stage:
|
|||
Store 42(pid) 44
|
||||
47: 10(int) Load 46(gl_InvocationID)
|
||||
Store 45(iid) 47
|
||||
53: 15(fvec4) Load 17(p)
|
||||
55: 54(ptr) AccessChain 52(gl_out) 24 25
|
||||
Store 55 53
|
||||
56: 14(float) Load 30(ps)
|
||||
58: 57(ptr) AccessChain 52(gl_out) 24 24
|
||||
Store 58 56
|
||||
59: 14(float) Load 34(cd)
|
||||
60: 57(ptr) AccessChain 52(gl_out) 24 35 24
|
||||
Store 60 59
|
||||
66: 57(ptr) AccessChain 63(gl_TessLevelOuter) 64
|
||||
Store 66 65
|
||||
72: 57(ptr) AccessChain 70(gl_TessLevelInner) 24
|
||||
Store 72 71
|
||||
53: 10(int) Load 46(gl_InvocationID)
|
||||
54: 15(fvec4) Load 17(p)
|
||||
56: 55(ptr) AccessChain 52(gl_out) 53 25
|
||||
Store 56 54
|
||||
57: 10(int) Load 46(gl_InvocationID)
|
||||
58: 14(float) Load 30(ps)
|
||||
60: 59(ptr) AccessChain 52(gl_out) 57 24
|
||||
Store 60 58
|
||||
61: 10(int) Load 46(gl_InvocationID)
|
||||
62: 14(float) Load 34(cd)
|
||||
63: 59(ptr) AccessChain 52(gl_out) 61 35 24
|
||||
Store 63 62
|
||||
69: 59(ptr) AccessChain 66(gl_TessLevelOuter) 67
|
||||
Store 69 68
|
||||
75: 59(ptr) AccessChain 73(gl_TessLevelInner) 24
|
||||
Store 75 74
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
|
@ -23,9 +23,9 @@ void main()
|
|||
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;
|
||||
gl_out[gl_InvocationID].gl_Position = p;
|
||||
gl_out[gl_InvocationID].gl_PointSize = ps;
|
||||
gl_out[gl_InvocationID].gl_ClipDistance[1] = cd;
|
||||
|
||||
gl_TessLevelOuter[3] = 3.2;
|
||||
gl_TessLevelInner[1] = 1.3;
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
// For the version, it uses the latest git tag followed by the number of commits.
|
||||
// For the date, it uses the current date (when then script is run).
|
||||
|
||||
#define GLSLANG_REVISION "SPIRV99.807"
|
||||
#define GLSLANG_REVISION "SPIRV99.809"
|
||||
#define GLSLANG_DATE "28-Nov-2015"
|
||||
|
|
|
@ -518,8 +518,9 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
|
|||
requireProfile(base->getLoc(), ~EEsProfile, "variable indexing buffer block array");
|
||||
else if (base->getQualifier().storage == EvqUniform)
|
||||
profileRequires(base->getLoc(), EEsProfile, 0, Num_AEP_gpu_shader5, AEP_gpu_shader5, "variable indexing uniform block array");
|
||||
else
|
||||
requireProfile(base->getLoc(), ~EEsProfile, "variable indexing in/out block array");
|
||||
else {
|
||||
// input/output blocks either don't exist or can be variable indexed
|
||||
}
|
||||
} else if (language == EShLangFragment && base->getQualifier().isPipeOutput())
|
||||
requireProfile(base->getLoc(), ~EEsProfile, "variable indexing fragment shader ouput array");
|
||||
else if (base->getBasicType() == EbtSampler && version >= 130) {
|
||||
|
@ -1871,6 +1872,21 @@ bool TParseContext::lValueErrorCheck(const TSourceLoc& loc, const char* op, TInt
|
|||
switch(binaryNode->getOp()) {
|
||||
case EOpIndexDirect:
|
||||
case EOpIndexIndirect:
|
||||
// ... tessellation control shader ...
|
||||
// If a per-vertex output variable is used as an l-value, it is a
|
||||
// compile-time or link-time error if the expression indicating the
|
||||
// vertex index is not the identifier gl_InvocationID.
|
||||
if (language == EShLangTessControl) {
|
||||
const TType& leftType = binaryNode->getLeft()->getType();
|
||||
if (leftType.getQualifier().storage == EvqVaryingOut && ! leftType.getQualifier().patch && binaryNode->getLeft()->getAsSymbolNode()) {
|
||||
// we have a per-vertex output
|
||||
const TIntermSymbol* rightSymbol = binaryNode->getRight()->getAsSymbolNode();
|
||||
if (! rightSymbol || rightSymbol->getQualifier().builtIn != EbvInvocationId)
|
||||
error(loc, "tessellation-control per-vertex output l-value must be indexed with gl_InvocationID", "[]", "");
|
||||
}
|
||||
}
|
||||
|
||||
// fall through
|
||||
case EOpIndexDirectStruct:
|
||||
return lValueErrorCheck(loc, op, binaryNode->getLeft());
|
||||
case EOpVectorSwizzle:
|
||||
|
|
Загрузка…
Ссылка в новой задаче