Add link-time checks for max_vertices, input primitive, and output primitive for existence and matching.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24157 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-11-20 22:16:41 +00:00
parent 5134b9cf57
commit 1e91f5ee8d
9 changed files with 53 additions and 9 deletions

View File

@@ -70,5 +70,6 @@ ERROR: node is still EOpNull!
Linked geometry stage:
ERROR: Linking geometry stage: At least one geometry shader must specify an output layout primitive

View File

@@ -46,5 +46,8 @@ ERROR: node is still EOpNull!
Linked geometry stage:
ERROR: Linking geometry stage: At least one geometry shader must specify an input layout primitive
ERROR: Linking geometry stage: At least one geometry shader must specify an output layout primitive
ERROR: Linking geometry stage: At least one geometry shader must specify a layout(max_vertices = value)

View File

@@ -120,5 +120,7 @@ ERROR: node is still EOpNull!
Linked geometry stage:
ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
ERROR: Linking geometry stage: At least one geometry shader must specify an output layout primitive
ERROR: Linking geometry stage: At least one geometry shader must specify a layout(max_vertices = value)

View File

@@ -21,7 +21,7 @@ ERROR: 1 compilation errors. No code generated.
invocations = 0
max_vertices = 0
input primitive = none
output primitive = none
output primitive = points
ERROR: node is still EOpNull!
0:3 Function Definition: foo( (void)
0:3 Function Parameters:
@@ -33,7 +33,7 @@ Warning, version 150 is not yet complete; some version-specific features are pre
invocations = 0
max_vertices = 0
input primitive = none
output primitive = none
output primitive = line_strip
0:? Sequence
0:3 Function Definition: bar( (void)
0:3 Function Parameters:
@@ -42,7 +42,10 @@ output primitive = none
Linked geometry stage:
ERROR: Linking geometry stage: Contradictory output layout primitives
ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
ERROR: Linking geometry stage: At least one geometry shader must specify an input layout primitive
ERROR: Linking geometry stage: At least one geometry shader must specify a layout(max_vertices = value)
Linked fragment stage:
@@ -52,7 +55,7 @@ ERROR: Linking fragment stage: Multiple function bodies in multiple compilation
invocations = 0
max_vertices = 0
input primitive = none
output primitive = none
output primitive = points
ERROR: node is still EOpNull!
0:3 Function Definition: foo( (void)
0:3 Function Parameters:

View File

@@ -3,3 +3,5 @@
void foo()
{
}
layout(points) out;

View File

@@ -3,3 +3,5 @@
void bar()
{
}
layout(line_strip) out;