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): 8000a // 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