Add fma(), tie the 2x16 stuff to the correct versions.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27739 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2014-08-14 20:05:57 +00:00
parent 0a33592810
commit 58f5a5e77a
5 changed files with 114 additions and 6 deletions

View File

@@ -58,3 +58,14 @@ layout(location = 4) in vec4 ivlc[]; // ERROR
layout(location = 3) out vec4 ovla[];
layout(location = 4) out vec4 ovlb[];
layout(location = 4) out vec4 ovlc[]; // ERROR
precise vec3 pv3;
void foop()
{
precise double d;
pv3 *= pv3;
pv3 = fma(pv3, pv3, pv3);
d = fma(d, d, d);
}

View File

@@ -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)
0:? 'pv3' (3-component vector of float)
0:? 'a' (out 3-element array of int)
0:? 'outb' (out 5-element array of int)
0:? 'outc' (out 4-element array of int)

View File

@@ -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)
0:? 'pv3' (3-component vector of float)