1 hlsl.targetStruct2.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 0:? Sequence 5 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}) 6 0:12 Function Parameters: 7 0:12 'input' ( in structure{ temp float interp, temp uint no_interp}) 8 0:12 'po' ( out 4-component vector of float) 9 0:? Sequence 10 0:14 move second child to first child ( temp 4-component vector of float) 11 0:14 o1: direct index for structure ( temp 4-component vector of float) 12 0:14 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 13 0:14 Constant: 14 0:14 0 (const int) 15 0:? Construct vec4 ( temp 4-component vector of float) 16 0:14 Convert uint to float ( temp float) 17 0:14 no_interp: direct index for structure ( temp uint) 18 0:14 'input' ( in structure{ temp float interp, temp uint no_interp}) 19 0:14 Constant: 20 0:14 1 (const int) 21 0:14 interp: direct index for structure ( temp float) 22 0:14 'input' ( in structure{ temp float interp, temp uint no_interp}) 23 0:14 Constant: 24 0:14 0 (const int) 25 0:14 Constant: 26 0:14 0.000000 27 0:14 Constant: 28 0:14 1.000000 29 0:15 move second child to first child ( temp 4-component vector of float) 30 0:15 o2: direct index for structure ( temp 4-component vector of float) 31 0:15 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 32 0:15 Constant: 33 0:15 1 (const int) 34 0:15 Constant: 35 0:15 1.000000 36 0:15 1.000000 37 0:15 1.000000 38 0:15 1.000000 39 0:16 move second child to first child ( temp 4-component vector of float) 40 0:16 'po' ( out 4-component vector of float) 41 0:16 Constant: 42 0:16 0.000000 43 0:16 0.000000 44 0:16 0.000000 45 0:16 0.000000 46 0:18 Branch: Return with expression 47 0:18 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 48 0:12 Function Definition: main( ( temp void) 49 0:12 Function Parameters: 50 0:? Sequence 51 0:12 Sequence 52 0:12 move second child to first child ( temp float) 53 0:12 interp: direct index for structure ( temp float) 54 0:? 'input' ( temp structure{ temp float interp, temp uint no_interp}) 55 0:12 Constant: 56 0:12 0 (const int) 57 0:? 'input.interp' (layout( location=0) in float) 58 0:12 move second child to first child ( temp uint) 59 0:12 no_interp: direct index for structure ( temp uint) 60 0:? 'input' ( temp structure{ temp float interp, temp uint no_interp}) 61 0:12 Constant: 62 0:12 1 (const int) 63 0:? 'input.no_interp' (layout( location=1) flat in uint) 64 0:12 Sequence 65 0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 66 0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 67 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}) 68 0:? 'input' ( temp structure{ temp float interp, temp uint no_interp}) 69 0:? 'po' ( temp 4-component vector of float) 70 0:12 move second child to first child ( temp 4-component vector of float) 71 0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float) 72 0:12 o1: direct index for structure ( temp 4-component vector of float) 73 0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 74 0:12 Constant: 75 0:12 0 (const int) 76 0:12 move second child to first child ( temp 4-component vector of float) 77 0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float) 78 0:12 o2: direct index for structure ( temp 4-component vector of float) 79 0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 80 0:12 Constant: 81 0:12 1 (const int) 82 0:12 move second child to first child ( temp 4-component vector of float) 83 0:? 'po' (layout( location=0) out 4-component vector of float) 84 0:? 'po' ( temp 4-component vector of float) 85 0:? Linker Objects 86 0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float) 87 0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float) 88 0:? 'input.interp' (layout( location=0) in float) 89 0:? 'input.no_interp' (layout( location=1) flat in uint) 90 0:? 'po' (layout( location=0) out 4-component vector of float) 91 92 93 Linked fragment stage: 94 95 96 Shader version: 500 97 gl_FragCoord origin is upper left 98 0:? Sequence 99 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}) 100 0:12 Function Parameters: 101 0:12 'input' ( in structure{ temp float interp, temp uint no_interp}) 102 0:12 'po' ( out 4-component vector of float) 103 0:? Sequence 104 0:14 move second child to first child ( temp 4-component vector of float) 105 0:14 o1: direct index for structure ( temp 4-component vector of float) 106 0:14 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 107 0:14 Constant: 108 0:14 0 (const int) 109 0:? Construct vec4 ( temp 4-component vector of float) 110 0:14 Convert uint to float ( temp float) 111 0:14 no_interp: direct index for structure ( temp uint) 112 0:14 'input' ( in structure{ temp float interp, temp uint no_interp}) 113 0:14 Constant: 114 0:14 1 (const int) 115 0:14 interp: direct index for structure ( temp float) 116 0:14 'input' ( in structure{ temp float interp, temp uint no_interp}) 117 0:14 Constant: 118 0:14 0 (const int) 119 0:14 Constant: 120 0:14 0.000000 121 0:14 Constant: 122 0:14 1.000000 123 0:15 move second child to first child ( temp 4-component vector of float) 124 0:15 o2: direct index for structure ( temp 4-component vector of float) 125 0:15 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 126 0:15 Constant: 127 0:15 1 (const int) 128 0:15 Constant: 129 0:15 1.000000 130 0:15 1.000000 131 0:15 1.000000 132 0:15 1.000000 133 0:16 move second child to first child ( temp 4-component vector of float) 134 0:16 'po' ( out 4-component vector of float) 135 0:16 Constant: 136 0:16 0.000000 137 0:16 0.000000 138 0:16 0.000000 139 0:16 0.000000 140 0:18 Branch: Return with expression 141 0:18 'pso' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 142 0:12 Function Definition: main( ( temp void) 143 0:12 Function Parameters: 144 0:? Sequence 145 0:12 Sequence 146 0:12 move second child to first child ( temp float) 147 0:12 interp: direct index for structure ( temp float) 148 0:? 'input' ( temp structure{ temp float interp, temp uint no_interp}) 149 0:12 Constant: 150 0:12 0 (const int) 151 0:? 'input.interp' (layout( location=0) in float) 152 0:12 move second child to first child ( temp uint) 153 0:12 no_interp: direct index for structure ( temp uint) 154 0:? 'input' ( temp structure{ temp float interp, temp uint no_interp}) 155 0:12 Constant: 156 0:12 1 (const int) 157 0:? 'input.no_interp' (layout( location=1) flat in uint) 158 0:12 Sequence 159 0:12 move second child to first child ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 160 0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 161 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}) 162 0:? 'input' ( temp structure{ temp float interp, temp uint no_interp}) 163 0:? 'po' ( temp 4-component vector of float) 164 0:12 move second child to first child ( temp 4-component vector of float) 165 0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float) 166 0:12 o1: direct index for structure ( temp 4-component vector of float) 167 0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 168 0:12 Constant: 169 0:12 0 (const int) 170 0:12 move second child to first child ( temp 4-component vector of float) 171 0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float) 172 0:12 o2: direct index for structure ( temp 4-component vector of float) 173 0:12 'flattenTemp' ( temp structure{ temp 4-component vector of float o1, temp 4-component vector of float o2}) 174 0:12 Constant: 175 0:12 1 (const int) 176 0:12 move second child to first child ( temp 4-component vector of float) 177 0:? 'po' (layout( location=0) out 4-component vector of float) 178 0:? 'po' ( temp 4-component vector of float) 179 0:? Linker Objects 180 0:? '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float) 181 0:? '@entryPointOutput.o2' (layout( location=3) out 4-component vector of float) 182 0:? 'input.interp' (layout( location=0) in float) 183 0:? 'input.no_interp' (layout( location=1) flat in uint) 184 0:? 'po' (layout( location=0) out 4-component vector of float) 185 186 // Module Version 10000 187 // Generated by (magic number): 80007 188 // Id's are bound by 65 189 190 Capability Shader 191 1: ExtInstImport "GLSL.std.450" 192 MemoryModel Logical GLSL450 193 EntryPoint Fragment 4 "main" 42 46 57 60 63 194 ExecutionMode 4 OriginUpperLeft 195 Source HLSL 500 196 Name 4 "main" 197 Name 8 "PSInput" 198 MemberName 8(PSInput) 0 "interp" 199 MemberName 8(PSInput) 1 "no_interp" 200 Name 12 "PSOutput" 201 MemberName 12(PSOutput) 0 "o1" 202 MemberName 12(PSOutput) 1 "o2" 203 Name 16 "@main(struct-PSInput-f1-u11;vf4;" 204 Name 14 "input" 205 Name 15 "po" 206 Name 19 "pso" 207 Name 40 "input" 208 Name 42 "input.interp" 209 Name 46 "input.no_interp" 210 Name 49 "flattenTemp" 211 Name 50 "po" 212 Name 51 "param" 213 Name 53 "param" 214 Name 57 "@entryPointOutput.o1" 215 Name 60 "@entryPointOutput.o2" 216 Name 63 "po" 217 Decorate 42(input.interp) Location 0 218 Decorate 46(input.no_interp) Flat 219 Decorate 46(input.no_interp) Location 1 220 Decorate 57(@entryPointOutput.o1) Location 2 221 Decorate 60(@entryPointOutput.o2) Location 3 222 Decorate 63(po) Location 0 223 2: TypeVoid 224 3: TypeFunction 2 225 6: TypeFloat 32 226 7: TypeInt 32 0 227 8(PSInput): TypeStruct 6(float) 7(int) 228 9: TypePointer Function 8(PSInput) 229 10: TypeVector 6(float) 4 230 11: TypePointer Function 10(fvec4) 231 12(PSOutput): TypeStruct 10(fvec4) 10(fvec4) 232 13: TypeFunction 12(PSOutput) 9(ptr) 11(ptr) 233 18: TypePointer Function 12(PSOutput) 234 20: TypeInt 32 1 235 21: 20(int) Constant 0 236 22: 20(int) Constant 1 237 23: TypePointer Function 7(int) 238 27: TypePointer Function 6(float) 239 30: 6(float) Constant 0 240 31: 6(float) Constant 1065353216 241 34: 10(fvec4) ConstantComposite 31 31 31 31 242 36: 10(fvec4) ConstantComposite 30 30 30 30 243 41: TypePointer Input 6(float) 244 42(input.interp): 41(ptr) Variable Input 245 45: TypePointer Input 7(int) 246 46(input.no_interp): 45(ptr) Variable Input 247 56: TypePointer Output 10(fvec4) 248 57(@entryPointOutput.o1): 56(ptr) Variable Output 249 60(@entryPointOutput.o2): 56(ptr) Variable Output 250 63(po): 56(ptr) Variable Output 251 4(main): 2 Function None 3 252 5: Label 253 40(input): 9(ptr) Variable Function 254 49(flattenTemp): 18(ptr) Variable Function 255 50(po): 11(ptr) Variable Function 256 51(param): 9(ptr) Variable Function 257 53(param): 11(ptr) Variable Function 258 43: 6(float) Load 42(input.interp) 259 44: 27(ptr) AccessChain 40(input) 21 260 Store 44 43 261 47: 7(int) Load 46(input.no_interp) 262 48: 23(ptr) AccessChain 40(input) 22 263 Store 48 47 264 52: 8(PSInput) Load 40(input) 265 Store 51(param) 52 266 54:12(PSOutput) FunctionCall 16(@main(struct-PSInput-f1-u11;vf4;) 51(param) 53(param) 267 55: 10(fvec4) Load 53(param) 268 Store 50(po) 55 269 Store 49(flattenTemp) 54 270 58: 11(ptr) AccessChain 49(flattenTemp) 21 271 59: 10(fvec4) Load 58 272 Store 57(@entryPointOutput.o1) 59 273 61: 11(ptr) AccessChain 49(flattenTemp) 22 274 62: 10(fvec4) Load 61 275 Store 60(@entryPointOutput.o2) 62 276 64: 10(fvec4) Load 50(po) 277 Store 63(po) 64 278 Return 279 FunctionEnd 280 16(@main(struct-PSInput-f1-u11;vf4;):12(PSOutput) Function None 13 281 14(input): 9(ptr) FunctionParameter 282 15(po): 11(ptr) FunctionParameter 283 17: Label 284 19(pso): 18(ptr) Variable Function 285 24: 23(ptr) AccessChain 14(input) 22 286 25: 7(int) Load 24 287 26: 6(float) ConvertUToF 25 288 28: 27(ptr) AccessChain 14(input) 21 289 29: 6(float) Load 28 290 32: 10(fvec4) CompositeConstruct 26 29 30 31 291 33: 11(ptr) AccessChain 19(pso) 21 292 Store 33 32 293 35: 11(ptr) AccessChain 19(pso) 22 294 Store 35 34 295 Store 15(po) 36 296 37:12(PSOutput) Load 19(pso) 297 ReturnValue 37 298 FunctionEnd 299