glslang/Test/baseResults/hlsl.precedence.frag.out
John Kessenich 7dc630f3da HLSL: Flatten a return struct from an entry point and assign locations after flattening.
Locations now get assigned in order, but skipping built-ins, which can be
done post flattening.
2016-09-16 01:44:43 -06:00

171 lines
8.1 KiB
Plaintext
Executable File

hlsl.precedence.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:7 Function Parameters:
0:7 'a1' (layout(location=0 ) in 4-component vector of float)
0:7 'a2' (layout(location=1 ) in 4-component vector of float)
0:7 'a3' (layout(location=2 ) in 4-component vector of float)
0:7 'a4' (layout(location=3 ) in 4-component vector of float)
0:? Sequence
0:8 Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 component-wise multiply (temp 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
0:? Construct vec4 (temp 4-component vector of float)
0:8 component-wise multiply (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 direct index (temp float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 Constant:
0:8 3 (const int)
0:8 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:7 Function Parameters:
0:7 'a1' (layout(location=0 ) in 4-component vector of float)
0:7 'a2' (layout(location=1 ) in 4-component vector of float)
0:7 'a3' (layout(location=2 ) in 4-component vector of float)
0:7 'a4' (layout(location=3 ) in 4-component vector of float)
0:? Sequence
0:8 Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 component-wise multiply (temp 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
0:? Construct vec4 (temp 4-component vector of float)
0:8 component-wise multiply (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 direct index (temp float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 Constant:
0:8 3 (const int)
0:8 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 15 19
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "a1"
Name 13 "a2"
Name 15 "a3"
Name 19 "a4"
Decorate 9(@entryPointOutput) Location 0
Decorate 11(a1) Location 0
Decorate 13(a2) Location 1
Decorate 15(a3) Location 2
Decorate 19(a4) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(a1): 10(ptr) Variable Input
13(a2): 10(ptr) Variable Input
15(a3): 10(ptr) Variable Input
19(a4): 10(ptr) Variable Input
22: TypeVector 6(float) 3
28: TypeInt 32 0
29: 28(int) Constant 3
30: TypePointer Input 6(float)
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(a1)
14: 7(fvec4) Load 13(a2)
16: 7(fvec4) Load 15(a3)
17: 7(fvec4) FMul 14 16
18: 7(fvec4) FAdd 12 17
20: 7(fvec4) Load 19(a4)
21: 7(fvec4) FAdd 18 20
23: 7(fvec4) Load 11(a1)
24: 22(fvec3) VectorShuffle 23 23 0 1 2
25: 7(fvec4) Load 13(a2)
26: 22(fvec3) VectorShuffle 25 25 0 1 2
27: 22(fvec3) FMul 24 26
31: 30(ptr) AccessChain 15(a3) 29
32: 6(float) Load 31
33: 6(float) CompositeExtract 27 0
34: 6(float) CompositeExtract 27 1
35: 6(float) CompositeExtract 27 2
36: 7(fvec4) CompositeConstruct 33 34 35 32
37: 7(fvec4) FAdd 21 36
Store 9(@entryPointOutput) 37
Return
FunctionEnd