1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5OpExecutionMode %_entrypoint_v OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "colorGreen" 10OpMemberName %_UniformBuffer 1 "colorRed" 11OpMemberName %_UniformBuffer 2 "testInputs" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %main "main" 14OpName %xy "xy" 15OpName %zw "zw" 16OpName %tolerance "tolerance" 17OpDecorate %sk_FragColor RelaxedPrecision 18OpDecorate %sk_FragColor Location 0 19OpDecorate %sk_FragColor Index 0 20OpDecorate %sk_Clockwise BuiltIn FrontFacing 21OpMemberDecorate %_UniformBuffer 0 Offset 0 22OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 23OpMemberDecorate %_UniformBuffer 1 Offset 16 24OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 25OpMemberDecorate %_UniformBuffer 2 Offset 32 26OpDecorate %_UniformBuffer Block 27OpDecorate %10 Binding 0 28OpDecorate %10 DescriptorSet 0 29OpDecorate %72 RelaxedPrecision 30OpDecorate %75 RelaxedPrecision 31OpDecorate %76 RelaxedPrecision 32%float = OpTypeFloat 32 33%v4float = OpTypeVector %float 4 34%_ptr_Output_v4float = OpTypePointer Output %v4float 35%sk_FragColor = OpVariable %_ptr_Output_v4float Output 36%bool = OpTypeBool 37%_ptr_Input_bool = OpTypePointer Input %bool 38%sk_Clockwise = OpVariable %_ptr_Input_bool Input 39%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 40%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 41%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 42%void = OpTypeVoid 43%15 = OpTypeFunction %void 44%v2float = OpTypeVector %float 2 45%float_0 = OpConstant %float 0 46%19 = OpConstantComposite %v2float %float_0 %float_0 47%_ptr_Function_v2float = OpTypePointer Function %v2float 48%23 = OpTypeFunction %v4float %_ptr_Function_v2float 49%uint = OpTypeInt 32 0 50%_ptr_Function_uint = OpTypePointer Function %uint 51%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 52%int = OpTypeInt 32 1 53%int_2 = OpConstant %int 2 54%float_0_015625 = OpConstant %float 0.015625 55%43 = OpConstantComposite %v2float %float_0_015625 %float_0_015625 56%false = OpConstantFalse %bool 57%v2bool = OpTypeVector %bool 2 58%float_0_75 = OpConstant %float 0.75 59%float_1 = OpConstant %float 1 60%61 = OpConstantComposite %v2float %float_0_75 %float_1 61%_ptr_Function_v4float = OpTypePointer Function %v4float 62%int_0 = OpConstant %int 0 63%int_1 = OpConstant %int 1 64%_entrypoint_v = OpFunction %void None %15 65%16 = OpLabel 66%20 = OpVariable %_ptr_Function_v2float Function 67OpStore %20 %19 68%22 = OpFunctionCall %v4float %main %20 69OpStore %sk_FragColor %22 70OpReturn 71OpFunctionEnd 72%main = OpFunction %v4float None %23 73%24 = OpFunctionParameter %_ptr_Function_v2float 74%25 = OpLabel 75%xy = OpVariable %_ptr_Function_uint Function 76%zw = OpVariable %_ptr_Function_uint Function 77%tolerance = OpVariable %_ptr_Function_v2float Function 78%65 = OpVariable %_ptr_Function_v4float Function 79%30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 80%34 = OpLoad %v4float %30 81%35 = OpVectorShuffle %v2float %34 %34 0 1 82%29 = OpExtInst %uint %1 PackUnorm2x16 %35 83OpStore %xy %29 84%38 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 85%39 = OpLoad %v4float %38 86%40 = OpVectorShuffle %v2float %39 %39 2 3 87%37 = OpExtInst %uint %1 PackUnorm2x16 %40 88OpStore %zw %37 89OpStore %tolerance %43 90%49 = OpLoad %uint %xy 91%48 = OpExtInst %v2float %1 UnpackUnorm2x16 %49 92%47 = OpExtInst %v2float %1 FAbs %48 93%50 = OpLoad %v2float %tolerance 94%46 = OpFOrdLessThan %v2bool %47 %50 95%45 = OpAll %bool %46 96OpSelectionMerge %53 None 97OpBranchConditional %45 %52 %53 98%52 = OpLabel 99%58 = OpLoad %uint %zw 100%57 = OpExtInst %v2float %1 UnpackUnorm2x16 %58 101%62 = OpFSub %v2float %57 %61 102%56 = OpExtInst %v2float %1 FAbs %62 103%63 = OpLoad %v2float %tolerance 104%55 = OpFOrdLessThan %v2bool %56 %63 105%54 = OpAll %bool %55 106OpBranch %53 107%53 = OpLabel 108%64 = OpPhi %bool %false %25 %54 %52 109OpSelectionMerge %69 None 110OpBranchConditional %64 %67 %68 111%67 = OpLabel 112%70 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 113%72 = OpLoad %v4float %70 114OpStore %65 %72 115OpBranch %69 116%68 = OpLabel 117%73 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 118%75 = OpLoad %v4float %73 119OpStore %65 %75 120OpBranch %69 121%69 = OpLabel 122%76 = OpLoad %v4float %65 123OpReturnValue %76 124OpFunctionEnd 125