1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 8 4; Bound: 26 5; Schema: 0 6 OpCapability Shader 7 OpCapability ShaderNonUniform 8 OpCapability RuntimeDescriptorArray 9 OpCapability StorageBufferArrayNonUniformIndexing 10 OpExtension "SPV_EXT_descriptor_indexing" 11 %1 = OpExtInstImport "GLSL.std.450" 12 OpMemoryModel Logical GLSL450 13 OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID 14 OpExecutionMode %main LocalSize 1 1 1 15 OpSource GLSL 450 16 OpSourceExtension "GL_EXT_nonuniform_qualifier" 17 OpName %main "main" 18 OpName %SSBO "SSBO" 19 OpMemberName %SSBO 0 "v" 20 OpName %ssbos "ssbos" 21 OpName %gl_GlobalInvocationID "gl_GlobalInvocationID" 22 OpMemberDecorate %SSBO 0 Offset 0 23 OpDecorate %SSBO BufferBlock 24 OpDecorate %ssbos DescriptorSet 0 25 OpDecorate %ssbos Binding 0 26 OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId 27 OpDecorate %22 NonUniform 28 %void = OpTypeVoid 29 %3 = OpTypeFunction %void 30 %uint = OpTypeInt 32 0 31 %SSBO = OpTypeStruct %uint 32%_runtimearr_SSBO = OpTypeRuntimeArray %SSBO 33%_ptr_Uniform__runtimearr_SSBO = OpTypePointer Uniform %_runtimearr_SSBO 34 %ssbos = OpVariable %_ptr_Uniform__runtimearr_SSBO Uniform 35 %v3uint = OpTypeVector %uint 3 36%_ptr_Input_v3uint = OpTypePointer Input %v3uint 37%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input 38 %uint_2 = OpConstant %uint 2 39%_ptr_Input_uint = OpTypePointer Input %uint 40 %int = OpTypeInt 32 1 41 %int_0 = OpConstant %int 0 42%_ptr_Uniform_uint = OpTypePointer Uniform %uint 43 %uint_1 = OpConstant %uint 1 44 %uint_0 = OpConstant %uint 0 45 %main = OpFunction %void None %3 46 %5 = OpLabel 47 %16 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_2 48 %17 = OpLoad %uint %16 49 %18 = OpCopyObject %uint %17 50 %22 = OpAccessChain %_ptr_Uniform_uint %ssbos %18 %int_0 51 %25 = OpAtomicIAdd %uint %22 %uint_1 %uint_0 %uint_1 52 OpReturn 53 OpFunctionEnd 54