; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 54
; Schema: 0
OpCapability Shader
OpCapability ImageBuffer
OpCapability QuadControlKHR
OpCapability ComputeDerivativeGroupLinearNV
OpExtension "SPV_KHR_quad_control"
OpExtension "SPV_NV_compute_shader_derivatives"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main" %12 %21
OpExecutionMode %3 DerivativeGroupLinearNV
OpExecutionMode %3 LocalSize 16 4 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 LocalInvocationId
OpDecorate %21 BuiltIn WorkgroupId
%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
%16 = OpConstant %5 1
%18 = OpConstant %5 2
%21 = OpVariable %11 Input
%22 = OpTypePointer Input %5
%24 = OpConstant %5 0
%27 = OpConstant %5 8
%30 = OpTypeVector %5 4
%33 = OpTypeBool
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %52
%52 = OpLabel
%13 = OpLoad %10 %12
%14 = OpCompositeExtract %5 %13 0
%15 = OpBitwiseAnd %5 %14 %16
%17 = OpShiftRightLogical %5 %14 %18
%19 = OpShiftLeftLogical %5 %17 %16
%20 = OpBitwiseOr %5 %15 %19
%23 = OpAccessChain %22 %21 %24
%25 = OpLoad %5 %23
%26 = OpIMul %5 %25 %27
%28 = OpIAdd %5 %26 %20
%29 = OpLoad %6 %8
%31 = OpImageRead %30 %29 %28
%32 = OpCompositeExtract %5 %31 0
%34 = OpINotEqual %33 %32 %24
%35 = OpGroupNonUniformQuadAnyKHR %33 %34
%36 = OpLoad %6 %8
%37 = OpImageRead %30 %36 %28
%38 = OpCompositeExtract %5 %37 0
%39 = OpINotEqual %33 %38 %24
%40 = OpGroupNonUniformQuadAllKHR %33 %39
%41 = OpSelect %5 %35 %16 %24
%42 = OpShiftLeftLogical %5 %28 %16
%43 = OpLoad %6 %9
%44 = OpIMul %5 %28 %18
%45 = OpCompositeConstruct %30 %41 %41 %41 %41
OpImageWrite %43 %44 %45
%46 = OpSelect %5 %40 %16 %24
%47 = OpBitwiseOr %5 %42 %16
%48 = OpLoad %6 %9
%49 = OpIMul %5 %28 %18
%50 = OpIAdd %5 %49 %16
%51 = OpCompositeConstruct %30 %46 %46 %46 %46
OpImageWrite %48 %50 %51
OpReturn
OpFunctionEnd

