HLSL Tests: Fix two tests to be valid under FXC.

This commit is contained in:
John Kessenich
2017-07-31 01:19:26 -06:00
parent 318a379b1f
commit fda6edcbad
4 changed files with 529 additions and 370 deletions

View File

@@ -1,15 +1,15 @@
hlsl.structin.vert
Shader version: 500
0:? Sequence
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Parameters:
0:8 'd' ( in 4-component vector of float)
0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'e' ( in 4-component vector of float)
0:? Sequence
0:11 move second child to first child ( temp 4-component vector of float)
0:11 b: direct index for structure ( temp 4-component vector of float)
0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 2 (const int)
0:11 add ( temp 4-component vector of float)
@@ -18,31 +18,66 @@ Shader version: 500
0:11 add ( temp 4-component vector of float)
0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 0 (const int)
0:11 Constant:
0:11 1 (const int)
0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 0 (const int)
0:11 Constant:
0:11 0 (const int)
0:11 Construct vec4 ( temp 4-component vector of float)
0:11 Convert uint to float ( temp float)
0:11 direct index ( temp uint)
0:11 coord: direct index for structure ( temp 2-component vector of uint)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 Constant:
0:11 1 (const int)
0:11 direct index ( temp float)
0:11 coord: direct index for structure ( temp 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 0 (const int)
0:11 1 (const int)
0:11 Constant:
0:11 0 (const int)
0:11 'd' ( in 4-component vector of float)
0:11 'e' ( in 4-component vector of float)
0:13 Branch: Return with expression
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:12 move second child to first child ( temp 4-component vector of float)
0:12 coord: direct index for structure ( temp 4-component vector of float)
0:12 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:12 Constant:
0:12 1 (const int)
0:12 Constant:
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:13 move second child to first child ( temp 4-component vector of float)
0:13 direct index ( temp 4-component vector of float)
0:13 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:14 move second child to first child ( temp 4-component vector of float)
0:14 direct index ( temp 4-component vector of float)
0:14 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:14 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:16 Branch: Return with expression
0:16 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Definition: main( ( temp void)
0:8 Function Parameters:
0:? Sequence
@@ -53,7 +88,7 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
@@ -62,21 +97,21 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:8 move second child to first child ( temp 2-component vector of uint)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 move second child to first child ( temp 4-component vector of float)
0:8 coord: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 1 (const int)
0:? 'coord' (layout( location=3) in 2-component vector of uint)
0:? 'coord' (layout( location=3) in 4-component vector of float)
0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 2 (const int)
0:? 'b' (layout( location=4) in 4-component vector of float)
@@ -84,47 +119,44 @@ Shader version: 500
0:? 'e' ( temp 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float)
0:8 Sequence
0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'd' ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'e' ( temp 4-component vector of float)
0:8 move second child to first child ( temp 2-element array of 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 move second child to first child ( temp 2-component vector of uint)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Constant:
0:8 1 (const int)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput_coord' ( out 4-component vector of float Position)
0:8 coord: direct index for structure ( temp 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 1 (const int)
0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 b: direct index for structure ( smooth temp 4-component vector of float)
0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant:
0:8 2 (const int)
0:8 1 (const int)
0:8 b: direct index for structure ( temp 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 2 (const int)
0:? Linker Objects
0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:? 'd' (layout( location=0) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'coord' (layout( location=3) in 2-component vector of uint)
0:? 'coord' (layout( location=3) in 4-component vector of float)
0:? 'b' (layout( location=4) in 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float)
@@ -134,15 +166,15 @@ Linked vertex stage:
Shader version: 500
0:? Sequence
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Parameters:
0:8 'd' ( in 4-component vector of float)
0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'e' ( in 4-component vector of float)
0:? Sequence
0:11 move second child to first child ( temp 4-component vector of float)
0:11 b: direct index for structure ( temp 4-component vector of float)
0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 2 (const int)
0:11 add ( temp 4-component vector of float)
@@ -151,31 +183,66 @@ Shader version: 500
0:11 add ( temp 4-component vector of float)
0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 0 (const int)
0:11 Constant:
0:11 1 (const int)
0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 0 (const int)
0:11 Constant:
0:11 0 (const int)
0:11 Construct vec4 ( temp 4-component vector of float)
0:11 Convert uint to float ( temp float)
0:11 direct index ( temp uint)
0:11 coord: direct index for structure ( temp 2-component vector of uint)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 Constant:
0:11 1 (const int)
0:11 direct index ( temp float)
0:11 coord: direct index for structure ( temp 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant:
0:11 0 (const int)
0:11 1 (const int)
0:11 Constant:
0:11 0 (const int)
0:11 'd' ( in 4-component vector of float)
0:11 'e' ( in 4-component vector of float)
0:13 Branch: Return with expression
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:12 move second child to first child ( temp 4-component vector of float)
0:12 coord: direct index for structure ( temp 4-component vector of float)
0:12 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:12 Constant:
0:12 1 (const int)
0:12 Constant:
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:13 move second child to first child ( temp 4-component vector of float)
0:13 direct index ( temp 4-component vector of float)
0:13 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:14 move second child to first child ( temp 4-component vector of float)
0:14 direct index ( temp 4-component vector of float)
0:14 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:14 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:16 Branch: Return with expression
0:16 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Definition: main( ( temp void)
0:8 Function Parameters:
0:? Sequence
@@ -186,7 +253,7 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
@@ -195,21 +262,21 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:8 move second child to first child ( temp 2-component vector of uint)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 move second child to first child ( temp 4-component vector of float)
0:8 coord: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 1 (const int)
0:? 'coord' (layout( location=3) in 2-component vector of uint)
0:? 'coord' (layout( location=3) in 4-component vector of float)
0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 2 (const int)
0:? 'b' (layout( location=4) in 4-component vector of float)
@@ -217,94 +284,92 @@ Shader version: 500
0:? 'e' ( temp 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float)
0:8 Sequence
0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'd' ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'e' ( temp 4-component vector of float)
0:8 move second child to first child ( temp 2-element array of 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 0 (const int)
0:8 move second child to first child ( temp 2-component vector of uint)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Constant:
0:8 1 (const int)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput_coord' ( out 4-component vector of float Position)
0:8 coord: direct index for structure ( temp 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 1 (const int)
0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 b: direct index for structure ( smooth temp 4-component vector of float)
0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant:
0:8 2 (const int)
0:8 1 (const int)
0:8 b: direct index for structure ( temp 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant:
0:8 2 (const int)
0:? Linker Objects
0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:? 'd' (layout( location=0) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'coord' (layout( location=3) in 2-component vector of uint)
0:? 'coord' (layout( location=3) in 4-component vector of float)
0:? 'b' (layout( location=4) in 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 92
// Id's are bound by 96
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 48 51 54 58 62 66 78
EntryPoint Vertex 4 "main" 55 58 61 64 67 71 83 90
Source HLSL 500
Name 4 "main"
Name 13 "VI"
MemberName 13(VI) 0 "m"
MemberName 13(VI) 1 "coord"
MemberName 13(VI) 2 "b"
Name 19 "@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;"
Name 16 "d"
Name 17 "vi"
Name 18 "e"
Name 21 "local"
Name 46 "d"
Name 48 "d"
Name 50 "vi"
Name 51 "m[0]"
Name 54 "m[1]"
Name 58 "coord"
Name 62 "b"
Name 65 "e"
Name 66 "e"
Name 68 "flattenTemp"
Name 69 "param"
Name 71 "param"
Name 73 "param"
Name 76 "VI"
MemberName 76(VI) 0 "m"
MemberName 76(VI) 1 "coord"
MemberName 76(VI) 2 "b"
Name 78 "@entryPointOutput"
Decorate 48(d) Location 0
Decorate 51(m[0]) Location 1
Decorate 54(m[1]) Location 2
Decorate 58(coord) Location 3
Decorate 62(b) Location 4
Decorate 66(e) Location 5
Decorate 78(@entryPointOutput) BuiltIn Position
Name 12 "VI"
MemberName 12(VI) 0 "m"
MemberName 12(VI) 1 "coord"
MemberName 12(VI) 2 "b"
Name 18 "@main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4;"
Name 15 "d"
Name 16 "vi"
Name 17 "e"
Name 20 "local"
Name 53 "d"
Name 55 "d"
Name 57 "vi"
Name 58 "m[0]"
Name 61 "m[1]"
Name 64 "coord"
Name 67 "b"
Name 70 "e"
Name 71 "e"
Name 73 "flattenTemp"
Name 74 "param"
Name 76 "param"
Name 78 "param"
Name 81 "VI"
MemberName 81(VI) 0 "m"
MemberName 81(VI) 1 "b"
Name 83 "@entryPointOutput"
Name 90 "@entryPointOutput_coord"
Decorate 55(d) Location 0
Decorate 58(m[0]) Location 1
Decorate 61(m[1]) Location 2
Decorate 64(coord) Location 3
Decorate 67(b) Location 4
Decorate 71(e) Location 5
Decorate 83(@entryPointOutput) Location 0
Decorate 90(@entryPointOutput_coord) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -313,101 +378,108 @@ Shader version: 500
9: TypeInt 32 0
10: 9(int) Constant 2
11: TypeArray 7(fvec4) 10
12: TypeVector 9(int) 2
13(VI): TypeStruct 11 12(ivec2) 7(fvec4)
14: TypePointer Function 13(VI)
15: TypeFunction 13(VI) 8(ptr) 14(ptr) 8(ptr)
22: TypeInt 32 1
23: 22(int) Constant 2
24: 22(int) Constant 0
25: 22(int) Constant 1
31: 9(int) Constant 0
32: TypePointer Function 9(int)
47: TypePointer Input 7(fvec4)
48(d): 47(ptr) Variable Input
51(m[0]): 47(ptr) Variable Input
54(m[1]): 47(ptr) Variable Input
57: TypePointer Input 12(ivec2)
58(coord): 57(ptr) Variable Input
60: TypePointer Function 12(ivec2)
62(b): 47(ptr) Variable Input
66(e): 47(ptr) Variable Input
76(VI): TypeStruct 11 12(ivec2) 7(fvec4)
77: TypePointer Output 76(VI)
78(@entryPointOutput): 77(ptr) Variable Output
79: TypePointer Function 11
82: TypePointer Output 11
86: TypePointer Output 12(ivec2)
90: TypePointer Output 7(fvec4)
12(VI): TypeStruct 11 7(fvec4) 7(fvec4)
13: TypePointer Function 12(VI)
14: TypeFunction 12(VI) 8(ptr) 13(ptr) 8(ptr)
21: TypeInt 32 1
22: 21(int) Constant 2
23: 21(int) Constant 0
24: 21(int) Constant 1
30: 9(int) Constant 0
31: TypePointer Function 6(float)
41: 6(float) Constant 1065353216
42: 7(fvec4) ConstantComposite 41 41 41 41
44: 6(float) Constant 1073741824
45: 7(fvec4) ConstantComposite 44 44 44 44
47: 6(float) Constant 1077936128
48: 7(fvec4) ConstantComposite 47 47 47 47
54: TypePointer Input 7(fvec4)
55(d): 54(ptr) Variable Input
58(m[0]): 54(ptr) Variable Input
61(m[1]): 54(ptr) Variable Input
64(coord): 54(ptr) Variable Input
67(b): 54(ptr) Variable Input
71(e): 54(ptr) Variable Input
81(VI): TypeStruct 11 7(fvec4)
82: TypePointer Output 81(VI)
83(@entryPointOutput): 82(ptr) Variable Output
84: TypePointer Function 11
87: TypePointer Output 11
89: TypePointer Output 7(fvec4)
90(@entryPointOutput_coord): 89(ptr) Variable Output
4(main): 2 Function None 3
5: Label
46(d): 8(ptr) Variable Function
50(vi): 14(ptr) Variable Function
65(e): 8(ptr) Variable Function
68(flattenTemp): 14(ptr) Variable Function
69(param): 8(ptr) Variable Function
71(param): 14(ptr) Variable Function
73(param): 8(ptr) Variable Function
49: 7(fvec4) Load 48(d)
Store 46(d) 49
52: 7(fvec4) Load 51(m[0])
53: 8(ptr) AccessChain 50(vi) 24 24
Store 53 52
55: 7(fvec4) Load 54(m[1])
56: 8(ptr) AccessChain 50(vi) 24 25
Store 56 55
59: 12(ivec2) Load 58(coord)
61: 60(ptr) AccessChain 50(vi) 25
Store 61 59
63: 7(fvec4) Load 62(b)
64: 8(ptr) AccessChain 50(vi) 23
Store 64 63
67: 7(fvec4) Load 66(e)
Store 65(e) 67
70: 7(fvec4) Load 46(d)
Store 69(param) 70
72: 13(VI) Load 50(vi)
Store 71(param) 72
74: 7(fvec4) Load 65(e)
Store 73(param) 74
75: 13(VI) FunctionCall 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;) 69(param) 71(param) 73(param)
Store 68(flattenTemp) 75
80: 79(ptr) AccessChain 68(flattenTemp) 24
81: 11 Load 80
83: 82(ptr) AccessChain 78(@entryPointOutput) 24
Store 83 81
84: 60(ptr) AccessChain 68(flattenTemp) 25
85: 12(ivec2) Load 84
87: 86(ptr) AccessChain 78(@entryPointOutput) 25
Store 87 85
88: 8(ptr) AccessChain 68(flattenTemp) 23
89: 7(fvec4) Load 88
91: 90(ptr) AccessChain 78(@entryPointOutput) 23
Store 91 89
53(d): 8(ptr) Variable Function
57(vi): 13(ptr) Variable Function
70(e): 8(ptr) Variable Function
73(flattenTemp): 13(ptr) Variable Function
74(param): 8(ptr) Variable Function
76(param): 13(ptr) Variable Function
78(param): 8(ptr) Variable Function
56: 7(fvec4) Load 55(d)
Store 53(d) 56
59: 7(fvec4) Load 58(m[0])
60: 8(ptr) AccessChain 57(vi) 23 23
Store 60 59
62: 7(fvec4) Load 61(m[1])
63: 8(ptr) AccessChain 57(vi) 23 24
Store 63 62
65: 7(fvec4) Load 64(coord)
66: 8(ptr) AccessChain 57(vi) 24
Store 66 65
68: 7(fvec4) Load 67(b)
69: 8(ptr) AccessChain 57(vi) 22
Store 69 68
72: 7(fvec4) Load 71(e)
Store 70(e) 72
75: 7(fvec4) Load 53(d)
Store 74(param) 75
77: 12(VI) Load 57(vi)
Store 76(param) 77
79: 7(fvec4) Load 70(e)
Store 78(param) 79
80: 12(VI) FunctionCall 18(@main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4;) 74(param) 76(param) 78(param)
Store 73(flattenTemp) 80
85: 84(ptr) AccessChain 73(flattenTemp) 23
86: 11 Load 85
88: 87(ptr) AccessChain 83(@entryPointOutput) 23
Store 88 86
91: 8(ptr) AccessChain 73(flattenTemp) 24
92: 7(fvec4) Load 91
Store 90(@entryPointOutput_coord) 92
93: 8(ptr) AccessChain 73(flattenTemp) 22
94: 7(fvec4) Load 93
95: 89(ptr) AccessChain 83(@entryPointOutput) 24
Store 95 94
Return
FunctionEnd
19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;): 13(VI) Function None 15
16(d): 8(ptr) FunctionParameter
17(vi): 14(ptr) FunctionParameter
18(e): 8(ptr) FunctionParameter
20: Label
21(local): 14(ptr) Variable Function
26: 8(ptr) AccessChain 17(vi) 24 25
27: 7(fvec4) Load 26
28: 8(ptr) AccessChain 17(vi) 24 24
29: 7(fvec4) Load 28
30: 7(fvec4) FAdd 27 29
33: 32(ptr) AccessChain 17(vi) 25 31
34: 9(int) Load 33
35: 6(float) ConvertUToF 34
36: 7(fvec4) CompositeConstruct 35 35 35 35
37: 7(fvec4) FAdd 30 36
38: 7(fvec4) Load 16(d)
18(@main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4;): 12(VI) Function None 14
15(d): 8(ptr) FunctionParameter
16(vi): 13(ptr) FunctionParameter
17(e): 8(ptr) FunctionParameter
19: Label
20(local): 13(ptr) Variable Function
25: 8(ptr) AccessChain 16(vi) 23 24
26: 7(fvec4) Load 25
27: 8(ptr) AccessChain 16(vi) 23 23
28: 7(fvec4) Load 27
29: 7(fvec4) FAdd 26 28
32: 31(ptr) AccessChain 16(vi) 24 30
33: 6(float) Load 32
34: 7(fvec4) CompositeConstruct 33 33 33 33
35: 7(fvec4) FAdd 29 34
36: 7(fvec4) Load 15(d)
37: 7(fvec4) FAdd 35 36
38: 7(fvec4) Load 17(e)
39: 7(fvec4) FAdd 37 38
40: 7(fvec4) Load 18(e)
41: 7(fvec4) FAdd 39 40
42: 8(ptr) AccessChain 21(local) 23
Store 42 41
43: 13(VI) Load 21(local)
ReturnValue 43
40: 8(ptr) AccessChain 20(local) 22
Store 40 39
43: 8(ptr) AccessChain 20(local) 24
Store 43 42
46: 8(ptr) AccessChain 20(local) 23 23
Store 46 45
49: 8(ptr) AccessChain 20(local) 23 24
Store 49 48
50: 12(VI) Load 20(local)
ReturnValue 50
FunctionEnd