; SPIR-V ; Version: 1.2 ; Generator: rspirv ; Bound: 48 OpCapability Shader OpCapability Float64 OpCapability Geometry %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %23 "main" %15 %18 %21 OpExecutionMode %23 OriginUpperLeft OpMemberDecorate %6 0 Offset 0 OpMemberDecorate %6 1 Offset 16 OpMemberDecorate %9 0 Offset 0 OpMemberDecorate %9 1 Offset 16 OpDecorate %11 Block OpMemberDecorate %11 0 Offset 0 OpDecorate %15 Location 0 OpDecorate %18 BuiltIn PrimitiveId OpDecorate %18 Flat OpDecorate %21 Location 0 %2 = OpTypeVoid %3 = OpTypeInt 32 0 %5 = OpTypeFloat 64 %4 = OpTypeVector %5 2 %6 = OpTypeStruct %3 %4 %8 = OpTypeFloat 32 %7 = OpTypeVector %8 4 %9 = OpTypeStruct %7 %3 %11 = OpTypeStruct %6 %12 = OpTypePointer PushConstant %11 %10 = OpVariable %12 PushConstant %16 = OpTypePointer Input %7 %15 = OpVariable %16 Input %19 = OpTypePointer Input %3 %18 = OpVariable %19 Input %22 = OpTypePointer Output %7 %21 = OpVariable %22 Output %24 = OpTypeFunction %2 %25 = OpTypePointer PushConstant %6 %26 = OpConstant %3 0 %28 = OpConstant %8 1.0 %29 = OpTypeVector %8 3 %30 = OpConstantComposite %29 %28 %28 %28 %33 = OpTypePointer PushConstant %3 %36 = OpTypeBool %23 = OpFunction %2 None %24 %13 = OpLabel %17 = OpLoad %7 %15 %20 = OpLoad %3 %18 %14 = OpCompositeConstruct %9 %17 %20 %27 = OpAccessChain %25 %10 %26 OpBranch %31 %31 = OpLabel %32 = OpCompositeExtract %3 %14 1 %34 = OpAccessChain %33 %27 %26 %35 = OpLoad %3 %34 %37 = OpIEqual %36 %32 %35 OpSelectionMerge %38 None OpBranchConditional %37 %39 %40 %39 = OpLabel %41 = OpCompositeExtract %7 %14 0 OpStore %21 %41 OpReturn %40 = OpLabel %42 = OpCompositeExtract %7 %14 0 %43 = OpVectorShuffle %29 %42 %42 0 1 2 %44 = OpFSub %29 %30 %43 %45 = OpCompositeExtract %7 %14 0 %46 = OpCompositeExtract %8 %45 3 %47 = OpCompositeConstruct %7 %44 %46 OpStore %21 %47 OpReturn %38 = OpLabel OpReturn OpFunctionEnd