1hlsl.structbuffer.rw.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:12 Function Definition: @main(u1; ( temp 4-component vector of float) 60:12 Function Parameters: 70:12 'pos' ( in uint) 80:? Sequence 90:13 move second child to first child ( temp float) 100:13 indirect index (layout( row_major std430) buffer float) 110:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float) 120:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data}) 130:13 Constant: 140:13 0 (const uint) 150:13 add ( temp uint) 160:13 'pos' ( in uint) 170:13 Constant: 180:13 1 (const uint) 190:13 Constant: 200:13 42.000000 210:17 Sequence 220:17 move second child to first child ( temp uint) 230:17 'size' ( temp uint) 240:17 array length ( temp uint) 250:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test}) 260:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 270:17 Constant: 280:17 0 (const uint) 290:17 move second child to first child ( temp uint) 300:17 'stride' ( temp uint) 310:17 Constant: 320:17 16 (const uint) 330:19 Test condition and select ( temp void) 340:19 Condition 350:19 test: direct index for structure ( temp bool) 360:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) 370:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test}) 380:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 390:19 Constant: 400:19 0 (const uint) 410:19 'pos' ( in uint) 420:19 Constant: 430:19 1 (const int) 440:19 true case 450:20 Branch: Return with expression 460:? Construct vec4 ( temp 4-component vector of float) 470:20 add ( temp 3-component vector of float) 480:20 color: direct index for structure ( temp 3-component vector of float) 490:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) 500:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test}) 510:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 520:20 Constant: 530:20 0 (const uint) 540:20 'pos' ( in uint) 550:20 Constant: 560:20 0 (const int) 570:20 indirect index (layout( row_major std430) buffer float) 580:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float) 590:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data}) 600:20 Constant: 610:20 0 (const uint) 620:20 'pos' ( in uint) 630:20 Constant: 640:20 0.000000 650:19 false case 660:22 Branch: Return with expression 670:22 Construct vec4 ( temp 4-component vector of float) 680:22 Convert uint to float ( temp float) 690:22 add ( temp uint) 700:22 'size' ( temp uint) 710:22 'stride' ( temp uint) 720:12 Function Definition: main( ( temp void) 730:12 Function Parameters: 740:? Sequence 750:12 move second child to first child ( temp uint) 760:? 'pos' ( temp uint) 770:? 'pos' (layout( location=0) flat in uint) 780:12 move second child to first child ( temp 4-component vector of float) 790:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 800:12 Function Call: @main(u1; ( temp 4-component vector of float) 810:? 'pos' ( temp uint) 820:? Linker Objects 830:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 840:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data}) 850:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 860:? 'pos' (layout( location=0) flat in uint) 87 88 89Linked fragment stage: 90 91 92Shader version: 500 93gl_FragCoord origin is upper left 940:? Sequence 950:12 Function Definition: @main(u1; ( temp 4-component vector of float) 960:12 Function Parameters: 970:12 'pos' ( in uint) 980:? Sequence 990:13 move second child to first child ( temp float) 1000:13 indirect index (layout( row_major std430) buffer float) 1010:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float) 1020:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data}) 1030:13 Constant: 1040:13 0 (const uint) 1050:13 add ( temp uint) 1060:13 'pos' ( in uint) 1070:13 Constant: 1080:13 1 (const uint) 1090:13 Constant: 1100:13 42.000000 1110:17 Sequence 1120:17 move second child to first child ( temp uint) 1130:17 'size' ( temp uint) 1140:17 array length ( temp uint) 1150:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test}) 1160:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 1170:17 Constant: 1180:17 0 (const uint) 1190:17 move second child to first child ( temp uint) 1200:17 'stride' ( temp uint) 1210:17 Constant: 1220:17 16 (const uint) 1230:19 Test condition and select ( temp void) 1240:19 Condition 1250:19 test: direct index for structure ( temp bool) 1260:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) 1270:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test}) 1280:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 1290:19 Constant: 1300:19 0 (const uint) 1310:19 'pos' ( in uint) 1320:19 Constant: 1330:19 1 (const int) 1340:19 true case 1350:20 Branch: Return with expression 1360:? Construct vec4 ( temp 4-component vector of float) 1370:20 add ( temp 3-component vector of float) 1380:20 color: direct index for structure ( temp 3-component vector of float) 1390:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) 1400:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test}) 1410:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 1420:20 Constant: 1430:20 0 (const uint) 1440:20 'pos' ( in uint) 1450:20 Constant: 1460:20 0 (const int) 1470:20 indirect index (layout( row_major std430) buffer float) 1480:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float) 1490:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data}) 1500:20 Constant: 1510:20 0 (const uint) 1520:20 'pos' ( in uint) 1530:20 Constant: 1540:20 0.000000 1550:19 false case 1560:22 Branch: Return with expression 1570:22 Construct vec4 ( temp 4-component vector of float) 1580:22 Convert uint to float ( temp float) 1590:22 add ( temp uint) 1600:22 'size' ( temp uint) 1610:22 'stride' ( temp uint) 1620:12 Function Definition: main( ( temp void) 1630:12 Function Parameters: 1640:? Sequence 1650:12 move second child to first child ( temp uint) 1660:? 'pos' ( temp uint) 1670:? 'pos' (layout( location=0) flat in uint) 1680:12 move second child to first child ( temp 4-component vector of float) 1690:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1700:12 Function Call: @main(u1; ( temp 4-component vector of float) 1710:? 'pos' ( temp uint) 1720:? Linker Objects 1730:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data}) 1740:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data}) 1750:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1760:? 'pos' (layout( location=0) flat in uint) 177 178// Module Version 10000 179// Generated by (magic number): 80007 180// Id's are bound by 78 181 182 Capability Shader 183 1: ExtInstImport "GLSL.std.450" 184 MemoryModel Logical GLSL450 185 EntryPoint Fragment 4 "main" 71 74 186 ExecutionMode 4 OriginUpperLeft 187 Source HLSL 500 188 Name 4 "main" 189 Name 12 "@main(u1;" 190 Name 11 "pos" 191 Name 15 "sbuf2" 192 MemberName 15(sbuf2) 0 "@data" 193 Name 17 "sbuf2" 194 Name 26 "size" 195 Name 28 "sb_t" 196 MemberName 28(sb_t) 0 "color" 197 MemberName 28(sb_t) 1 "test" 198 Name 30 "sbuf" 199 MemberName 30(sbuf) 0 "@data" 200 Name 32 "sbuf" 201 Name 34 "stride" 202 Name 69 "pos" 203 Name 71 "pos" 204 Name 74 "@entryPointOutput" 205 Name 75 "param" 206 Decorate 14 ArrayStride 4 207 MemberDecorate 15(sbuf2) 0 Offset 0 208 Decorate 15(sbuf2) BufferBlock 209 Decorate 17(sbuf2) DescriptorSet 0 210 Decorate 17(sbuf2) Binding 0 211 MemberDecorate 28(sb_t) 0 Offset 0 212 MemberDecorate 28(sb_t) 1 Offset 12 213 Decorate 29 ArrayStride 16 214 MemberDecorate 30(sbuf) 0 Offset 0 215 Decorate 30(sbuf) BufferBlock 216 Decorate 32(sbuf) DescriptorSet 0 217 Decorate 32(sbuf) Binding 0 218 Decorate 71(pos) Flat 219 Decorate 71(pos) Location 0 220 Decorate 74(@entryPointOutput) Location 0 221 2: TypeVoid 222 3: TypeFunction 2 223 6: TypeInt 32 0 224 7: TypePointer Function 6(int) 225 8: TypeFloat 32 226 9: TypeVector 8(float) 4 227 10: TypeFunction 9(fvec4) 7(ptr) 228 14: TypeRuntimeArray 8(float) 229 15(sbuf2): TypeStruct 14 230 16: TypePointer Uniform 15(sbuf2) 231 17(sbuf2): 16(ptr) Variable Uniform 232 18: TypeInt 32 1 233 19: 18(int) Constant 0 234 21: 6(int) Constant 1 235 23: 8(float) Constant 1109917696 236 24: TypePointer Uniform 8(float) 237 27: TypeVector 8(float) 3 238 28(sb_t): TypeStruct 27(fvec3) 6(int) 239 29: TypeRuntimeArray 28(sb_t) 240 30(sbuf): TypeStruct 29 241 31: TypePointer Uniform 30(sbuf) 242 32(sbuf): 31(ptr) Variable Uniform 243 35: 6(int) Constant 16 244 37: 18(int) Constant 1 245 38: TypePointer Uniform 6(int) 246 41: TypeBool 247 42: 6(int) Constant 0 248 47: TypePointer Uniform 27(fvec3) 249 55: 8(float) Constant 0 250 70: TypePointer Input 6(int) 251 71(pos): 70(ptr) Variable Input 252 73: TypePointer Output 9(fvec4) 25374(@entryPointOutput): 73(ptr) Variable Output 254 4(main): 2 Function None 3 255 5: Label 256 69(pos): 7(ptr) Variable Function 257 75(param): 7(ptr) Variable Function 258 72: 6(int) Load 71(pos) 259 Store 69(pos) 72 260 76: 6(int) Load 69(pos) 261 Store 75(param) 76 262 77: 9(fvec4) FunctionCall 12(@main(u1;) 75(param) 263 Store 74(@entryPointOutput) 77 264 Return 265 FunctionEnd 266 12(@main(u1;): 9(fvec4) Function None 10 267 11(pos): 7(ptr) FunctionParameter 268 13: Label 269 26(size): 7(ptr) Variable Function 270 34(stride): 7(ptr) Variable Function 271 20: 6(int) Load 11(pos) 272 22: 6(int) IAdd 20 21 273 25: 24(ptr) AccessChain 17(sbuf2) 19 22 274 Store 25 23 275 33: 6(int) ArrayLength 32(sbuf) 0 276 Store 26(size) 33 277 Store 34(stride) 35 278 36: 6(int) Load 11(pos) 279 39: 38(ptr) AccessChain 32(sbuf) 19 36 37 280 40: 6(int) Load 39 281 43: 41(bool) INotEqual 40 42 282 SelectionMerge 45 None 283 BranchConditional 43 44 61 284 44: Label 285 46: 6(int) Load 11(pos) 286 48: 47(ptr) AccessChain 32(sbuf) 19 46 19 287 49: 27(fvec3) Load 48 288 50: 6(int) Load 11(pos) 289 51: 24(ptr) AccessChain 17(sbuf2) 19 50 290 52: 8(float) Load 51 291 53: 27(fvec3) CompositeConstruct 52 52 52 292 54: 27(fvec3) FAdd 49 53 293 56: 8(float) CompositeExtract 54 0 294 57: 8(float) CompositeExtract 54 1 295 58: 8(float) CompositeExtract 54 2 296 59: 9(fvec4) CompositeConstruct 56 57 58 55 297 ReturnValue 59 298 61: Label 299 62: 6(int) Load 26(size) 300 63: 6(int) Load 34(stride) 301 64: 6(int) IAdd 62 63 302 65: 8(float) ConvertUToF 64 303 66: 9(fvec4) CompositeConstruct 65 65 65 65 304 ReturnValue 66 305 45: Label 306 68: 9(fvec4) Undef 307 ReturnValue 68 308 FunctionEnd 309