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