blob: bb84b99c05952c15ac97e43c9561591967c45d96 [file] [log] [blame]
hlsl.structbuffer.fn2.comp
Shader version: 500
local_size = (256, 1, 1)
0:? Sequence
0:5 Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
0:5 Function Parameters:
0:5 'loc' ( in uint)
0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? Sequence
0:6 Sequence
0:6 move second child to first child ( temp 2-component vector of uint)
0:6 'result' ( temp 2-component vector of uint)
0:? Sequence
0:6 move second child to first child ( temp int)
0:6 'byteAddrTemp' ( temp int)
0:6 right-shift ( temp int)
0:6 'loc' ( in uint)
0:6 Constant:
0:6 2 (const int)
0:? Construct vec2 ( temp 2-component vector of uint)
0:6 indirect index ( temp float)
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 'byteAddrTemp' ( temp int)
0:6 indirect index ( temp float)
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 add ( temp int)
0:6 'byteAddrTemp' ( temp int)
0:6 Constant:
0:6 1 (const int)
0:7 Branch: Return with expression
0:7 'result' ( temp 2-component vector of uint)
0:12 Function Definition: @main(u1; ( temp void)
0:12 Function Parameters:
0:12 'dispatchId' ( in uint)
0:? Sequence
0:13 Sequence
0:13 move second child to first child ( temp 2-component vector of uint)
0:13 'result' ( temp 2-component vector of uint)
0:13 Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
0:13 'dispatchId' ( in uint)
0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:14 Sequence
0:14 imageStore ( temp void)
0:14 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
0:14 'dispatchId' ( in uint)
0:14 'result' ( temp 2-component vector of uint)
0:14 'result' ( temp 2-component vector of uint)
0:12 Function Definition: main( ( temp void)
0:12 Function Parameters:
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'dispatchId' ( temp uint)
0:? 'dispatchId' ( in uint GlobalInvocationID)
0:12 Function Call: @main(u1; ( temp void)
0:? 'dispatchId' ( temp uint)
0:? Linker Objects
0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
0:? 'dispatchId' ( in uint GlobalInvocationID)
Linked compute stage:
Shader version: 500
local_size = (256, 1, 1)
0:? Sequence
0:5 Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
0:5 Function Parameters:
0:5 'loc' ( in uint)
0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? Sequence
0:6 Sequence
0:6 move second child to first child ( temp 2-component vector of uint)
0:6 'result' ( temp 2-component vector of uint)
0:? Sequence
0:6 move second child to first child ( temp int)
0:6 'byteAddrTemp' ( temp int)
0:6 right-shift ( temp int)
0:6 'loc' ( in uint)
0:6 Constant:
0:6 2 (const int)
0:? Construct vec2 ( temp 2-component vector of uint)
0:6 indirect index ( temp float)
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 'byteAddrTemp' ( temp int)
0:6 indirect index ( temp float)
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 add ( temp int)
0:6 'byteAddrTemp' ( temp int)
0:6 Constant:
0:6 1 (const int)
0:7 Branch: Return with expression
0:7 'result' ( temp 2-component vector of uint)
0:12 Function Definition: @main(u1; ( temp void)
0:12 Function Parameters:
0:12 'dispatchId' ( in uint)
0:? Sequence
0:13 Sequence
0:13 move second child to first child ( temp 2-component vector of uint)
0:13 'result' ( temp 2-component vector of uint)
0:13 Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
0:13 'dispatchId' ( in uint)
0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:14 Sequence
0:14 imageStore ( temp void)
0:14 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
0:14 'dispatchId' ( in uint)
0:14 'result' ( temp 2-component vector of uint)
0:14 'result' ( temp 2-component vector of uint)
0:12 Function Definition: main( ( temp void)
0:12 Function Parameters:
0:? Sequence
0:12 move second child to first child ( temp uint)
0:? 'dispatchId' ( temp uint)
0:? 'dispatchId' ( in uint GlobalInvocationID)
0:12 Function Call: @main(u1; ( temp void)
0:? 'dispatchId' ( temp uint)
0:? Linker Objects
0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
0:? 'dispatchId' ( in uint GlobalInvocationID)
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 62
Capability Shader
Capability ImageBuffer
Capability StorageImageExtendedFormats
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 57
ExecutionMode 4 LocalSize 256 1 1
Source HLSL 500
Name 4 "main"
Name 9 ""
MemberName 9 0 "@data"
Name 15 "testLoad(u1;block--u1[0]1;"
Name 13 "loc"
Name 14 "buffer"
Name 19 "@main(u1;"
Name 18 "dispatchId"
Name 22 "result"
Name 25 "byteAddrTemp"
Name 42 "result"
Name 44 "g_input"
Name 45 "param"
Name 47 "param"
Name 51 "g_output"
Name 55 "dispatchId"
Name 57 "dispatchId"
Name 59 "param"
Decorate 8 ArrayStride 4
MemberDecorate 9 0 NonWritable
MemberDecorate 9 0 Offset 0
Decorate 9 BufferBlock
Decorate 14(buffer) NonWritable
Decorate 44(g_input) DescriptorSet 0
Decorate 44(g_input) Binding 0
Decorate 51(g_output) DescriptorSet 0
Decorate 51(g_output) Binding 1
Decorate 57(dispatchId) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
8: TypeRuntimeArray 6(int)
9: TypeStruct 8
10: TypePointer Function 9(struct)
11: TypeVector 6(int) 2
12: TypeFunction 11(ivec2) 7(ptr) 10(ptr)
17: TypeFunction 2 7(ptr)
21: TypePointer Function 11(ivec2)
23: TypeInt 32 1
24: TypePointer Function 23(int)
27: 23(int) Constant 2
29: 23(int) Constant 0
34: 23(int) Constant 1
43: TypePointer Uniform 9(struct)
44(g_input): 43(ptr) Variable Uniform
49: TypeImage 6(int) Buffer nonsampled format:Rg32ui
50: TypePointer UniformConstant 49
51(g_output): 50(ptr) Variable UniformConstant
56: TypePointer Input 6(int)
57(dispatchId): 56(ptr) Variable Input
4(main): 2 Function None 3
5: Label
55(dispatchId): 7(ptr) Variable Function
59(param): 7(ptr) Variable Function
58: 6(int) Load 57(dispatchId)
Store 55(dispatchId) 58
60: 6(int) Load 55(dispatchId)
Store 59(param) 60
61: 2 FunctionCall 19(@main(u1;) 59(param)
Return
FunctionEnd
15(testLoad(u1;block--u1[0]1;): 11(ivec2) Function None 12
13(loc): 7(ptr) FunctionParameter
14(buffer): 10(ptr) FunctionParameter
16: Label
22(result): 21(ptr) Variable Function
25(byteAddrTemp): 24(ptr) Variable Function
26: 6(int) Load 13(loc)
28: 23(int) ShiftRightLogical 26 27
Store 25(byteAddrTemp) 28
30: 23(int) Load 25(byteAddrTemp)
31: 7(ptr) AccessChain 14(buffer) 29 30
32: 6(int) Load 31
33: 23(int) Load 25(byteAddrTemp)
35: 23(int) IAdd 33 34
36: 7(ptr) AccessChain 14(buffer) 29 35
37: 6(int) Load 36
38: 11(ivec2) CompositeConstruct 32 37
Store 22(result) 38
39: 11(ivec2) Load 22(result)
ReturnValue 39
FunctionEnd
19(@main(u1;): 2 Function None 17
18(dispatchId): 7(ptr) FunctionParameter
20: Label
42(result): 21(ptr) Variable Function
45(param): 7(ptr) Variable Function
47(param): 10(ptr) Variable Function
46: 6(int) Load 18(dispatchId)
Store 45(param) 46
48: 11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 47(param)
Store 42(result) 48
52: 49 Load 51(g_output)
53: 6(int) Load 18(dispatchId)
54: 11(ivec2) Load 42(result)
ImageWrite 52 53 54
Return
FunctionEnd