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

@@ -25,20 +25,20 @@ Link Validation
- number of texture image units
- texel offsets (or compile-time?)
- number of input/output compononents
- tessellation limits
- 4.x tessellation limits
- 1.50: geometry shaders: max_vertices must be checked against gl_MaxGeometryOutputVertices (maybe at compile time)
- Non ES: gl_TexCoord can only have a max array size of up to gl_MaxTextureCoords
- ...
+ exactly one main
+ ES 3.0: fragment outputs all have locations, if more than one
- ES 3.0: location aliasing/overlap (except desktop vertex shader inputs)
- Non ES: binding overlap?
- Non ES: gl_TexCoord can only have a max array size of up to gl_MaxTextureCoords
+ Non ES: geometry shader input array sizes and input layout qualifier declaration
+ Non ES: read or write to both gl_ClipVertex and gl_ClipDistance
+ Non ES: write to only one of gl_FragColor, gl_FragData, or user-declared
+ 1.50: match between all explicit input array sizes and input primitive
- 1.50: at least one geometry shader says input primitive and at least one says output primitive...
- 1.50: at least one geometry shader says max_vertices...
- 1.50: geometry shaders: max_vertices must be checked against gl_MaxGeometryOutputVertices (maybe at compile time)
+ 1.50: at least one geometry shader says input primitive and at least one says output primitive...
+ 1.50: at least one geometry shader says max_vertices...
+ 1.50: origin_upper_left and pixel_center_integer have to match
- Even the potential for recursion through subroutine uniforms is an error.
- 4.4: An interface contains two different blocks, each with no instance name, where the blocks contain a member with the same name.