1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 8 4; Bound: 32 5; Schema: 0 6 OpCapability Shader 7 OpCapability ShaderNonUniform 8 OpCapability RuntimeDescriptorArray 9 OpCapability StorageImageArrayNonUniformIndexing 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 %uImage "uImage" 19 OpName %gl_GlobalInvocationID "gl_GlobalInvocationID" 20 OpDecorate %uImage DescriptorSet 0 21 OpDecorate %uImage Binding 0 22 OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId 23 OpDecorate %30 NonUniform 24 %void = OpTypeVoid 25 %3 = OpTypeFunction %void 26 %uint = OpTypeInt 32 0 27 %7 = OpTypeImage %uint 2D 0 0 0 2 R32ui 28%_runtimearr_7 = OpTypeRuntimeArray %7 29%_ptr_UniformConstant__runtimearr_7 = OpTypePointer UniformConstant %_runtimearr_7 30 %uImage = OpVariable %_ptr_UniformConstant__runtimearr_7 UniformConstant 31 %v3uint = OpTypeVector %uint 3 32%_ptr_Input_v3uint = OpTypePointer Input %v3uint 33%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input 34 %uint_2 = OpConstant %uint 2 35%_ptr_Input_uint = OpTypePointer Input %uint 36%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7 37 %v2uint = OpTypeVector %uint 2 38 %int = OpTypeInt 32 1 39 %v2int = OpTypeVector %int 2 40 %uint_1 = OpConstant %uint 1 41 %uint_0 = OpConstant %uint 0 42%_ptr_Image_uint = OpTypePointer Image %uint 43 %main = OpFunction %void None %3 44 %5 = OpLabel 45 %16 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_2 46 %17 = OpLoad %uint %16 47 %18 = OpCopyObject %uint %17 48 %20 = OpAccessChain %_ptr_UniformConstant_7 %uImage %18 49 %22 = OpLoad %v3uint %gl_GlobalInvocationID 50 %23 = OpVectorShuffle %v2uint %22 %22 0 1 51 %26 = OpBitcast %v2int %23 52 %30 = OpImageTexelPointer %_ptr_Image_uint %20 %26 %uint_0 53 %31 = OpAtomicIAdd %uint %30 %uint_1 %uint_0 %uint_1 54 OpReturn 55 OpFunctionEnd 56