1 hlsl.struct.split.trivial.vert 2 Shader version: 500 3 0:? Sequence 4 0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 5 0:16 Function Parameters: 6 0:16 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) 7 0:16 'Pos_loose' ( in 4-component vector of float) 8 0:? Sequence 9 0:19 move second child to first child ( temp 4-component vector of float) 10 0:19 Pos: direct index for structure ( temp 4-component vector of float) 11 0:19 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 12 0:19 Constant: 13 0:19 0 (const int) 14 0:19 add ( temp 4-component vector of float) 15 0:19 Pos_in: direct index for structure ( temp 4-component vector of float) 16 0:19 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) 17 0:19 Constant: 18 0:19 0 (const int) 19 0:19 'Pos_loose' ( in 4-component vector of float) 20 0:21 Branch: Return with expression 21 0:21 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 22 0:16 Function Definition: main( ( temp void) 23 0:16 Function Parameters: 24 0:? Sequence 25 0:16 Sequence 26 0:16 move second child to first child ( temp 4-component vector of float) 27 0:16 Pos_in: direct index for structure ( temp 4-component vector of float) 28 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) 29 0:16 Constant: 30 0:16 0 (const int) 31 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) 32 0:16 move second child to first child ( temp 4-component vector of float) 33 0:? 'Pos_loose' ( temp 4-component vector of float) 34 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) 35 0:16 Sequence 36 0:16 move second child to first child ( temp 4-component vector of float) 37 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) 38 0:16 Pos: direct index for structure ( temp 4-component vector of float) 39 0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 40 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) 41 0:? 'Pos_loose' ( temp 4-component vector of float) 42 0:16 Constant: 43 0:16 0 (const int) 44 0:? Linker Objects 45 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) 46 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) 47 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) 48 49 50 Linked vertex stage: 51 52 53 Shader version: 500 54 0:? Sequence 55 0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 56 0:16 Function Parameters: 57 0:16 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) 58 0:16 'Pos_loose' ( in 4-component vector of float) 59 0:? Sequence 60 0:19 move second child to first child ( temp 4-component vector of float) 61 0:19 Pos: direct index for structure ( temp 4-component vector of float) 62 0:19 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 63 0:19 Constant: 64 0:19 0 (const int) 65 0:19 add ( temp 4-component vector of float) 66 0:19 Pos_in: direct index for structure ( temp 4-component vector of float) 67 0:19 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) 68 0:19 Constant: 69 0:19 0 (const int) 70 0:19 'Pos_loose' ( in 4-component vector of float) 71 0:21 Branch: Return with expression 72 0:21 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 73 0:16 Function Definition: main( ( temp void) 74 0:16 Function Parameters: 75 0:? Sequence 76 0:16 Sequence 77 0:16 move second child to first child ( temp 4-component vector of float) 78 0:16 Pos_in: direct index for structure ( temp 4-component vector of float) 79 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) 80 0:16 Constant: 81 0:16 0 (const int) 82 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) 83 0:16 move second child to first child ( temp 4-component vector of float) 84 0:? 'Pos_loose' ( temp 4-component vector of float) 85 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) 86 0:16 Sequence 87 0:16 move second child to first child ( temp 4-component vector of float) 88 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) 89 0:16 Pos: direct index for structure ( temp 4-component vector of float) 90 0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 91 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) 92 0:? 'Pos_loose' ( temp 4-component vector of float) 93 0:16 Constant: 94 0:16 0 (const int) 95 0:? Linker Objects 96 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) 97 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) 98 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) 99 100 // Module Version 10000 101 // Generated by (magic number): 80007 102 // Id's are bound by 45 103 104 Capability Shader 105 1: ExtInstImport "GLSL.std.450" 106 MemoryModel Logical GLSL450 107 EntryPoint Vertex 4 "main" 31 35 38 108 Source HLSL 500 109 Name 4 "main" 110 Name 8 "VS_INPUT" 111 MemberName 8(VS_INPUT) 0 "Pos_in" 112 Name 11 "VS_OUTPUT" 113 MemberName 11(VS_OUTPUT) 0 "Pos" 114 Name 15 "@main(struct-VS_INPUT-vf41;vf4;" 115 Name 13 "vsin" 116 Name 14 "Pos_loose" 117 Name 18 "vsout" 118 Name 29 "vsin" 119 Name 31 "vsin.Pos_in" 120 Name 34 "Pos_loose" 121 Name 35 "Pos_loose" 122 Name 38 "@entryPointOutput.Pos" 123 Name 39 "param" 124 Name 41 "param" 125 Decorate 31(vsin.Pos_in) Location 0 126 Decorate 35(Pos_loose) Location 1 127 Decorate 38(@entryPointOutput.Pos) BuiltIn Position 128 2: TypeVoid 129 3: TypeFunction 2 130 6: TypeFloat 32 131 7: TypeVector 6(float) 4 132 8(VS_INPUT): TypeStruct 7(fvec4) 133 9: TypePointer Function 8(VS_INPUT) 134 10: TypePointer Function 7(fvec4) 135 11(VS_OUTPUT): TypeStruct 7(fvec4) 136 12: TypeFunction 11(VS_OUTPUT) 9(ptr) 10(ptr) 137 17: TypePointer Function 11(VS_OUTPUT) 138 19: TypeInt 32 1 139 20: 19(int) Constant 0 140 30: TypePointer Input 7(fvec4) 141 31(vsin.Pos_in): 30(ptr) Variable Input 142 35(Pos_loose): 30(ptr) Variable Input 143 37: TypePointer Output 7(fvec4) 144 38(@entryPointOutput.Pos): 37(ptr) Variable Output 145 4(main): 2 Function None 3 146 5: Label 147 29(vsin): 9(ptr) Variable Function 148 34(Pos_loose): 10(ptr) Variable Function 149 39(param): 9(ptr) Variable Function 150 41(param): 10(ptr) Variable Function 151 32: 7(fvec4) Load 31(vsin.Pos_in) 152 33: 10(ptr) AccessChain 29(vsin) 20 153 Store 33 32 154 36: 7(fvec4) Load 35(Pos_loose) 155 Store 34(Pos_loose) 36 156 40: 8(VS_INPUT) Load 29(vsin) 157 Store 39(param) 40 158 42: 7(fvec4) Load 34(Pos_loose) 159 Store 41(param) 42 160 43:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 39(param) 41(param) 161 44: 7(fvec4) CompositeExtract 43 0 162 Store 38(@entryPointOutput.Pos) 44 163 Return 164 FunctionEnd 165 15(@main(struct-VS_INPUT-vf41;vf4;):11(VS_OUTPUT) Function None 12 166 13(vsin): 9(ptr) FunctionParameter 167 14(Pos_loose): 10(ptr) FunctionParameter 168 16: Label 169 18(vsout): 17(ptr) Variable Function 170 21: 10(ptr) AccessChain 13(vsin) 20 171 22: 7(fvec4) Load 21 172 23: 7(fvec4) Load 14(Pos_loose) 173 24: 7(fvec4) FAdd 22 23 174 25: 10(ptr) AccessChain 18(vsout) 20 175 Store 25 24 176 26:11(VS_OUTPUT) Load 18(vsout) 177 ReturnValue 26 178 FunctionEnd 179