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
This commit is contained in:
John Kessenich 2013-07-09 23:57:13 +00:00
parent d9d5f93da8
commit fb4a0b60bf
2 changed files with 56 additions and 33 deletions

View File

@ -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

View File

@ -152,6 +152,7 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test</Command>
<ClCompile Include="glslang\MachineIndependent\Constant.cpp" />
<ClCompile Include="glslang\MachineIndependent\glslang_tab.cpp">
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4065</DisableSpecificWarnings>
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">4065</DisableSpecificWarnings>
</ClCompile>
<ClCompile Include="glslang\MachineIndependent\InfoSink.cpp" />
<ClCompile Include="glslang\MachineIndependent\Initialize.cpp" />