blob: e6099c9eba38a5d40023478ec39e0225b675548c [file] [log] [blame]
hlsl.targetStruct2.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Function Parameters:
0:12 'input' ( in structure{ temp float interp, temp uint no_interp})
0:12 'po' ( out 4-component vector of float)
0:? Sequence
0:14 move second child to first child ( temp 4-component vector of float)
0:14 o1: direct index for structure ( temp 4-component vector of float)
0:14 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:14 Constant:
0:14 0 (const int)
0:? Construct vec4 ( temp 4-component vector of float)
0:14 Convert uint to float ( temp float)
0:14 no_interp: direct index for structure ( temp uint)
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
0:14 Constant:
0:14 1 (const int)
0:14 interp: direct index for structure ( temp float)
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 0.000000
0:14 Constant:
0:14 1.000000
0:15 move second child to first child ( temp 4-component vector of float)
0:15 o2: direct index for structure ( temp 4-component vector of float)
0:15 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:15 Constant:
0:15 1 (const int)
0:15 Constant:
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:16 move second child to first child ( temp 4-component vector of float)
0:16 'po' ( out 4-component vector of float)
0:16 Constant:
0:16 0.000000
0:16 0.000000
0:16 0.000000
0:16 0.000000
0:18 Branch: Return with expression
0:18 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Function Definition: main( ( temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child ( temp float)
0:12 interp: direct index for structure ( temp float)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:12 Constant:
0:12 0 (const int)
0:? 'input.interp' (layout( location=0) in float)
0:12 move second child to first child ( temp uint)
0:12 no_interp: direct index for structure ( temp uint)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:12 Constant:
0:12 1 (const int)
0:? 'input.no_interp' (layout( location=1) flat in uint)
0:12 Sequence
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Function Call: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:? 'po' ( temp 4-component vector of float)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
0:12 o1: direct index for structure ( temp 4-component vector of float)
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Constant:
0:12 0 (const int)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float)
0:12 o2: direct index for structure ( temp 4-component vector of float)
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Constant:
0:12 1 (const int)
0:12 move second child to first child ( temp 4-component vector of float)
0:? 'po' (layout( location=0) out 4-component vector of float)
0:? 'po' ( temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float)
0:? 'input.interp' (layout( location=0) in float)
0:? 'input.no_interp' (layout( location=1) flat in uint)
0:? 'po' (layout( location=0) out 4-component vector of float)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Function Parameters:
0:12 'input' ( in structure{ temp float interp, temp uint no_interp})
0:12 'po' ( out 4-component vector of float)
0:? Sequence
0:14 move second child to first child ( temp 4-component vector of float)
0:14 o1: direct index for structure ( temp 4-component vector of float)
0:14 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:14 Constant:
0:14 0 (const int)
0:? Construct vec4 ( temp 4-component vector of float)
0:14 Convert uint to float ( temp float)
0:14 no_interp: direct index for structure ( temp uint)
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
0:14 Constant:
0:14 1 (const int)
0:14 interp: direct index for structure ( temp float)
0:14 'input' ( in structure{ temp float interp, temp uint no_interp})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 0.000000
0:14 Constant:
0:14 1.000000
0:15 move second child to first child ( temp 4-component vector of float)
0:15 o2: direct index for structure ( temp 4-component vector of float)
0:15 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:15 Constant:
0:15 1 (const int)
0:15 Constant:
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:16 move second child to first child ( temp 4-component vector of float)
0:16 'po' ( out 4-component vector of float)
0:16 Constant:
0:16 0.000000
0:16 0.000000
0:16 0.000000
0:16 0.000000
0:18 Branch: Return with expression
0:18 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Function Definition: main( ( temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child ( temp float)
0:12 interp: direct index for structure ( temp float)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:12 Constant:
0:12 0 (const int)
0:? 'input.interp' (layout( location=0) in float)
0:12 move second child to first child ( temp uint)
0:12 no_interp: direct index for structure ( temp uint)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:12 Constant:
0:12 1 (const int)
0:? 'input.no_interp' (layout( location=1) flat in uint)
0:12 Sequence
0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Function Call: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:? 'po' ( temp 4-component vector of float)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
0:12 o1: direct index for structure ( temp 4-component vector of float)
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Constant:
0:12 0 (const int)
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float)
0:12 o2: direct index for structure ( temp 4-component vector of float)
0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2})
0:12 Constant:
0:12 1 (const int)
0:12 move second child to first child ( temp 4-component vector of float)
0:? 'po' (layout( location=0) out 4-component vector of float)
0:? 'po' ( temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float)
0:? 'input.interp' (layout( location=0) in float)
0:? 'input.no_interp' (layout( location=1) flat in uint)
0:? 'po' (layout( location=0) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 65
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 42 46 57 60 63
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 8 "PSInput"
MemberName 8(PSInput) 0 "interp"
MemberName 8(PSInput) 1 "no_interp"
Name 12 "PSOutput"
MemberName 12(PSOutput) 0 "o1"
MemberName 12(PSOutput) 1 "o2"
Name 16 "@main(struct-PSInput-f1-u11;vf4;"
Name 14 "input"
Name 15 "po"
Name 19 "pso"
Name 40 "input"
Name 42 "input.interp"
Name 46 "input.no_interp"
Name 49 "flattenTemp"
Name 50 "po"
Name 51 "param"
Name 53 "param"
Name 57 "@entryPointOutput.o1"
Name 60 "@entryPointOutput.o2"
Name 63 "po"
Decorate 42(input.interp) Location 0
Decorate 46(input.no_interp) Flat
Decorate 46(input.no_interp) Location 1
Decorate 57(@entryPointOutput.o1) Location 2
Decorate 60(@entryPointOutput.o2) Location 3
Decorate 63(po) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeInt 32 0
8(PSInput): TypeStruct 6(float) 7(int)
9: TypePointer Function 8(PSInput)
10: TypeVector 6(float) 4
11: TypePointer Function 10(fvec4)
12(PSOutput): TypeStruct 10(fvec4) 10(fvec4)
13: TypeFunction 12(PSOutput) 9(ptr) 11(ptr)
18: TypePointer Function 12(PSOutput)
20: TypeInt 32 1
21: 20(int) Constant 0
22: 20(int) Constant 1
23: TypePointer Function 7(int)
27: TypePointer Function 6(float)
30: 6(float) Constant 0
31: 6(float) Constant 1065353216
34: 10(fvec4) ConstantComposite 31 31 31 31
36: 10(fvec4) ConstantComposite 30 30 30 30
41: TypePointer Input 6(float)
42(input.interp): 41(ptr) Variable Input
45: TypePointer Input 7(int)
46(input.no_interp): 45(ptr) Variable Input
56: TypePointer Output 10(fvec4)
57(@entryPointOutput.o1): 56(ptr) Variable Output
60(@entryPointOutput.o2): 56(ptr) Variable Output
63(po): 56(ptr) Variable Output
4(main): 2 Function None 3
5: Label
40(input): 9(ptr) Variable Function
49(flattenTemp): 18(ptr) Variable Function
50(po): 11(ptr) Variable Function
51(param): 9(ptr) Variable Function
53(param): 11(ptr) Variable Function
43: 6(float) Load 42(input.interp)
44: 27(ptr) AccessChain 40(input) 21
Store 44 43
47: 7(int) Load 46(input.no_interp)
48: 23(ptr) AccessChain 40(input) 22
Store 48 47
52: 8(PSInput) Load 40(input)
Store 51(param) 52
54:12(PSOutput) FunctionCall 16(@main(struct-PSInput-f1-u11;vf4;) 51(param) 53(param)
55: 10(fvec4) Load 53(param)
Store 50(po) 55
Store 49(flattenTemp) 54
58: 11(ptr) AccessChain 49(flattenTemp) 21
59: 10(fvec4) Load 58
Store 57(@entryPointOutput.o1) 59
61: 11(ptr) AccessChain 49(flattenTemp) 22
62: 10(fvec4) Load 61
Store 60(@entryPointOutput.o2) 62
64: 10(fvec4) Load 50(po)
Store 63(po) 64
Return
FunctionEnd
16(@main(struct-PSInput-f1-u11;vf4;):12(PSOutput) Function None 13
14(input): 9(ptr) FunctionParameter
15(po): 11(ptr) FunctionParameter
17: Label
19(pso): 18(ptr) Variable Function
24: 23(ptr) AccessChain 14(input) 22
25: 7(int) Load 24
26: 6(float) ConvertUToF 25
28: 27(ptr) AccessChain 14(input) 21
29: 6(float) Load 28
32: 10(fvec4) CompositeConstruct 26 29 30 31
33: 11(ptr) AccessChain 19(pso) 21
Store 33 32
35: 11(ptr) AccessChain 19(pso) 22
Store 35 34
Store 15(po) 36
37:12(PSOutput) Load 19(pso)
ReturnValue 37
FunctionEnd