• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint GLCompute %main "main"
5               OpExecutionMode %main LocalSize 64 1 1
6               OpName %S "S"
7               OpMemberName %S 0 "structMemberAtomic"
8               OpMemberName %S 1 "structMemberAtomicArray"
9               OpName %NestedS "NestedS"
10               OpMemberName %NestedS 0 "nestedStructWithAtomicMember"
11               OpName %ssbo "ssbo"
12               OpMemberName %ssbo 0 "ssboAtomic"
13               OpMemberName %ssbo 1 "ssboAtomicArray"
14               OpMemberName %ssbo 2 "ssboStructWithAtomicMember"
15               OpMemberName %ssbo 3 "ssboStructWithAtomicMemberArray"
16               OpMemberName %ssbo 4 "ssboNestedStructWithAtomicMember"
17               OpName %wgAtomic "wgAtomic"
18               OpName %wgAtomicArray "wgAtomicArray"
19               OpName %wgNestedStructWithAtomicMember "wgNestedStructWithAtomicMember"
20               OpName %main "main"
21               OpDecorate %_arr_uint_int_2 ArrayStride 16
22               OpMemberDecorate %S 0 Offset 0
23               OpMemberDecorate %S 0 RelaxedPrecision
24               OpMemberDecorate %S 1 Offset 16
25               OpMemberDecorate %S 1 RelaxedPrecision
26               OpDecorate %_arr_S_int_2 ArrayStride 48
27               OpMemberDecorate %NestedS 0 Offset 0
28               OpMemberDecorate %NestedS 0 RelaxedPrecision
29               OpMemberDecorate %ssbo 0 Offset 0
30               OpMemberDecorate %ssbo 0 RelaxedPrecision
31               OpMemberDecorate %ssbo 1 Offset 16
32               OpMemberDecorate %ssbo 1 RelaxedPrecision
33               OpMemberDecorate %ssbo 2 Offset 48
34               OpMemberDecorate %ssbo 2 RelaxedPrecision
35               OpMemberDecorate %ssbo 3 Offset 96
36               OpMemberDecorate %ssbo 3 RelaxedPrecision
37               OpMemberDecorate %ssbo 4 Offset 192
38               OpMemberDecorate %ssbo 4 RelaxedPrecision
39               OpDecorate %ssbo BufferBlock
40               OpDecorate %3 Binding 0
41               OpDecorate %3 DescriptorSet 0
42       %uint = OpTypeInt 32 0
43        %int = OpTypeInt 32 1
44      %int_2 = OpConstant %int 2
45%_arr_uint_int_2 = OpTypeArray %uint %int_2
46          %S = OpTypeStruct %uint %_arr_uint_int_2
47%_arr_S_int_2 = OpTypeArray %S %int_2
48    %NestedS = OpTypeStruct %S
49       %ssbo = OpTypeStruct %uint %_arr_uint_int_2 %S %_arr_S_int_2 %NestedS
50%_ptr_Uniform_ssbo = OpTypePointer Uniform %ssbo
51          %3 = OpVariable %_ptr_Uniform_ssbo Uniform
52%_ptr_Workgroup_uint = OpTypePointer Workgroup %uint
53   %wgAtomic = OpVariable %_ptr_Workgroup_uint Workgroup
54%_ptr_Workgroup__arr_uint_int_2 = OpTypePointer Workgroup %_arr_uint_int_2
55%wgAtomicArray = OpVariable %_ptr_Workgroup__arr_uint_int_2 Workgroup
56%_ptr_Workgroup_NestedS = OpTypePointer Workgroup %NestedS
57%wgNestedStructWithAtomicMember = OpVariable %_ptr_Workgroup_NestedS Workgroup
58       %void = OpTypeVoid
59         %20 = OpTypeFunction %void
60      %int_1 = OpConstant %int 1
61     %uint_2 = OpConstant %uint 2
62     %uint_0 = OpConstant %uint 0
63      %int_0 = OpConstant %int 0
64     %uint_1 = OpConstant %uint 1
65       %main = OpFunction %void None %20
66         %21 = OpLabel
67         %24 = OpAccessChain %_ptr_Workgroup_uint %wgAtomicArray %int_1
68         %27 = OpAtomicLoad %uint %wgAtomic %uint_2 %uint_0
69         %22 = OpAtomicIAdd %uint %24 %uint_2 %uint_0 %27
70         %30 = OpAccessChain %_ptr_Workgroup_uint %wgAtomicArray %int_0
71         %32 = OpAccessChain %_ptr_Workgroup_uint %wgAtomicArray %int_1
72         %31 = OpAtomicLoad %uint %32 %uint_2 %uint_0
73         %28 = OpAtomicIAdd %uint %30 %uint_2 %uint_0 %31
74         %34 = OpAccessChain %_ptr_Workgroup_uint %wgNestedStructWithAtomicMember %int_0 %int_0
75         %33 = OpAtomicIAdd %uint %34 %uint_2 %uint_0 %uint_1
76               OpReturn
77               OpFunctionEnd
78