; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 52 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %f "f" %tint_symbol OpExecutionMode %f LocalSize 1 1 1 OpName %UBO "UBO" OpMemberName %UBO 0 "dynamic_idx" OpName %ubo "ubo" OpName %Result "Result" OpMemberName %Result 0 "out" OpName %result "result" OpName %S "S" OpMemberName %S 0 "data" OpName %s "s" OpName %tint_symbol "tint_symbol" OpName %f "f" OpName %idx "idx" OpDecorate %UBO Block OpMemberDecorate %UBO 0 Offset 0 OpDecorate %ubo NonWritable OpDecorate %ubo DescriptorSet 0 OpDecorate %ubo Binding 0 OpDecorate %Result Block OpMemberDecorate %Result 0 Offset 0 OpDecorate %result DescriptorSet 0 OpDecorate %result Binding 1 OpMemberDecorate %S 0 Offset 0 OpDecorate %_arr_int_uint_64 ArrayStride 4 OpDecorate %tint_symbol BuiltIn LocalInvocationIndex %int = OpTypeInt 32 1 %UBO = OpTypeStruct %int %_ptr_Uniform_UBO = OpTypePointer Uniform %UBO %ubo = OpVariable %_ptr_Uniform_UBO Uniform %Result = OpTypeStruct %int %_ptr_StorageBuffer_Result = OpTypePointer StorageBuffer %Result %result = OpVariable %_ptr_StorageBuffer_Result StorageBuffer %uint = OpTypeInt 32 0 %uint_64 = OpConstant %uint 64 %_arr_int_uint_64 = OpTypeArray %int %uint_64 %S = OpTypeStruct %_arr_int_uint_64 %_ptr_Workgroup_S = OpTypePointer Workgroup %S %s = OpVariable %_ptr_Workgroup_S Workgroup %_ptr_Input_uint = OpTypePointer Input %uint %tint_symbol = OpVariable %_ptr_Input_uint Input %void = OpTypeVoid %16 = OpTypeFunction %void %_ptr_Function_uint = OpTypePointer Function %uint %23 = OpConstantNull %uint %bool = OpTypeBool %uint_0 = OpConstant %uint 0 %_ptr_Workgroup_int = OpTypePointer Workgroup %int %38 = OpConstantNull %int %uint_1 = OpConstant %uint 1 %uint_2 = OpConstant %uint 2 %uint_264 = OpConstant %uint 264 %_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int %_ptr_Uniform_int = OpTypePointer Uniform %int %f = OpFunction %void None %16 %19 = OpLabel %idx = OpVariable %_ptr_Function_uint Function %23 %20 = OpLoad %uint %tint_symbol OpStore %idx %20 OpBranch %24 %24 = OpLabel OpLoopMerge %25 %26 None OpBranch %27 %27 = OpLabel %29 = OpLoad %uint %idx %30 = OpULessThan %bool %29 %uint_64 %28 = OpLogicalNot %bool %30 OpSelectionMerge %32 None OpBranchConditional %28 %33 %32 %33 = OpLabel OpBranch %25 %32 = OpLabel %34 = OpLoad %uint %idx %37 = OpAccessChain %_ptr_Workgroup_int %s %uint_0 %34 OpStore %37 %38 OpBranch %26 %26 = OpLabel %39 = OpLoad %uint %idx %41 = OpIAdd %uint %39 %uint_1 OpStore %idx %41 OpBranch %24 %25 = OpLabel OpControlBarrier %uint_2 %uint_2 %uint_264 %46 = OpAccessChain %_ptr_StorageBuffer_int %result %uint_0 %48 = OpAccessChain %_ptr_Uniform_int %ubo %uint_0 %49 = OpLoad %int %48 %50 = OpAccessChain %_ptr_Workgroup_int %s %uint_0 %49 %51 = OpLoad %int %50 OpStore %46 %51 OpReturn OpFunctionEnd