; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 44
; Schema: 0
OpCapability Shader
OpCapability ImageBuffer
OpCapability QuadControlKHR
OpCapability ComputeDerivativeGroupQuadsKHR
OpExtension "SPV_KHR_compute_shader_derivatives"
OpExtension "SPV_KHR_quad_control"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main" %12
OpExecutionMode %3 DerivativeGroupQuadsKHR
OpExecutionMode %3 LocalSize 8 8 1
OpName %3 "main"
OpDecorate %8 DescriptorSet 0
OpDecorate %8 Binding 0
OpDecorate %8 NonWritable
OpDecorate %9 DescriptorSet 0
OpDecorate %9 Binding 1
OpDecorate %9 NonReadable
OpDecorate %12 BuiltIn GlobalInvocationId
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeInt 32 0
%6 = OpTypeImage %5 Buffer 0 0 0 2 R32ui
%7 = OpTypePointer UniformConstant %6
%8 = OpVariable %7 UniformConstant
%9 = OpVariable %7 UniformConstant
%10 = OpTypeVector %5 3
%11 = OpTypePointer Input %10
%12 = OpVariable %11 Input
%13 = OpTypePointer Input %5
%15 = OpConstant %5 0
%18 = OpTypeVector %5 4
%21 = OpTypeBool
%29 = OpConstant %5 1
%34 = OpConstant %5 2
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %42
%42 = OpLabel
%14 = OpAccessChain %13 %12 %15
%16 = OpLoad %5 %14
%17 = OpLoad %6 %8
%19 = OpImageRead %18 %17 %16
%20 = OpCompositeExtract %5 %19 0
%22 = OpINotEqual %21 %20 %15
%23 = OpGroupNonUniformQuadAnyKHR %21 %22
%24 = OpLoad %6 %8
%25 = OpImageRead %18 %24 %16
%26 = OpCompositeExtract %5 %25 0
%27 = OpINotEqual %21 %26 %15
%28 = OpGroupNonUniformQuadAllKHR %21 %27
%30 = OpSelect %5 %23 %29 %15
%31 = OpShiftLeftLogical %5 %16 %29
%32 = OpLoad %6 %9
%33 = OpIMul %5 %16 %34
%35 = OpCompositeConstruct %18 %30 %30 %30 %30
OpImageWrite %32 %33 %35
%36 = OpSelect %5 %28 %29 %15
%37 = OpBitwiseOr %5 %31 %29
%38 = OpLoad %6 %9
%39 = OpIMul %5 %16 %34
%40 = OpIAdd %5 %39 %29
%41 = OpCompositeConstruct %18 %36 %36 %36 %36
OpImageWrite %38 %40 %41
OpReturn
OpFunctionEnd

