Fix warning in release build. Update to-do list.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22315 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/Todo.txt b/Todo.txt
index 77efe15..2091276 100644
--- a/Todo.txt
+++ b/Todo.txt
@@ -1,38 +1,60 @@
-Minor "to do" items are identified in the source code with "TODO..." comments.
+Current functionality level: ESSL 3.0
-Major items to do:
+Error checking
+ - compile-time check for static recursion
+ - location layout range/overlap semantics
-* Use the new versioning infrastructure to identify all errors specific to
- - profile
- - extension
- - version
- - stage
-
-* Add semantics and productions for all new grammar (1.2 through 4.3)
- 1.2
- - uniform initializers
- - non-square matrices
- - centroids/multisample
- - gl_PointCoord
+Performance
- 1.3
- - integer ops
- - integer built-in functions
- - switch
- - bunch of new built-ins
- - noperspective
+Testing
+ - thread safety
- 1.4
- - uniform blocks
- - layout qualifiers
- - texture buffers
+Interfacing
+ - Put glslang in a namespace
- 1.5
- - geometry shaders
-
- 3.3
- - ...
-
-* Replace the preprocessor with a better one.
-
-* Verify/fix thread safety of the parse context.
+Functionality
+ - "const" compile-time constant propagation in the front-end has to be complete, for all built-in functions
+ GLSL 1.2
+ - Handle multiple compilation units per stage
+ - Allow initializers on uniform declarations. The value is set at link time.
+ - signature matching takes type conversions into account, ambiguity is an error
+ GLSL 1.3
+ . flat is for both user and predeclared built-in in/out variables
+ GLSL 1.3 (Non-ES)
+ - Preprocessor token pasting (##), ## does macro expansion after pasting not before
+ - non-perspective (linear) interpolation (noperspective)
+ - add gl_ClipDistance[] to both vertex and fragment shaders
+ - only statically used built-ins have to be redeclared as flat
+ - Link: Deprecated mixing fixed vertex/fragment stage with programmable fragment/vertex stage.
+ - Deprecated gl_ClipVertex
+ - deprecate almost all built-in state
+ - ftransform() is deprecated
+ - Deprecated built-in vertex inputs (attributes) and some outputs (varyings).
+ GLSL 1.4 (Non-ES)
+ - track as removed in this release, but present in others:
+ - Use of gl_ClipVertex. Use gl_ClipDistance instead.
+ - Built-in vertex shader inputs.
+ - Built-in uniforms except for depth range parameters
+ - Built-in interface between vertex and fragment: gl_TexCoord, gl_FogFragCoord, and all the color values.
+ - Built-in two-sided coloring.
+ - Fixed functionality for a programmable stage. Supply shaders for all stages currently being used.
+ - 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,
+ 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).
+ - 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.
+ - gl_FragCoord qualifiers use the layout(): origin_upper_left and pixel_center_integer.
+ - Broaden structure usage to include geometry inputs and geometry outputs.
+ GLSL 4.0
+ GLSL 4.1
+ GLSL 4.2
+ GLSL 4.3
+ GLSL 4.4