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