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