fix incorrect error when multiple compilation units don't declare layouts (#2238)
when using multiple compilation units, input/output layouts don't need to be declared in every unit.
This commit is contained in:
@@ -936,7 +936,6 @@ ERROR: Linking tessellation control stage: can't handle multiple entry points pe
|
||||
ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
main(
|
||||
ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
|
||||
ERROR: Linking tessellation control stage: Contradictory layout vertices values
|
||||
ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
main(
|
||||
ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
@@ -961,7 +960,6 @@ ERROR: Linking tessellation evaluation stage: can't handle multiple entry points
|
||||
ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
main(
|
||||
ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
|
||||
ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
|
||||
ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
|
||||
ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
|
||||
ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
|
||||
63
Test/baseResults/contradict_0.geom.out
Executable file
63
Test/baseResults/contradict_0.geom.out
Executable file
@@ -0,0 +1,63 @@
|
||||
contradict_0.geom
|
||||
Shader version: 330
|
||||
invocations = -1
|
||||
max_vertices = 4
|
||||
input primitive = points
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp float)
|
||||
0:10 'v' ( temp float)
|
||||
0:10 Function Call: getV( ( global float)
|
||||
0:11 EndPrimitive ( global void)
|
||||
0:12 EndPrimitive ( global void)
|
||||
0:? Linker Objects
|
||||
|
||||
contradict_1.geom
|
||||
Shader version: 330
|
||||
invocations = -1
|
||||
max_vertices = 6
|
||||
input primitive = lines
|
||||
output primitive = line_strip
|
||||
0:? Sequence
|
||||
0:6 Function Definition: getV( ( global float)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:? Linker Objects
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
ERROR: Linking geometry stage: Contradictory layout max_vertices values
|
||||
ERROR: Linking geometry stage: Contradictory input layout primitives
|
||||
ERROR: Linking geometry stage: Contradictory output layout primitives
|
||||
|
||||
Shader version: 330
|
||||
invocations = 1
|
||||
max_vertices = 4
|
||||
input primitive = points
|
||||
output primitive = triangle_strip
|
||||
0:? Sequence
|
||||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:10 Sequence
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child ( temp float)
|
||||
0:10 'v' ( temp float)
|
||||
0:10 Function Call: getV( ( global float)
|
||||
0:11 EndPrimitive ( global void)
|
||||
0:12 EndPrimitive ( global void)
|
||||
0:6 Function Definition: getV( ( global float)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:? Linker Objects
|
||||
|
||||
13
Test/contradict_0.geom
Executable file
13
Test/contradict_0.geom
Executable file
@@ -0,0 +1,13 @@
|
||||
#version 330
|
||||
|
||||
layout(points) in;
|
||||
layout(triangle_strip, max_vertices = 4) out;
|
||||
|
||||
float getV();
|
||||
|
||||
void main (void)
|
||||
{
|
||||
float v = getV();
|
||||
EndPrimitive();
|
||||
EndPrimitive();
|
||||
}
|
||||
9
Test/contradict_1.geom
Executable file
9
Test/contradict_1.geom
Executable file
@@ -0,0 +1,9 @@
|
||||
#version 330
|
||||
|
||||
layout(lines) in;
|
||||
layout(line_strip, max_vertices = 6) out;
|
||||
|
||||
float getV()
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
Reference in New Issue
Block a user