mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-03 16:41:30 +00:00
fb4a0b60bf
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22315 e7fa87d3-cd2b-0410-9028-fcbf551c1848
61 lines
3.2 KiB
Plaintext
61 lines
3.2 KiB
Plaintext
Current functionality level: ESSL 3.0
|
|
|
|
Error checking
|
|
- compile-time check for static recursion
|
|
- location layout range/overlap semantics
|
|
|
|
Performance
|
|
|
|
Testing
|
|
- thread safety
|
|
|
|
Interfacing
|
|
- Put glslang in a namespace
|
|
|
|
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
|