Add the bitField built-in functions. Mark 330 as being complete.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27728 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
cd77f8e922
commit
be70339296
14 changed files with 560 additions and 19 deletions
38
Todo.txt
38
Todo.txt
|
|
@ -69,6 +69,17 @@ 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
|
||||
ESSL 3.1
|
||||
+ Compute shaders
|
||||
+ Shader storage buffer objects
|
||||
- Arrays of arrays
|
||||
+ Atomic counters
|
||||
+ Images
|
||||
+ Separate program objects (also known as separate shader objects)
|
||||
+ Explicit uniform locations
|
||||
+ Texture gather
|
||||
+ Bitfield operations
|
||||
+ Integer mix function
|
||||
GLSL 1.2
|
||||
+ Handle multiple compilation units per stage
|
||||
+ Allow initializers on uniform declarations
|
||||
|
|
@ -108,6 +119,9 @@ Shader Functionality to Implement/Finish
|
|||
+ Broaden structure usage to include geometry inputs and geometry outputs.
|
||||
+ texel offset limit checking
|
||||
+ 1.50: geometry shaders: max_vertices must be checked against gl_MaxGeometryOutputVertices (maybe at compile time)
|
||||
GLSL 3.3
|
||||
+ Add ARB_explicit_attrib_location extension
|
||||
+ Add ARB_shader_bit_encoding extension
|
||||
GLSL 4.0
|
||||
+ tessellation control stage and tessellation evaluation stage. Includes barrier() built-in for synchronization.
|
||||
+ patch in, patch out
|
||||
|
|
@ -179,8 +193,8 @@ Shader Functionality to Implement/Finish
|
|||
+ The const keyword can be used to declare variables within a function body with initializer expressions that are not constant expressions.
|
||||
+ Qualifiers on variable declarations no longer have to follow a strict order. The layout qualifier can be used multiple times, and multiple parameter qualifiers can be used.
|
||||
+ Parameter qualifiers can include precision and memory qualifiers.
|
||||
- Add a new atomic_uint type to support atomic counters. Also, add built-in functions for manipulating atomic counters.
|
||||
- atomicCounterIncrement, atomicCounterDecrement, and atomicCounter
|
||||
+ Add a new atomic_uint type to support atomic counters. Also, add built-in functions for manipulating atomic counters.
|
||||
+ atomicCounterIncrement, atomicCounterDecrement, and atomicCounter
|
||||
- Add layout qualifier identifiers binding and offset to bind units to sampler and image variable declarations, atomic counters, and uniform blocks.
|
||||
- Add built-in functions to pack/unpack 16 bit floating-point numbers (ARB_shading_language_pack2f).
|
||||
- packHalf2x16 and unpackHalf2x16
|
||||
|
|
@ -196,11 +210,12 @@ Shader Functionality to Implement/Finish
|
|||
+ Use vec2 instead of vec3 for coordinate in textureGather*(sampler2DRect,...).
|
||||
+ Clarify that textureGatherOffset() can take non-constants for the offsets.
|
||||
GLSL 4.3
|
||||
- Add shader storage buffer objects, as per the ARB_shader_storage_buffer_object extension. This includes
|
||||
+ Add shader storage buffer objects, as per the ARB_shader_storage_buffer_object extension. This includes
|
||||
+ allowing the last member of a storage buffer block to be an array that does not know its size until render time
|
||||
- read/write memory shared with the application and other shader invocations
|
||||
+ read/write memory shared with the application and other shader invocations
|
||||
+ adding the std430 layout qualifier for shader storage blocks
|
||||
- add atomic built-ins
|
||||
+ add atomic built-ins
|
||||
+ layout(binding=)
|
||||
- Allow .length() on all arrays; returning a compile-time constant or not, depending on how the
|
||||
array is sized, as per the ARB_shader_storage_buffer_object extension.
|
||||
- Be clear that implicit array sizing is only within a stage, not cross stage.
|
||||
|
|
@ -250,4 +265,15 @@ Shader Functionality to Implement/Finish
|
|||
transform feedback buffering.
|
||||
+ Bug 10530: To be consistent with ES, include sample types as valid in a precision statement.
|
||||
Note the defaults are irrelevant, as precision qualifiers are not required or have any meaning.
|
||||
|
||||
GLSL 4.5
|
||||
+ Incorporate the ARB_ES3_1_compatibility extension
|
||||
+ Supports OpenGL ES 310 shaders.
|
||||
+ Adds imageAtomicExchange() built-in function for floating-point images.
|
||||
+ Adds coherent to atomic and image-atomic built-in function parameters.
|
||||
+ Adds gl_HelperInvocation built-in variable to say whether a fragment shader invocation is
|
||||
only as a helper, so the shader can skip code not needed or harmful when in a helper invocation.
|
||||
+ Adds gl_MaxSamplesbuilt-in constant, and several other built-in constants.
|
||||
+ Adds mix() built-in functions for selection of int, uint, andbool components.
|
||||
+ Incorporate the GL_ARB_shader_texture_image_samples extension to query how many samples are in a multi-sample texture or image.
|
||||
+ Incorporate the GL_ARB_cull_distance extensions to add the built-in variable gl_CullDistance[] , which will cull whole primitives.
|
||||
+ Incorporate the GL_ARB_derivative_control extension
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue