OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %main "main" %sk_LocalInvocationID OpExecutionMode %main LocalSize 64 1 1 OpName %ssbo "ssbo" OpMemberName %ssbo 0 "globalCounter" OpName %sk_LocalInvocationID "sk_LocalInvocationID" OpName %localCounter "localCounter" OpName %main "main" OpMemberDecorate %ssbo 0 Offset 0 OpMemberDecorate %ssbo 0 RelaxedPrecision OpDecorate %ssbo BufferBlock OpDecorate %3 Binding 0 OpDecorate %3 DescriptorSet 0 OpDecorate %sk_LocalInvocationID BuiltIn LocalInvocationId %uint = OpTypeInt 32 0 %ssbo = OpTypeStruct %uint %_ptr_Uniform_ssbo = OpTypePointer Uniform %ssbo %3 = OpVariable %_ptr_Uniform_ssbo Uniform %v3uint = OpTypeVector %uint 3 %_ptr_Input_v3uint = OpTypePointer Input %v3uint %sk_LocalInvocationID = OpVariable %_ptr_Input_v3uint Input %_ptr_Workgroup_uint = OpTypePointer Workgroup %uint %localCounter = OpVariable %_ptr_Workgroup_uint Workgroup %void = OpTypeVoid %13 = OpTypeFunction %void %uint_0 = OpConstant %uint 0 %bool = OpTypeBool %uint_2 = OpConstant %uint 2 %uint_264 = OpConstant %uint 264 %uint_1 = OpConstant %uint 1 %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %_ptr_Uniform_uint = OpTypePointer Uniform %uint %main = OpFunction %void None %13 %14 = OpLabel %15 = OpLoad %v3uint %sk_LocalInvocationID %16 = OpCompositeExtract %uint %15 0 %18 = OpIEqual %bool %16 %uint_0 OpSelectionMerge %21 None OpBranchConditional %18 %20 %21 %20 = OpLabel OpAtomicStore %localCounter %uint_2 %uint_0 %uint_0 OpBranch %21 %21 = OpLabel OpControlBarrier %uint_2 %uint_2 %uint_264 %26 = OpAtomicIAdd %uint %localCounter %uint_2 %uint_0 %uint_1 OpControlBarrier %uint_2 %uint_2 %uint_264 %29 = OpLoad %v3uint %sk_LocalInvocationID %30 = OpCompositeExtract %uint %29 0 %31 = OpIEqual %bool %30 %uint_0 OpSelectionMerge %33 None OpBranchConditional %31 %32 %33 %32 = OpLabel %37 = OpAccessChain %_ptr_Uniform_uint %3 %int_0 %39 = OpAtomicLoad %uint %localCounter %uint_2 %uint_0 %34 = OpAtomicIAdd %uint %37 %uint_1 %uint_0 %39 OpBranch %33 %33 = OpLabel OpReturn OpFunctionEnd