mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
Fix isIoResizeArray() tessellation stage handling
This commit is contained in:
parent
ae2a562936
commit
5597c8d7cf
254
Test/baseResults/link.tesselation.tese.out
Normal file
254
Test/baseResults/link.tesselation.tese.out
Normal file
@ -0,0 +1,254 @@
|
||||
link.tesselation.tese
|
||||
Shader version: 440
|
||||
input primitive = triangles
|
||||
vertex spacing = fractional_odd_spacing
|
||||
triangle order = cw
|
||||
0:? Sequence
|
||||
0:15 Function Definition: main( ( global void)
|
||||
0:15 Function Parameters:
|
||||
0:17 Sequence
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 'u' ( temp float)
|
||||
0:17 direct index ( temp float)
|
||||
0:17 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'v' ( temp float)
|
||||
0:18 direct index ( temp float)
|
||||
0:18 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 'w' ( temp float)
|
||||
0:19 direct index ( temp float)
|
||||
0:19 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:19 Constant:
|
||||
0:19 2 (const int)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp 2-component vector of float)
|
||||
0:21 'newUv' ( temp 2-component vector of float)
|
||||
0:21 Construct vec2 ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'u' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'v' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'w' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 2 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:22 move second child to first child ( temp 2-component vector of float)
|
||||
0:22 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:22 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 'newUv' ( temp 2-component vector of float)
|
||||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:23 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 0 (const uint)
|
||||
0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:23 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_PatchVerticesIn' ( in int PatchVertices)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
link.tesselation.tesc
|
||||
Shader version: 440
|
||||
vertices = 3
|
||||
0:? Sequence
|
||||
0:14 Function Definition: main( ( global void)
|
||||
0:14 Function Parameters:
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 2-component vector of float)
|
||||
0:16 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ out 2-component vector of float texCoord})
|
||||
0:16 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:16 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:16 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'tessLevel' ( temp float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 indirect index ( patch temp float TessLevelOuter)
|
||||
0:19 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter)
|
||||
0:19 'gl_InvocationID' ( in int InvocationID)
|
||||
0:19 'tessLevel' ( temp float)
|
||||
0:20 move second child to first child ( temp float)
|
||||
0:20 direct index ( patch temp float TessLevelInner)
|
||||
0:20 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 'tessLevel' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
||||
|
||||
Linked tessellation evaluation stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
vertices = 3
|
||||
0:? Sequence
|
||||
0:14 Function Definition: main( ( global void)
|
||||
0:14 Function Parameters:
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child ( temp 2-component vector of float)
|
||||
0:16 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ out 2-component vector of float texCoord})
|
||||
0:16 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:16 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:16 indirect index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:16 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:16 'gl_InvocationID' ( in int InvocationID)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'tessLevel' ( temp float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 indirect index ( patch temp float TessLevelOuter)
|
||||
0:19 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter)
|
||||
0:19 'gl_InvocationID' ( in int InvocationID)
|
||||
0:19 'tessLevel' ( temp float)
|
||||
0:20 move second child to first child ( temp float)
|
||||
0:20 direct index ( patch temp float TessLevelInner)
|
||||
0:20 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 'tessLevel' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
|
||||
Shader version: 440
|
||||
input primitive = triangles
|
||||
vertex spacing = fractional_odd_spacing
|
||||
triangle order = cw
|
||||
0:? Sequence
|
||||
0:15 Function Definition: main( ( global void)
|
||||
0:15 Function Parameters:
|
||||
0:17 Sequence
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 'u' ( temp float)
|
||||
0:17 direct index ( temp float)
|
||||
0:17 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child ( temp float)
|
||||
0:18 'v' ( temp float)
|
||||
0:18 direct index ( temp float)
|
||||
0:18 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child ( temp float)
|
||||
0:19 'w' ( temp float)
|
||||
0:19 direct index ( temp float)
|
||||
0:19 'gl_TessCoord' ( in 3-component vector of float TessCoord)
|
||||
0:19 Constant:
|
||||
0:19 2 (const int)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child ( temp 2-component vector of float)
|
||||
0:21 'newUv' ( temp 2-component vector of float)
|
||||
0:21 Construct vec2 ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 add ( temp 2-component vector of float)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'u' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'v' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:21 vector-scale ( temp 2-component vector of float)
|
||||
0:21 'w' ( temp float)
|
||||
0:21 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
|
||||
0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:21 Constant:
|
||||
0:21 2 (const int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:22 move second child to first child ( temp 2-component vector of float)
|
||||
0:22 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:22 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 'newUv' ( temp 2-component vector of float)
|
||||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:23 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 0 (const uint)
|
||||
0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:23 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_PatchVerticesIn' ( in int PatchVertices)
|
||||
0:23 Constant:
|
||||
0:23 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
94
Test/baseResults/link.tesselation.vert.out
Normal file
94
Test/baseResults/link.tesselation.vert.out
Normal file
@ -0,0 +1,94 @@
|
||||
link.tesselation.vert
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:14 move second child to first child ( temp 2-component vector of float)
|
||||
0:14 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:14 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:? 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
link.tesselation.frag
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:12 Function Definition: main( ( global void)
|
||||
0:12 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:14 texture ( global 4-component vector of float)
|
||||
0:14 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
0:14 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:14 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:? 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( ( global void)
|
||||
0:11 Function Parameters:
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child ( temp 4-component vector of float)
|
||||
0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:14 move second child to first child ( temp 2-component vector of float)
|
||||
0:14 texCoord: direct index for structure ( out 2-component vector of float)
|
||||
0:14 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'i_Pos' (layout( location=0) in 4-component vector of float)
|
||||
0:? 'i_Tex' (layout( location=1) in 2-component vector of float)
|
||||
0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
Shader version: 440
|
||||
0:? Sequence
|
||||
0:12 Function Definition: main( ( global void)
|
||||
0:12 Function Parameters:
|
||||
0:14 Sequence
|
||||
0:14 move second child to first child ( temp 4-component vector of float)
|
||||
0:14 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:14 texture ( global 4-component vector of float)
|
||||
0:14 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
0:14 texCoord: direct index for structure ( in 2-component vector of float)
|
||||
0:14 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
|
||||
0:? 'oColor' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'mytex' (layout( binding=0) uniform sampler2D)
|
||||
|
15
Test/link.tesselation.frag
Normal file
15
Test/link.tesselation.frag
Normal file
@ -0,0 +1,15 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) in Primitive
|
||||
{
|
||||
vec2 texCoord;
|
||||
} IN;
|
||||
|
||||
layout(location = 0) out vec4 oColor;
|
||||
|
||||
layout(binding = 0) uniform sampler2D mytex;
|
||||
|
||||
void main()
|
||||
{
|
||||
oColor = texture(mytex, IN.texCoord);
|
||||
}
|
21
Test/link.tesselation.tesc
Normal file
21
Test/link.tesselation.tesc
Normal file
@ -0,0 +1,21 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) in Primitive
|
||||
{
|
||||
vec2 texCoord;
|
||||
} IN[];
|
||||
|
||||
layout(location = 0) out Primitive
|
||||
{
|
||||
vec2 texCoord;
|
||||
} OUT[];
|
||||
|
||||
layout(vertices = 3) out;
|
||||
void main()
|
||||
{
|
||||
OUT[gl_InvocationID].texCoord = IN[gl_InvocationID].texCoord;
|
||||
|
||||
float tessLevel = 10.0;
|
||||
gl_TessLevelOuter[gl_InvocationID] = tessLevel;
|
||||
gl_TessLevelInner[0] = tessLevel;
|
||||
}
|
26
Test/link.tesselation.tese
Normal file
26
Test/link.tesselation.tese
Normal file
@ -0,0 +1,26 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) in Primitive
|
||||
{
|
||||
vec2 texCoord;
|
||||
} IN[];
|
||||
|
||||
layout(location = 0) out Primitive
|
||||
{
|
||||
vec2 texCoord;
|
||||
} OUT;
|
||||
|
||||
layout(triangles, fractional_odd_spacing) in;
|
||||
layout(cw) in;
|
||||
void main()
|
||||
{
|
||||
float u = gl_TessCoord.x;
|
||||
float v = gl_TessCoord.y;
|
||||
float w = gl_TessCoord.z;
|
||||
|
||||
vec2 newUv = vec2( u * IN[0].texCoord + v * IN[1].texCoord + w * IN[2].texCoord);
|
||||
OUT.texCoord = newUv;
|
||||
gl_Position = gl_in[gl_PatchVerticesIn].gl_Position;
|
||||
}
|
||||
|
||||
|
16
Test/link.tesselation.vert
Normal file
16
Test/link.tesselation.vert
Normal file
@ -0,0 +1,16 @@
|
||||
#version 440
|
||||
|
||||
layout(location = 0) in vec4 i_Pos;
|
||||
layout(location = 1) in vec2 i_Tex;
|
||||
|
||||
layout(location = 0) out Primitive
|
||||
{
|
||||
vec2 texCoord;
|
||||
} OUT;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = i_Pos;
|
||||
OUT.texCoord = i_Tex;
|
||||
}
|
||||
|
@ -2158,8 +2158,9 @@ int TIntermediate::computeBufferReferenceTypeSize(const TType& type)
|
||||
bool TIntermediate::isIoResizeArray(const TType& type, EShLanguage language) {
|
||||
return type.isArray() &&
|
||||
((language == EShLangGeometry && type.getQualifier().storage == EvqVaryingIn) ||
|
||||
(language == EShLangTessControl && type.getQualifier().storage == EvqVaryingOut &&
|
||||
(language == EShLangTessControl && (type.getQualifier().storage == EvqVaryingIn || type.getQualifier().storage == EvqVaryingOut) &&
|
||||
! type.getQualifier().patch) ||
|
||||
(language == EShLangTessEvaluation && type.getQualifier().storage == EvqVaryingIn) ||
|
||||
(language == EShLangFragment && type.getQualifier().storage == EvqVaryingIn &&
|
||||
type.getQualifier().pervertexNV) ||
|
||||
(language == EShLangMeshNV && type.getQualifier().storage == EvqVaryingOut &&
|
||||
|
@ -106,6 +106,8 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
{"link.multiAnonBlocksValid.0.0.vert", "link.multiAnonBlocksValid.0.1.vert"},
|
||||
{"link.multiBlocksInvalid.0.0.vert", "link.multiBlocksInvalid.0.1.vert"},
|
||||
{"link.multiBlocksValid.1.0.vert", "link.multiBlocksValid.1.1.vert"},
|
||||
{"link.tesselation.vert", "link.tesselation.frag"},
|
||||
{"link.tesselation.tese", "link.tesselation.tesc"},
|
||||
}))
|
||||
);
|
||||
// clang-format on
|
||||
|
Loading…
Reference in New Issue
Block a user