Front-ends GLSL/HLSL: Fix initializer lists for structs of one member.
Single member structs initialized with an initializer list had an incorrect argument for constructor emulation.
This commit is contained in:
parent
96e9f47cbb
commit
ff13213547
@ -51,6 +51,18 @@ struct S4 {
|
|||||||
S3 s[2];
|
S3 s[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Single1 { int f; };
|
||||||
|
Single1 single1 = { 10 };
|
||||||
|
|
||||||
|
struct Single2 { uvec2 v; };
|
||||||
|
Single2 single2 = { { 1, 2 } };
|
||||||
|
|
||||||
|
struct Single3 { Single1 s1; };
|
||||||
|
Single3 single3 = { { 3 } };
|
||||||
|
|
||||||
|
struct Single4 { Single2 s1; };
|
||||||
|
Single4 single4 = { { { 4u, 5u } } };
|
||||||
|
|
||||||
const S4 constructed = S4(uvec2(1, 2),
|
const S4 constructed = S4(uvec2(1, 2),
|
||||||
S3[2](S3(3.0, mat2x3(4.0)),
|
S3[2](S3(3.0, mat2x3(4.0)),
|
||||||
S3(5.0, mat2x3(6.0))));
|
S3(5.0, mat2x3(6.0))));
|
||||||
|
@ -732,7 +732,7 @@ ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot con
|
|||||||
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
|
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
|
||||||
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
|
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
|
||||||
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
|
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
|
||||||
ERROR: 0:58: 'initializer list' : wrong number of structure members
|
ERROR: 0:70: 'initializer list' : wrong number of structure members
|
||||||
ERROR: 13 compilation errors. No code generated.
|
ERROR: 13 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
@ -770,51 +770,73 @@ ERROR: node is still EOpNull!
|
|||||||
0:42 5.000000
|
0:42 5.000000
|
||||||
0:42 5.200000
|
0:42 5.200000
|
||||||
0:42 1.100000
|
0:42 1.100000
|
||||||
0:67 Sequence
|
0:55 Sequence
|
||||||
0:67 move second child to first child (temp 3-component vector of float)
|
0:55 move second child to first child (temp structure{global int f})
|
||||||
0:67 'av3' (global 3-component vector of float)
|
0:55 'single1' (global structure{global int f})
|
||||||
0:67 Construct vec3 (global 3-component vector of float)
|
0:55 Constant:
|
||||||
0:67 'vc1' (global float)
|
0:55 10 (const int)
|
||||||
0:67 'vc2' (global float)
|
0:58 Sequence
|
||||||
0:67 'vc3' (global float)
|
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||||
0:68 Sequence
|
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||||
0:68 move second child to first child (temp 3-component vector of float)
|
0:58 Constant:
|
||||||
0:68 'bv3' (global 3-component vector of float)
|
0:58 1 (const uint)
|
||||||
0:68 Construct vec3 (temp 3-component vector of float)
|
0:58 2 (const uint)
|
||||||
0:68 'vc1' (global float)
|
0:61 Sequence
|
||||||
0:68 'vc2' (global float)
|
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||||
0:68 'vc3' (global float)
|
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||||
0:70 Function Definition: main( (global void)
|
0:61 Constant:
|
||||||
0:70 Function Parameters:
|
0:61 3 (const int)
|
||||||
0:72 Sequence
|
0:64 Sequence
|
||||||
0:72 MemoryBarrier (global void)
|
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Test condition and select (temp void)
|
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Condition
|
0:64 Constant:
|
||||||
0:74 Compare Equal (temp bool)
|
0:64 4 (const uint)
|
||||||
0:74 Constant:
|
0:64 5 (const uint)
|
||||||
0:74 1 (const uint)
|
0:79 Sequence
|
||||||
0:74 2 (const uint)
|
0:79 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 3.000000
|
0:79 'av3' (global 3-component vector of float)
|
||||||
0:74 4.000000
|
0:79 Construct vec3 (global 3-component vector of float)
|
||||||
0:74 0.000000
|
0:79 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc3' (global float)
|
||||||
0:74 4.000000
|
0:80 Sequence
|
||||||
0:74 0.000000
|
0:80 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 5.000000
|
0:80 'bv3' (global 3-component vector of float)
|
||||||
0:74 6.000000
|
0:80 Construct vec3 (temp 3-component vector of float)
|
||||||
0:74 0.000000
|
0:80 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc3' (global float)
|
||||||
0:74 6.000000
|
0:82 Function Definition: main( (global void)
|
||||||
0:74 0.000000
|
0:82 Function Parameters:
|
||||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:84 Sequence
|
||||||
0:74 true case is null
|
0:84 MemoryBarrier (global void)
|
||||||
0:76 Test condition and select (temp void)
|
0:86 Test condition and select (temp void)
|
||||||
0:76 Condition
|
0:86 Condition
|
||||||
0:76 Constant:
|
0:86 Compare Equal (temp bool)
|
||||||
0:76 true (const bool)
|
0:86 Constant:
|
||||||
0:76 true case is null
|
0:86 1 (const uint)
|
||||||
|
0:86 2 (const uint)
|
||||||
|
0:86 3.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 5.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
|
0:86 true case is null
|
||||||
|
0:88 Test condition and select (temp void)
|
||||||
|
0:88 Condition
|
||||||
|
0:88 Constant:
|
||||||
|
0:88 true (const bool)
|
||||||
|
0:88 true case is null
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'a' (const 2X2 matrix of float)
|
0:? 'a' (const 2X2 matrix of float)
|
||||||
0:? 1.000000
|
0:? 1.000000
|
||||||
@ -840,6 +862,10 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'c3' (global 4X2 matrix of float)
|
0:? 'c3' (global 4X2 matrix of float)
|
||||||
0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
|
0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
|
||||||
0:? 'b5' (global 5-element array of float)
|
0:? 'b5' (global 5-element array of float)
|
||||||
|
0:? 'single1' (global structure{global int f})
|
||||||
|
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||||
|
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||||
|
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
0:? 1 (const uint)
|
0:? 1 (const uint)
|
||||||
0:? 2 (const uint)
|
0:? 2 (const uint)
|
||||||
@ -1524,51 +1550,73 @@ ERROR: node is still EOpNull!
|
|||||||
0:42 5.000000
|
0:42 5.000000
|
||||||
0:42 5.200000
|
0:42 5.200000
|
||||||
0:42 1.100000
|
0:42 1.100000
|
||||||
0:67 Sequence
|
0:55 Sequence
|
||||||
0:67 move second child to first child (temp 3-component vector of float)
|
0:55 move second child to first child (temp structure{global int f})
|
||||||
0:67 'av3' (global 3-component vector of float)
|
0:55 'single1' (global structure{global int f})
|
||||||
0:67 Construct vec3 (global 3-component vector of float)
|
0:55 Constant:
|
||||||
0:67 'vc1' (global float)
|
0:55 10 (const int)
|
||||||
0:67 'vc2' (global float)
|
0:58 Sequence
|
||||||
0:67 'vc3' (global float)
|
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||||
0:68 Sequence
|
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||||
0:68 move second child to first child (temp 3-component vector of float)
|
0:58 Constant:
|
||||||
0:68 'bv3' (global 3-component vector of float)
|
0:58 1 (const uint)
|
||||||
0:68 Construct vec3 (temp 3-component vector of float)
|
0:58 2 (const uint)
|
||||||
0:68 'vc1' (global float)
|
0:61 Sequence
|
||||||
0:68 'vc2' (global float)
|
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||||
0:68 'vc3' (global float)
|
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||||
0:70 Function Definition: main( (global void)
|
0:61 Constant:
|
||||||
0:70 Function Parameters:
|
0:61 3 (const int)
|
||||||
0:72 Sequence
|
0:64 Sequence
|
||||||
0:72 MemoryBarrier (global void)
|
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Test condition and select (temp void)
|
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Condition
|
0:64 Constant:
|
||||||
0:74 Compare Equal (temp bool)
|
0:64 4 (const uint)
|
||||||
0:74 Constant:
|
0:64 5 (const uint)
|
||||||
0:74 1 (const uint)
|
0:79 Sequence
|
||||||
0:74 2 (const uint)
|
0:79 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 3.000000
|
0:79 'av3' (global 3-component vector of float)
|
||||||
0:74 4.000000
|
0:79 Construct vec3 (global 3-component vector of float)
|
||||||
0:74 0.000000
|
0:79 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc3' (global float)
|
||||||
0:74 4.000000
|
0:80 Sequence
|
||||||
0:74 0.000000
|
0:80 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 5.000000
|
0:80 'bv3' (global 3-component vector of float)
|
||||||
0:74 6.000000
|
0:80 Construct vec3 (temp 3-component vector of float)
|
||||||
0:74 0.000000
|
0:80 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc3' (global float)
|
||||||
0:74 6.000000
|
0:82 Function Definition: main( (global void)
|
||||||
0:74 0.000000
|
0:82 Function Parameters:
|
||||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:84 Sequence
|
||||||
0:74 true case is null
|
0:84 MemoryBarrier (global void)
|
||||||
0:76 Test condition and select (temp void)
|
0:86 Test condition and select (temp void)
|
||||||
0:76 Condition
|
0:86 Condition
|
||||||
0:76 Constant:
|
0:86 Compare Equal (temp bool)
|
||||||
0:76 true (const bool)
|
0:86 Constant:
|
||||||
0:76 true case is null
|
0:86 1 (const uint)
|
||||||
|
0:86 2 (const uint)
|
||||||
|
0:86 3.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 5.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
|
0:86 true case is null
|
||||||
|
0:88 Test condition and select (temp void)
|
||||||
|
0:88 Condition
|
||||||
|
0:88 Constant:
|
||||||
|
0:88 true (const bool)
|
||||||
|
0:88 true case is null
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'patchIn' (patch in 4-component vector of float)
|
0:? 'patchIn' (patch in 4-component vector of float)
|
||||||
0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
|
0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
|
||||||
@ -1616,6 +1664,10 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'c3' (global 4X2 matrix of float)
|
0:? 'c3' (global 4X2 matrix of float)
|
||||||
0:? 'd2' (global 1-element array of structure{global float s, global float t})
|
0:? 'd2' (global 1-element array of structure{global float s, global float t})
|
||||||
0:? 'b5' (global 5-element array of float)
|
0:? 'b5' (global 5-element array of float)
|
||||||
|
0:? 'single1' (global structure{global int f})
|
||||||
|
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||||
|
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||||
|
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
0:? 1 (const uint)
|
0:? 1 (const uint)
|
||||||
0:? 2 (const uint)
|
0:? 2 (const uint)
|
||||||
|
@ -12,7 +12,7 @@ ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot con
|
|||||||
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
|
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
|
||||||
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
|
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
|
||||||
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
|
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
|
||||||
ERROR: 0:58: 'initializer list' : wrong number of structure members
|
ERROR: 0:70: 'initializer list' : wrong number of structure members
|
||||||
ERROR: 13 compilation errors. No code generated.
|
ERROR: 13 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
@ -50,51 +50,73 @@ ERROR: node is still EOpNull!
|
|||||||
0:42 5.000000
|
0:42 5.000000
|
||||||
0:42 5.200000
|
0:42 5.200000
|
||||||
0:42 1.100000
|
0:42 1.100000
|
||||||
0:67 Sequence
|
0:55 Sequence
|
||||||
0:67 move second child to first child (temp 3-component vector of float)
|
0:55 move second child to first child (temp structure{global int f})
|
||||||
0:67 'av3' (global 3-component vector of float)
|
0:55 'single1' (global structure{global int f})
|
||||||
0:67 Construct vec3 (global 3-component vector of float)
|
0:55 Constant:
|
||||||
0:67 'vc1' (global float)
|
0:55 10 (const int)
|
||||||
0:67 'vc2' (global float)
|
0:58 Sequence
|
||||||
0:67 'vc3' (global float)
|
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||||
0:68 Sequence
|
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||||
0:68 move second child to first child (temp 3-component vector of float)
|
0:58 Constant:
|
||||||
0:68 'bv3' (global 3-component vector of float)
|
0:58 1 (const uint)
|
||||||
0:68 Construct vec3 (temp 3-component vector of float)
|
0:58 2 (const uint)
|
||||||
0:68 'vc1' (global float)
|
0:61 Sequence
|
||||||
0:68 'vc2' (global float)
|
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||||
0:68 'vc3' (global float)
|
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||||
0:70 Function Definition: main( (global void)
|
0:61 Constant:
|
||||||
0:70 Function Parameters:
|
0:61 3 (const int)
|
||||||
0:72 Sequence
|
0:64 Sequence
|
||||||
0:72 MemoryBarrier (global void)
|
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Test condition and select (temp void)
|
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Condition
|
0:64 Constant:
|
||||||
0:74 Compare Equal (temp bool)
|
0:64 4 (const uint)
|
||||||
0:74 Constant:
|
0:64 5 (const uint)
|
||||||
0:74 1 (const uint)
|
0:79 Sequence
|
||||||
0:74 2 (const uint)
|
0:79 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 3.000000
|
0:79 'av3' (global 3-component vector of float)
|
||||||
0:74 4.000000
|
0:79 Construct vec3 (global 3-component vector of float)
|
||||||
0:74 0.000000
|
0:79 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc3' (global float)
|
||||||
0:74 4.000000
|
0:80 Sequence
|
||||||
0:74 0.000000
|
0:80 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 5.000000
|
0:80 'bv3' (global 3-component vector of float)
|
||||||
0:74 6.000000
|
0:80 Construct vec3 (temp 3-component vector of float)
|
||||||
0:74 0.000000
|
0:80 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc3' (global float)
|
||||||
0:74 6.000000
|
0:82 Function Definition: main( (global void)
|
||||||
0:74 0.000000
|
0:82 Function Parameters:
|
||||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:84 Sequence
|
||||||
0:74 true case is null
|
0:84 MemoryBarrier (global void)
|
||||||
0:76 Test condition and select (temp void)
|
0:86 Test condition and select (temp void)
|
||||||
0:76 Condition
|
0:86 Condition
|
||||||
0:76 Constant:
|
0:86 Compare Equal (temp bool)
|
||||||
0:76 true (const bool)
|
0:86 Constant:
|
||||||
0:76 true case is null
|
0:86 1 (const uint)
|
||||||
|
0:86 2 (const uint)
|
||||||
|
0:86 3.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 5.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
|
0:86 true case is null
|
||||||
|
0:88 Test condition and select (temp void)
|
||||||
|
0:88 Condition
|
||||||
|
0:88 Constant:
|
||||||
|
0:88 true (const bool)
|
||||||
|
0:88 true case is null
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'a' (const 2X2 matrix of float)
|
0:? 'a' (const 2X2 matrix of float)
|
||||||
0:? 1.000000
|
0:? 1.000000
|
||||||
@ -120,6 +142,10 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'c3' (global 4X2 matrix of float)
|
0:? 'c3' (global 4X2 matrix of float)
|
||||||
0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
|
0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
|
||||||
0:? 'b5' (global 5-element array of float)
|
0:? 'b5' (global 5-element array of float)
|
||||||
|
0:? 'single1' (global structure{global int f})
|
||||||
|
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||||
|
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||||
|
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
0:? 1 (const uint)
|
0:? 1 (const uint)
|
||||||
0:? 2 (const uint)
|
0:? 2 (const uint)
|
||||||
@ -200,51 +226,73 @@ ERROR: node is still EOpNull!
|
|||||||
0:42 5.000000
|
0:42 5.000000
|
||||||
0:42 5.200000
|
0:42 5.200000
|
||||||
0:42 1.100000
|
0:42 1.100000
|
||||||
0:67 Sequence
|
0:55 Sequence
|
||||||
0:67 move second child to first child (temp 3-component vector of float)
|
0:55 move second child to first child (temp structure{global int f})
|
||||||
0:67 'av3' (global 3-component vector of float)
|
0:55 'single1' (global structure{global int f})
|
||||||
0:67 Construct vec3 (global 3-component vector of float)
|
0:55 Constant:
|
||||||
0:67 'vc1' (global float)
|
0:55 10 (const int)
|
||||||
0:67 'vc2' (global float)
|
0:58 Sequence
|
||||||
0:67 'vc3' (global float)
|
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||||
0:68 Sequence
|
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||||
0:68 move second child to first child (temp 3-component vector of float)
|
0:58 Constant:
|
||||||
0:68 'bv3' (global 3-component vector of float)
|
0:58 1 (const uint)
|
||||||
0:68 Construct vec3 (temp 3-component vector of float)
|
0:58 2 (const uint)
|
||||||
0:68 'vc1' (global float)
|
0:61 Sequence
|
||||||
0:68 'vc2' (global float)
|
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||||
0:68 'vc3' (global float)
|
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||||
0:70 Function Definition: main( (global void)
|
0:61 Constant:
|
||||||
0:70 Function Parameters:
|
0:61 3 (const int)
|
||||||
0:72 Sequence
|
0:64 Sequence
|
||||||
0:72 MemoryBarrier (global void)
|
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Test condition and select (temp void)
|
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:74 Condition
|
0:64 Constant:
|
||||||
0:74 Compare Equal (temp bool)
|
0:64 4 (const uint)
|
||||||
0:74 Constant:
|
0:64 5 (const uint)
|
||||||
0:74 1 (const uint)
|
0:79 Sequence
|
||||||
0:74 2 (const uint)
|
0:79 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 3.000000
|
0:79 'av3' (global 3-component vector of float)
|
||||||
0:74 4.000000
|
0:79 Construct vec3 (global 3-component vector of float)
|
||||||
0:74 0.000000
|
0:79 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:79 'vc3' (global float)
|
||||||
0:74 4.000000
|
0:80 Sequence
|
||||||
0:74 0.000000
|
0:80 move second child to first child (temp 3-component vector of float)
|
||||||
0:74 5.000000
|
0:80 'bv3' (global 3-component vector of float)
|
||||||
0:74 6.000000
|
0:80 Construct vec3 (temp 3-component vector of float)
|
||||||
0:74 0.000000
|
0:80 'vc1' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc2' (global float)
|
||||||
0:74 0.000000
|
0:80 'vc3' (global float)
|
||||||
0:74 6.000000
|
0:82 Function Definition: main( (global void)
|
||||||
0:74 0.000000
|
0:82 Function Parameters:
|
||||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:84 Sequence
|
||||||
0:74 true case is null
|
0:84 MemoryBarrier (global void)
|
||||||
0:76 Test condition and select (temp void)
|
0:86 Test condition and select (temp void)
|
||||||
0:76 Condition
|
0:86 Condition
|
||||||
0:76 Constant:
|
0:86 Compare Equal (temp bool)
|
||||||
0:76 true (const bool)
|
0:86 Constant:
|
||||||
0:76 true case is null
|
0:86 1 (const uint)
|
||||||
|
0:86 2 (const uint)
|
||||||
|
0:86 3.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 4.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 5.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 6.000000
|
||||||
|
0:86 0.000000
|
||||||
|
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
|
0:86 true case is null
|
||||||
|
0:88 Test condition and select (temp void)
|
||||||
|
0:88 Condition
|
||||||
|
0:88 Constant:
|
||||||
|
0:88 true (const bool)
|
||||||
|
0:88 true case is null
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'a' (const 2X2 matrix of float)
|
0:? 'a' (const 2X2 matrix of float)
|
||||||
0:? 1.000000
|
0:? 1.000000
|
||||||
@ -270,6 +318,10 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'c3' (global 4X2 matrix of float)
|
0:? 'c3' (global 4X2 matrix of float)
|
||||||
0:? 'd2' (global 1-element array of structure{global float s, global float t})
|
0:? 'd2' (global 1-element array of structure{global float s, global float t})
|
||||||
0:? 'b5' (global 5-element array of float)
|
0:? 'b5' (global 5-element array of float)
|
||||||
|
0:? 'single1' (global structure{global int f})
|
||||||
|
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||||
|
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||||
|
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||||
0:? 1 (const uint)
|
0:? 1 (const uint)
|
||||||
0:? 2 (const uint)
|
0:? 2 (const uint)
|
||||||
|
@ -56,56 +56,78 @@ gl_FragCoord origin is upper left
|
|||||||
0:6 'c5' (global float)
|
0:6 'c5' (global float)
|
||||||
0:6 Constant:
|
0:6 Constant:
|
||||||
0:6 1.500000
|
0:6 1.500000
|
||||||
0:25 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
0:9 Sequence
|
||||||
0:9 Function Parameters:
|
0:9 move second child to first child (temp structure{temp int f})
|
||||||
0:9 'input' (in 4-component vector of float)
|
0:9 'single1' (global structure{temp int f})
|
||||||
|
0:9 Constant:
|
||||||
|
0:9 10 (const int)
|
||||||
|
0:12 Sequence
|
||||||
|
0:12 move second child to first child (temp structure{temp 2-component vector of uint v})
|
||||||
|
0:12 'single2' (global structure{temp 2-component vector of uint v})
|
||||||
|
0:12 Constant:
|
||||||
|
0:12 1 (const uint)
|
||||||
|
0:12 2 (const uint)
|
||||||
|
0:15 Sequence
|
||||||
|
0:15 move second child to first child (temp structure{temp structure{temp int f} s1})
|
||||||
|
0:15 'single3' (global structure{temp structure{temp int f} s1})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 3 (const int)
|
||||||
|
0:18 Sequence
|
||||||
|
0:18 move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1})
|
||||||
|
0:18 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||||
|
0:18 Constant:
|
||||||
|
0:18 4 (const uint)
|
||||||
|
0:18 5 (const uint)
|
||||||
|
0:37 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
||||||
|
0:21 Function Parameters:
|
||||||
|
0:21 'input' (in 4-component vector of float)
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:10 Sequence
|
0:22 Sequence
|
||||||
0:10 move second child to first child (temp 4-component vector of float)
|
0:22 move second child to first child (temp 4-component vector of float)
|
||||||
0:10 'a2' (temp 4-component vector of float)
|
0:22 'a2' (temp 4-component vector of float)
|
||||||
0:? Constant:
|
0:? Constant:
|
||||||
0:? 0.200000
|
0:? 0.200000
|
||||||
0:? 0.300000
|
0:? 0.300000
|
||||||
0:? 0.400000
|
0:? 0.400000
|
||||||
0:? 0.500000
|
0:? 0.500000
|
||||||
0:20 Sequence
|
0:32 Sequence
|
||||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 9 (const int)
|
0:32 9 (const int)
|
||||||
0:20 'a5' (global float)
|
0:32 'a5' (global float)
|
||||||
0:20 Construct structure (temp structure{temp float f, temp int i})
|
0:32 Construct structure (temp structure{temp float f, temp int i})
|
||||||
0:20 Comma (temp float)
|
0:32 Comma (temp float)
|
||||||
0:20 'a3' (global float)
|
0:32 'a3' (global float)
|
||||||
0:20 'a4' (global float)
|
0:32 'a4' (global float)
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 12 (const int)
|
0:32 12 (const int)
|
||||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 9 (const int)
|
0:32 9 (const int)
|
||||||
0:20 'a5' (global float)
|
0:32 'a5' (global float)
|
||||||
0:? Construct structure (temp structure{temp float f, temp int i})
|
0:? Construct structure (temp structure{temp float f, temp int i})
|
||||||
0:20 Comma (temp float)
|
0:32 Comma (temp float)
|
||||||
0:20 'a3' (global float)
|
0:32 'a3' (global float)
|
||||||
0:20 'a4' (global float)
|
0:32 'a4' (global float)
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 12 (const int)
|
0:32 12 (const int)
|
||||||
0:21 Sequence
|
0:33 Sequence
|
||||||
0:21 move second child to first child (temp float)
|
0:33 move second child to first child (temp float)
|
||||||
0:21 'a8' (temp float)
|
0:33 'a8' (temp float)
|
||||||
0:21 Comma (temp float)
|
0:33 Comma (temp float)
|
||||||
0:21 'a2' (temp 4-component vector of float)
|
0:33 'a2' (temp 4-component vector of float)
|
||||||
0:21 'b2' (global float)
|
0:33 'b2' (global float)
|
||||||
0:21 move second child to first child (temp float)
|
0:33 move second child to first child (temp float)
|
||||||
0:21 'a9' (temp float)
|
0:33 'a9' (temp float)
|
||||||
0:21 'a5' (global float)
|
0:33 'a5' (global float)
|
||||||
0:23 Branch: Return with expression
|
0:35 Branch: Return with expression
|
||||||
0:23 component-wise multiply (temp 4-component vector of float)
|
0:35 component-wise multiply (temp 4-component vector of float)
|
||||||
0:23 'input' (in 4-component vector of float)
|
0:35 'input' (in 4-component vector of float)
|
||||||
0:23 'a1' (global 4-component vector of float)
|
0:35 'a1' (global 4-component vector of float)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'a1' (global 4-component vector of float)
|
0:? 'a1' (global 4-component vector of float)
|
||||||
0:? 'b1' (global 4-component vector of float)
|
0:? 'b1' (global 4-component vector of float)
|
||||||
@ -121,6 +143,10 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'a5' (global float)
|
0:? 'a5' (global float)
|
||||||
0:? 'b5' (global float)
|
0:? 'b5' (global float)
|
||||||
0:? 'c5' (global float)
|
0:? 'c5' (global float)
|
||||||
|
0:? 'single1' (global structure{temp int f})
|
||||||
|
0:? 'single2' (global structure{temp 2-component vector of uint v})
|
||||||
|
0:? 'single3' (global structure{temp structure{temp int f} s1})
|
||||||
|
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||||
|
|
||||||
|
|
||||||
Linked fragment stage:
|
Linked fragment stage:
|
||||||
@ -183,56 +209,78 @@ gl_FragCoord origin is upper left
|
|||||||
0:6 'c5' (global float)
|
0:6 'c5' (global float)
|
||||||
0:6 Constant:
|
0:6 Constant:
|
||||||
0:6 1.500000
|
0:6 1.500000
|
||||||
0:25 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
0:9 Sequence
|
||||||
0:9 Function Parameters:
|
0:9 move second child to first child (temp structure{temp int f})
|
||||||
0:9 'input' (in 4-component vector of float)
|
0:9 'single1' (global structure{temp int f})
|
||||||
|
0:9 Constant:
|
||||||
|
0:9 10 (const int)
|
||||||
|
0:12 Sequence
|
||||||
|
0:12 move second child to first child (temp structure{temp 2-component vector of uint v})
|
||||||
|
0:12 'single2' (global structure{temp 2-component vector of uint v})
|
||||||
|
0:12 Constant:
|
||||||
|
0:12 1 (const uint)
|
||||||
|
0:12 2 (const uint)
|
||||||
|
0:15 Sequence
|
||||||
|
0:15 move second child to first child (temp structure{temp structure{temp int f} s1})
|
||||||
|
0:15 'single3' (global structure{temp structure{temp int f} s1})
|
||||||
|
0:15 Constant:
|
||||||
|
0:15 3 (const int)
|
||||||
|
0:18 Sequence
|
||||||
|
0:18 move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1})
|
||||||
|
0:18 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||||
|
0:18 Constant:
|
||||||
|
0:18 4 (const uint)
|
||||||
|
0:18 5 (const uint)
|
||||||
|
0:37 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
||||||
|
0:21 Function Parameters:
|
||||||
|
0:21 'input' (in 4-component vector of float)
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:10 Sequence
|
0:22 Sequence
|
||||||
0:10 move second child to first child (temp 4-component vector of float)
|
0:22 move second child to first child (temp 4-component vector of float)
|
||||||
0:10 'a2' (temp 4-component vector of float)
|
0:22 'a2' (temp 4-component vector of float)
|
||||||
0:? Constant:
|
0:? Constant:
|
||||||
0:? 0.200000
|
0:? 0.200000
|
||||||
0:? 0.300000
|
0:? 0.300000
|
||||||
0:? 0.400000
|
0:? 0.400000
|
||||||
0:? 0.500000
|
0:? 0.500000
|
||||||
0:20 Sequence
|
0:32 Sequence
|
||||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 9 (const int)
|
0:32 9 (const int)
|
||||||
0:20 'a5' (global float)
|
0:32 'a5' (global float)
|
||||||
0:20 Construct structure (temp structure{temp float f, temp int i})
|
0:32 Construct structure (temp structure{temp float f, temp int i})
|
||||||
0:20 Comma (temp float)
|
0:32 Comma (temp float)
|
||||||
0:20 'a3' (global float)
|
0:32 'a3' (global float)
|
||||||
0:20 'a4' (global float)
|
0:32 'a4' (global float)
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 12 (const int)
|
0:32 12 (const int)
|
||||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:32 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 9 (const int)
|
0:32 9 (const int)
|
||||||
0:20 'a5' (global float)
|
0:32 'a5' (global float)
|
||||||
0:? Construct structure (temp structure{temp float f, temp int i})
|
0:? Construct structure (temp structure{temp float f, temp int i})
|
||||||
0:20 Comma (temp float)
|
0:32 Comma (temp float)
|
||||||
0:20 'a3' (global float)
|
0:32 'a3' (global float)
|
||||||
0:20 'a4' (global float)
|
0:32 'a4' (global float)
|
||||||
0:20 Constant:
|
0:32 Constant:
|
||||||
0:20 12 (const int)
|
0:32 12 (const int)
|
||||||
0:21 Sequence
|
0:33 Sequence
|
||||||
0:21 move second child to first child (temp float)
|
0:33 move second child to first child (temp float)
|
||||||
0:21 'a8' (temp float)
|
0:33 'a8' (temp float)
|
||||||
0:21 Comma (temp float)
|
0:33 Comma (temp float)
|
||||||
0:21 'a2' (temp 4-component vector of float)
|
0:33 'a2' (temp 4-component vector of float)
|
||||||
0:21 'b2' (global float)
|
0:33 'b2' (global float)
|
||||||
0:21 move second child to first child (temp float)
|
0:33 move second child to first child (temp float)
|
||||||
0:21 'a9' (temp float)
|
0:33 'a9' (temp float)
|
||||||
0:21 'a5' (global float)
|
0:33 'a5' (global float)
|
||||||
0:23 Branch: Return with expression
|
0:35 Branch: Return with expression
|
||||||
0:23 component-wise multiply (temp 4-component vector of float)
|
0:35 component-wise multiply (temp 4-component vector of float)
|
||||||
0:23 'input' (in 4-component vector of float)
|
0:35 'input' (in 4-component vector of float)
|
||||||
0:23 'a1' (global 4-component vector of float)
|
0:35 'a1' (global 4-component vector of float)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'a1' (global 4-component vector of float)
|
0:? 'a1' (global 4-component vector of float)
|
||||||
0:? 'b1' (global 4-component vector of float)
|
0:? 'b1' (global 4-component vector of float)
|
||||||
@ -248,15 +296,19 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'a5' (global float)
|
0:? 'a5' (global float)
|
||||||
0:? 'b5' (global float)
|
0:? 'b5' (global float)
|
||||||
0:? 'c5' (global float)
|
0:? 'c5' (global float)
|
||||||
|
0:? 'single1' (global structure{temp int f})
|
||||||
|
0:? 'single2' (global structure{temp 2-component vector of uint v})
|
||||||
|
0:? 'single3' (global structure{temp structure{temp int f} s1})
|
||||||
|
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 67
|
// Id's are bound by 95
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "ShaderFunction" 60
|
EntryPoint Fragment 4 "ShaderFunction" 88
|
||||||
ExecutionMode 4 OriginUpperLeft
|
ExecutionMode 4 OriginUpperLeft
|
||||||
Source HLSL 450
|
Source HLSL 450
|
||||||
Name 4 "ShaderFunction"
|
Name 4 "ShaderFunction"
|
||||||
@ -269,24 +321,36 @@ gl_FragCoord origin is upper left
|
|||||||
Name 27 "b4"
|
Name 27 "b4"
|
||||||
Name 29 "a5"
|
Name 29 "a5"
|
||||||
Name 30 "c5"
|
Name 30 "c5"
|
||||||
Name 33 "a2"
|
Name 33 "Single1"
|
||||||
Name 36 "S1"
|
MemberName 33(Single1) 0 "f"
|
||||||
MemberName 36(S1) 0 "f"
|
Name 35 "single1"
|
||||||
MemberName 36(S1) 1 "i"
|
Name 40 "Single2"
|
||||||
Name 37 "S2"
|
MemberName 40(Single2) 0 "v"
|
||||||
MemberName 37(S2) 0 "j"
|
Name 42 "single2"
|
||||||
MemberName 37(S2) 1 "g"
|
Name 47 "Single3"
|
||||||
MemberName 37(S2) 2 "s1"
|
MemberName 47(Single3) 0 "s1"
|
||||||
Name 39 "s2i"
|
Name 49 "single3"
|
||||||
Name 42 "a3"
|
Name 53 "Single4"
|
||||||
Name 43 "a4"
|
MemberName 53(Single4) 0 "s1"
|
||||||
Name 48 "s2"
|
Name 55 "single4"
|
||||||
Name 54 "a8"
|
Name 62 "a2"
|
||||||
Name 55 "b2"
|
Name 64 "S1"
|
||||||
Name 57 "a9"
|
MemberName 64(S1) 0 "f"
|
||||||
Name 60 "input"
|
MemberName 64(S1) 1 "i"
|
||||||
Name 65 "c4"
|
Name 65 "S2"
|
||||||
Name 66 "b5"
|
MemberName 65(S2) 0 "j"
|
||||||
|
MemberName 65(S2) 1 "g"
|
||||||
|
MemberName 65(S2) 2 "s1"
|
||||||
|
Name 67 "s2i"
|
||||||
|
Name 70 "a3"
|
||||||
|
Name 71 "a4"
|
||||||
|
Name 76 "s2"
|
||||||
|
Name 82 "a8"
|
||||||
|
Name 83 "b2"
|
||||||
|
Name 85 "a9"
|
||||||
|
Name 88 "input"
|
||||||
|
Name 93 "c4"
|
||||||
|
Name 94 "b5"
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -315,29 +379,57 @@ gl_FragCoord origin is upper left
|
|||||||
29(a5): 22(ptr) Variable Private
|
29(a5): 22(ptr) Variable Private
|
||||||
30(c5): 22(ptr) Variable Private
|
30(c5): 22(ptr) Variable Private
|
||||||
31: 6(float) Constant 1069547520
|
31: 6(float) Constant 1069547520
|
||||||
32: TypePointer Function 7(fvec4)
|
32: TypeInt 32 1
|
||||||
34: 7(fvec4) ConstantComposite 24 26 28 11
|
33(Single1): TypeStruct 32(int)
|
||||||
35: TypeInt 32 1
|
34: TypePointer Private 33(Single1)
|
||||||
36(S1): TypeStruct 6(float) 35(int)
|
35(single1): 34(ptr) Variable Private
|
||||||
37(S2): TypeStruct 35(int) 6(float) 36(S1)
|
36: 32(int) Constant 10
|
||||||
38: TypePointer Function 37(S2)
|
37: 33(Single1) ConstantComposite 36
|
||||||
40: 35(int) Constant 9
|
38: TypeInt 32 0
|
||||||
42(a3): 22(ptr) Variable Private
|
39: TypeVector 38(int) 2
|
||||||
43(a4): 22(ptr) Variable Private
|
40(Single2): TypeStruct 39(ivec2)
|
||||||
45: 35(int) Constant 12
|
41: TypePointer Private 40(Single2)
|
||||||
53: TypePointer Function 6(float)
|
42(single2): 41(ptr) Variable Private
|
||||||
55(b2): 22(ptr) Variable Private
|
43: 38(int) Constant 1
|
||||||
59: TypePointer Input 7(fvec4)
|
44: 38(int) Constant 2
|
||||||
60(input): 59(ptr) Variable Input
|
45: 39(ivec2) ConstantComposite 43 44
|
||||||
65(c4): 22(ptr) Variable Private
|
46: 40(Single2) ConstantComposite 45
|
||||||
66(b5): 22(ptr) Variable Private
|
47(Single3): TypeStruct 33(Single1)
|
||||||
|
48: TypePointer Private 47(Single3)
|
||||||
|
49(single3): 48(ptr) Variable Private
|
||||||
|
50: 32(int) Constant 3
|
||||||
|
51: 33(Single1) ConstantComposite 50
|
||||||
|
52: 47(Single3) ConstantComposite 51
|
||||||
|
53(Single4): TypeStruct 40(Single2)
|
||||||
|
54: TypePointer Private 53(Single4)
|
||||||
|
55(single4): 54(ptr) Variable Private
|
||||||
|
56: 38(int) Constant 4
|
||||||
|
57: 38(int) Constant 5
|
||||||
|
58: 39(ivec2) ConstantComposite 56 57
|
||||||
|
59: 40(Single2) ConstantComposite 58
|
||||||
|
60: 53(Single4) ConstantComposite 59
|
||||||
|
61: TypePointer Function 7(fvec4)
|
||||||
|
63: 7(fvec4) ConstantComposite 24 26 28 11
|
||||||
|
64(S1): TypeStruct 6(float) 32(int)
|
||||||
|
65(S2): TypeStruct 32(int) 6(float) 64(S1)
|
||||||
|
66: TypePointer Function 65(S2)
|
||||||
|
68: 32(int) Constant 9
|
||||||
|
70(a3): 22(ptr) Variable Private
|
||||||
|
71(a4): 22(ptr) Variable Private
|
||||||
|
73: 32(int) Constant 12
|
||||||
|
81: TypePointer Function 6(float)
|
||||||
|
83(b2): 22(ptr) Variable Private
|
||||||
|
87: TypePointer Input 7(fvec4)
|
||||||
|
88(input): 87(ptr) Variable Input
|
||||||
|
93(c4): 22(ptr) Variable Private
|
||||||
|
94(b5): 22(ptr) Variable Private
|
||||||
4(ShaderFunction): 2 Function None 3
|
4(ShaderFunction): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
33(a2): 32(ptr) Variable Function
|
62(a2): 61(ptr) Variable Function
|
||||||
39(s2i): 38(ptr) Variable Function
|
67(s2i): 66(ptr) Variable Function
|
||||||
48(s2): 38(ptr) Variable Function
|
76(s2): 66(ptr) Variable Function
|
||||||
54(a8): 53(ptr) Variable Function
|
82(a8): 81(ptr) Variable Function
|
||||||
57(a9): 53(ptr) Variable Function
|
85(a9): 81(ptr) Variable Function
|
||||||
Store 9(a1) 13
|
Store 9(a1) 13
|
||||||
Store 14(b1) 19
|
Store 14(b1) 19
|
||||||
Store 20(a1i) 13
|
Store 20(a1i) 13
|
||||||
@ -347,23 +439,27 @@ gl_FragCoord origin is upper left
|
|||||||
Store 27(b4) 28
|
Store 27(b4) 28
|
||||||
Store 29(a5) 11
|
Store 29(a5) 11
|
||||||
Store 30(c5) 31
|
Store 30(c5) 31
|
||||||
Store 33(a2) 34
|
Store 35(single1) 37
|
||||||
41: 6(float) Load 29(a5)
|
Store 42(single2) 46
|
||||||
44: 6(float) Load 43(a4)
|
Store 49(single3) 52
|
||||||
46: 36(S1) CompositeConstruct 44 45
|
Store 55(single4) 60
|
||||||
47: 37(S2) CompositeConstruct 40 41 46
|
Store 62(a2) 63
|
||||||
Store 39(s2i) 47
|
69: 6(float) Load 29(a5)
|
||||||
49: 6(float) Load 29(a5)
|
72: 6(float) Load 71(a4)
|
||||||
50: 6(float) Load 43(a4)
|
74: 64(S1) CompositeConstruct 72 73
|
||||||
51: 36(S1) CompositeConstruct 50 45
|
75: 65(S2) CompositeConstruct 68 69 74
|
||||||
52: 37(S2) CompositeConstruct 40 49 51
|
Store 67(s2i) 75
|
||||||
Store 48(s2) 52
|
77: 6(float) Load 29(a5)
|
||||||
56: 6(float) Load 55(b2)
|
78: 6(float) Load 71(a4)
|
||||||
Store 54(a8) 56
|
79: 64(S1) CompositeConstruct 78 73
|
||||||
58: 6(float) Load 29(a5)
|
80: 65(S2) CompositeConstruct 68 77 79
|
||||||
Store 57(a9) 58
|
Store 76(s2) 80
|
||||||
61: 7(fvec4) Load 60(input)
|
84: 6(float) Load 83(b2)
|
||||||
62: 7(fvec4) Load 9(a1)
|
Store 82(a8) 84
|
||||||
63: 7(fvec4) FMul 61 62
|
86: 6(float) Load 29(a5)
|
||||||
ReturnValue 63
|
Store 85(a9) 86
|
||||||
|
89: 7(fvec4) Load 88(input)
|
||||||
|
90: 7(fvec4) Load 9(a1)
|
||||||
|
91: 7(fvec4) FMul 89 90
|
||||||
|
ReturnValue 91
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
@ -4,6 +4,18 @@ float a2 = 0.2, b2;
|
|||||||
float a3, b3 = 0.3;
|
float a3, b3 = 0.3;
|
||||||
float a4, b4 = 0.4, c4;
|
float a4, b4 = 0.4, c4;
|
||||||
float a5 = 0.5, b5, c5 = 1.5;
|
float a5 = 0.5, b5, c5 = 1.5;
|
||||||
|
|
||||||
|
struct Single1 { int f; };
|
||||||
|
Single1 single1 = { 10 };
|
||||||
|
|
||||||
|
struct Single2 { uint2 v; };
|
||||||
|
Single2 single2 = { { 1, 2 } };
|
||||||
|
|
||||||
|
struct Single3 { Single1 s1; };
|
||||||
|
Single3 single3 = { { 3 } };
|
||||||
|
|
||||||
|
struct Single4 { Single2 s1; };
|
||||||
|
Single4 single4 = { { { 4u, 5u } } };
|
||||||
|
|
||||||
float4 ShaderFunction(float4 input) : COLOR0
|
float4 ShaderFunction(float4 input) : COLOR0
|
||||||
{
|
{
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
// For the version, it uses the latest git tag followed by the number of commits.
|
// For the version, it uses the latest git tag followed by the number of commits.
|
||||||
// For the date, it uses the current date (when then script is run).
|
// For the date, it uses the current date (when then script is run).
|
||||||
|
|
||||||
#define GLSLANG_REVISION "SPIRV99.1365"
|
#define GLSLANG_REVISION "SPIRV99.1367"
|
||||||
#define GLSLANG_DATE "29-Jul-2016"
|
#define GLSLANG_DATE "29-Jul-2016"
|
||||||
|
@ -5145,8 +5145,14 @@ TIntermTyped* TParseContext::convertInitializerList(const TSourceLoc& loc, const
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// now that the subtree is processed, process this node
|
// Now that the subtree is processed, process this node as if the
|
||||||
return addConstructor(loc, initList, type);
|
// initializer list is a set of arguments to a constructor.
|
||||||
|
TIntermNode* emulatedConstructorArguments;
|
||||||
|
if (initList->getSequence().size() == 1)
|
||||||
|
emulatedConstructorArguments = initList->getSequence()[0];
|
||||||
|
else
|
||||||
|
emulatedConstructorArguments = initList;
|
||||||
|
return addConstructor(loc, emulatedConstructorArguments, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -3725,8 +3725,14 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// now that the subtree is processed, process this node
|
// Now that the subtree is processed, process this node as if the
|
||||||
return addConstructor(loc, initList, type);
|
// initializer list is a set of arguments to a constructor.
|
||||||
|
TIntermNode* emulatedConstructorArguments;
|
||||||
|
if (initList->getSequence().size() == 1)
|
||||||
|
emulatedConstructorArguments = initList->getSequence()[0];
|
||||||
|
else
|
||||||
|
emulatedConstructorArguments = initList;
|
||||||
|
return addConstructor(loc, emulatedConstructorArguments, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user