Commit fb4a0b60 by John Kessenich

Fix warning in release build. Update to-do list.

parent d9d5f93d
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
* Use the new versioning infrastructure to identify all errors specific to - location layout range/overlap semantics
- profile
- extension Performance
- version
- stage Testing
- thread safety
* Add semantics and productions for all new grammar (1.2 through 4.3)
1.2 Interfacing
- uniform initializers - Put glslang in a namespace
- non-square matrices
- centroids/multisample Functionality
- gl_PointCoord - "const" compile-time constant propagation in the front-end has to be complete, for all built-in functions
GLSL 1.2
1.3 - Handle multiple compilation units per stage
- integer ops - Allow initializers on uniform declarations. The value is set at link time.
- integer built-in functions - signature matching takes type conversions into account, ambiguity is an error
- switch GLSL 1.3
- bunch of new built-ins . flat is for both user and predeclared built-in in/out variables
- noperspective GLSL 1.3 (Non-ES)
- Preprocessor token pasting (##), ## does macro expansion after pasting not before
1.4 - non-perspective (linear) interpolation (noperspective)
- uniform blocks - add gl_ClipDistance[] to both vertex and fragment shaders
- layout qualifiers - only statically used built-ins have to be redeclared as flat
- texture buffers - Link: Deprecated mixing fixed vertex/fragment stage with programmable fragment/vertex stage.
- Deprecated gl_ClipVertex
1.5 - deprecate almost all built-in state
- geometry shaders - ftransform() is deprecated
- Deprecated built-in vertex inputs (attributes) and some outputs (varyings).
3.3 GLSL 1.4 (Non-ES)
- ... - track as removed in this release, but present in others:
- Use of gl_ClipVertex. Use gl_ClipDistance instead.
* Replace the preprocessor with a better one. - Built-in vertex shader inputs.
- Built-in uniforms except for depth range parameters
* Verify/fix thread safety of the parse context. - 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
...@@ -152,6 +152,7 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test</Command> ...@@ -152,6 +152,7 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test</Command>
<ClCompile Include="glslang\MachineIndependent\Constant.cpp" /> <ClCompile Include="glslang\MachineIndependent\Constant.cpp" />
<ClCompile Include="glslang\MachineIndependent\glslang_tab.cpp"> <ClCompile Include="glslang\MachineIndependent\glslang_tab.cpp">
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4065</DisableSpecificWarnings> <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4065</DisableSpecificWarnings>
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">4065</DisableSpecificWarnings>
</ClCompile> </ClCompile>
<ClCompile Include="glslang\MachineIndependent\InfoSink.cpp" /> <ClCompile Include="glslang\MachineIndependent\InfoSink.cpp" />
<ClCompile Include="glslang\MachineIndependent\Initialize.cpp" /> <ClCompile Include="glslang\MachineIndependent\Initialize.cpp" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment