Add geometry-shader stream, invocations, max_vertices, lines, triangles, etc. layout qualifiers, and their default/inheritance behaviors, and some other misc. geometry shader features. (Geometry shaders are not yet done though.)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23679 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
18
Todo.txt
18
Todo.txt
@@ -37,6 +37,9 @@ Link Validation
|
||||
- Non ES: matching redeclarations of interface blocks
|
||||
- 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: 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: match between all explicit input array sizes and input primitive
|
||||
- 4.3: Be clear that early_fragment_tests is only needed in one fragment-stage compilation unit.
|
||||
- 4.3: Be clear that implicit array sizing is only within a stage, not cross stage.
|
||||
- 4.4: overlapping transform/feedback offsets, offset/stride overflow checks, and stride matching
|
||||
@@ -50,11 +53,12 @@ Shader Functionality to Implement/Finish
|
||||
+ implement non-inductive array accesses limitation detection
|
||||
ESSL 3.0
|
||||
- "const" compile-time constant propagation in the front-end has to be complete, for all built-in functions
|
||||
- add limitation around #define GL_FRAGMENT_PRECISION_HIGH 1 ?
|
||||
GLSL 1.2
|
||||
+ Handle multiple compilation units per stage
|
||||
+ Allow initializers on uniform declarations
|
||||
- signature matching takes type conversions into account, ambiguity is an error
|
||||
- all constructors to contain non-dereferenced arrays?
|
||||
- allow constructors to contain non-dereferenced arrays?
|
||||
GLSL 1.3
|
||||
. flat is for both user and predeclared built-in in/out variables
|
||||
GLSL 1.3 (Non-ES)
|
||||
@@ -77,7 +81,7 @@ Shader Functionality to Implement/Finish
|
||||
+ ftransform(). Use invariant outputs instead.
|
||||
GLSL 1.5 (Non-ES)
|
||||
- Deprecated gl_MaxVaryingComponents
|
||||
- Add new minimum maximums for gl_MaxVertexOutputComponents, gl_MaxGeometryInputComponents, gl_MaxGeometryOutputComponents, and gl_MaxFragmentInputComponents,
|
||||
+ Add new minimum maximums for gl_MaxVertexOutputComponents, gl_MaxGeometryInputComponents, gl_MaxGeometryOutputComponents, and gl_MaxFragmentInputComponents,
|
||||
rather than relying on gl_MaxVaryingComponents. Also, corrected gl_MaxVaryingComponents to be 60 instead of 64.
|
||||
+ Added gl_PrimitiveID as an input to fragment shaders.
|
||||
- Added gl_FragCoord qualifiers origin_upper_left, and pixel_center_integer to modify the values returned by gl_FragCoord (and have no affect on any other aspect of the pipeline or language).
|
||||
@@ -85,10 +89,10 @@ Shader Functionality to Implement/Finish
|
||||
- Added support for multi-sample textures through sampler2DMS and sampler2DMSArray support in texelFetch() and textureSize().
|
||||
+ Broadened interface blocks from just uniforms to in and out interfaces as well.
|
||||
+ Broaden array usage to include vertex shader inputs (vertex in).
|
||||
- Added geometry shaders. This includes targeting layers in FBO rendering.
|
||||
- geometry shader layouts: they must be declared, telling the system the primitive input and output types and maximum number of vertices.
|
||||
- Added geometry shader constants.
|
||||
- Broaden structure usage to include geometry inputs and geometry outputs.
|
||||
+ Added geometry shaders. This includes targeting layers in FBO rendering.
|
||||
+ geometry shader layouts: they must be declared, telling the system the primitive input and output types and maximum number of vertices.
|
||||
+ Added geometry shader constants.
|
||||
+ Broaden structure usage to include geometry inputs and geometry outputs.
|
||||
GLSL 4.0
|
||||
- tessellation control stage and tessellation evaluation stage. Includes barrier() built-in for synchronization.
|
||||
- Polymorphic functions: Run-time selection of what function gets called, through the new keyword subroutine.
|
||||
@@ -203,7 +207,7 @@ Shader Functionality to Implement/Finish
|
||||
- Set both gl_MaxFragmentImageUniformsand gl_MaxCombinedImageUniforms to 8.
|
||||
- Clarify textureSize() for cube map arrays.
|
||||
- For layout qualifiers,
|
||||
- make negative output locations a compile-time error, and
|
||||
- make negative output locations a compile-time error, once integer expressions are allowed in layouts
|
||||
- make indexes outside the range [0,1] a compile-time error.
|
||||
- Add textureQueryLevels() built-ins to query the number of mipmap levels, as per the
|
||||
GL_ARB_texture_query_levels extension.
|
||||
|
||||
Reference in New Issue
Block a user