@@ -341,6 +341,24 @@ ERROR: node is still EOpNull!
0:44 4 (const int)
0:44 Constant:
0:44 1 (const int)
0:64 Function Definition: foop( (void)
0:64 Function Parameters:
0:? Sequence
0:68 multiply second child into first child (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:69 move second child to first child (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 Function Call: fma(vf3;vf3;vf3; (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:70 move second child to first child (double)
0:70 'd' (double)
0:70 Function Call: fma(d1;d1;d1; (double)
0:70 'd' (double)
0:70 'd' (double)
0:70 'd' (double)
0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})
0:? 'outa' (4-element array of int)
...
...
@@ -356,6 +374,7 @@ ERROR: node is still EOpNull!
0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
0:? 'pv3' (3-component vector of float)
400.tese
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
...
...
@@ -1020,6 +1039,24 @@ vertices = 4
0:44 4 (const int)
0:44 Constant:
0:44 1 (const int)
0:64 Function Definition: foop( (void)
0:64 Function Parameters:
0:? Sequence
0:68 multiply second child into first child (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:69 move second child to first child (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 Function Call: fma(vf3;vf3;vf3; (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:70 move second child to first child (double)
0:70 'd' (double)
0:70 Function Call: fma(d1;d1;d1; (double)
0:70 'd' (double)
0:70 'd' (double)
0:70 'd' (double)
0:8 Function Definition: main( (void)
0:8 Function Parameters:
0:15 Function Definition: main( (void)
...
...
@@ -1098,6 +1135,7 @@ vertices = 4
0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
@@ -126,6 +126,24 @@ ERROR: node is still EOpNull!
0:44 4 (const int)
0:44 Constant:
0:44 1 (const int)
0:64 Function Definition: foop( (void)
0:64 Function Parameters:
0:? Sequence
0:68 multiply second child into first child (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:69 move second child to first child (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 Function Call: fma(vf3;vf3;vf3; (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:70 move second child to first child (double)
0:70 'd' (double)
0:70 Function Call: fma(d1;d1;d1; (double)
0:70 'd' (double)
0:70 'd' (double)
0:70 'd' (double)
0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})
0:? 'outa' (4-element array of int)
...
...
@@ -141,6 +159,7 @@ ERROR: node is still EOpNull!
0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
0:? 'pv3' (3-component vector of float)
Linked tessellation control stage:
...
...
@@ -258,6 +277,24 @@ ERROR: node is still EOpNull!
0:44 4 (const int)
0:44 Constant:
0:44 1 (const int)
0:64 Function Definition: foop( (void)
0:64 Function Parameters:
0:? Sequence
0:68 multiply second child into first child (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:68 'pv3' (3-component vector of float)
0:69 move second child to first child (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 Function Call: fma(vf3;vf3;vf3; (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:69 'pv3' (3-component vector of float)
0:70 move second child to first child (double)
0:70 'd' (double)
0:70 Function Call: fma(d1;d1;d1; (double)
0:70 'd' (double)
0:70 'd' (double)
0:70 'd' (double)
0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})
0:? 'outa' (4-element array of int)
...
...
@@ -273,4 +310,5 @@ ERROR: node is still EOpNull!
0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
@@ -147,7 +147,7 @@ Shader Functionality to Implement/Finish
+ Sampler arrays can take a variable index now, as long as it's value is uniform for all uses.
- Per-sample shading. Including sample input mask gl_SampleMaskIn[] and per-sample interpolation, with explicit interpolation built-ins interpolateAtCentroid(), interpolateAtSample(), and interpolateAtOffset().
- New precise qualifier to disallow optimizations that re-order operations or treat different instances of the same operator with different precision.
- Add a fused multiply and add built-in, fma(), in relation to the new precise qualifier. (Because a * b + c will require two operations under new rules for precise.)
+ Add a fused multiply and add built-in, fma(), in relation to the new precise qualifier. (Because a * b + c will require two operations under new rules for precise.)
+ Added new built-in floating-point functions
+ frexp() and ldexp()
+ packUnorm2x16(), unpackUnorm2x16(),
...
...
@@ -203,9 +203,9 @@ Shader Functionality to Implement/Finish
+ 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
- packSnorm2x16and unpackSnorm2x16
+ Add built-in functions to pack/unpack 16 bit floating-point numbers (ARB_shading_language_pack2f).
+ packHalf2x16 and unpackHalf2x16
+ packSnorm2x16and unpackSnorm2x16
- Add gl_FragDepth layout qualifiers to communicate what kind of changes will be made to gl_FragDepth (GL_AMD_conservative depth).
+ Add C-style curly brace initializer lists syntax for initializers. Full initialization of aggregates is required when these are used.
+ Allow .length() to be applied to vectors and matrices, returning the number of components or columns.