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" 11OpName %_entrypoint_v "_entrypoint_v" 12OpName %main "main" 13OpName %value "value" 14OpName %expectedWhole "expectedWhole" 15OpName %expectedFraction "expectedFraction" 16OpName %ok "ok" 17OpName %whole "whole" 18OpName %fraction "fraction" 19OpDecorate %sk_FragColor RelaxedPrecision 20OpDecorate %sk_FragColor Location 0 21OpDecorate %sk_FragColor Index 0 22OpDecorate %sk_Clockwise BuiltIn FrontFacing 23OpMemberDecorate %_UniformBuffer 0 Offset 0 24OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 25OpMemberDecorate %_UniformBuffer 1 Offset 16 26OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 27OpDecorate %_UniformBuffer Block 28OpDecorate %10 Binding 0 29OpDecorate %10 DescriptorSet 0 30OpDecorate %139 RelaxedPrecision 31OpDecorate %146 RelaxedPrecision 32OpDecorate %148 RelaxedPrecision 33OpDecorate %149 RelaxedPrecision 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%bool = OpTypeBool 39%_ptr_Input_bool = OpTypePointer Input %bool 40%sk_Clockwise = OpVariable %_ptr_Input_bool Input 41%_UniformBuffer = OpTypeStruct %v4float %v4float 42%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 43%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 44%void = OpTypeVoid 45%15 = OpTypeFunction %void 46%v2float = OpTypeVector %float 2 47%float_0 = OpConstant %float 0 48%19 = OpConstantComposite %v2float %float_0 %float_0 49%_ptr_Function_v2float = OpTypePointer Function %v2float 50%23 = OpTypeFunction %v4float %_ptr_Function_v2float 51%_ptr_Function_v4float = OpTypePointer Function %v4float 52%float_2_5 = OpConstant %float 2.5 53%float_n2_5 = OpConstant %float -2.5 54%float_8 = OpConstant %float 8 55%float_n0_125 = OpConstant %float -0.125 56%32 = OpConstantComposite %v4float %float_2_5 %float_n2_5 %float_8 %float_n0_125 57%float_2 = OpConstant %float 2 58%float_n2 = OpConstant %float -2 59%36 = OpConstantComposite %v4float %float_2 %float_n2 %float_8 %float_0 60%float_0_5 = OpConstant %float 0.5 61%float_n0_5 = OpConstant %float -0.5 62%40 = OpConstantComposite %v4float %float_0_5 %float_n0_5 %float_0 %float_n0_125 63%v4bool = OpTypeVector %bool 4 64%_ptr_Function_v4bool = OpTypePointer Function %v4bool 65%false = OpConstantFalse %bool 66%45 = OpConstantComposite %v4bool %false %false %false %false 67%_ptr_Function_float = OpTypePointer Function %float 68%int = OpTypeInt 32 1 69%int_0 = OpConstant %int 0 70%_ptr_Function_bool = OpTypePointer Function %bool 71%80 = OpConstantComposite %v2float %float_2 %float_n2 72%v2bool = OpTypeVector %bool 2 73%88 = OpConstantComposite %v2float %float_0_5 %float_n0_5 74%int_1 = OpConstant %int 1 75%v3float = OpTypeVector %float 3 76%_ptr_Function_v3float = OpTypePointer Function %v3float 77%107 = OpConstantComposite %v3float %float_2 %float_n2 %float_8 78%v3bool = OpTypeVector %bool 3 79%115 = OpConstantComposite %v3float %float_0_5 %float_n0_5 %float_0 80%int_2 = OpConstant %int 2 81%int_3 = OpConstant %int 3 82%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 83%_entrypoint_v = OpFunction %void None %15 84%16 = OpLabel 85%20 = OpVariable %_ptr_Function_v2float Function 86OpStore %20 %19 87%22 = OpFunctionCall %v4float %main %20 88OpStore %sk_FragColor %22 89OpReturn 90OpFunctionEnd 91%main = OpFunction %v4float None %23 92%24 = OpFunctionParameter %_ptr_Function_v2float 93%25 = OpLabel 94%value = OpVariable %_ptr_Function_v4float Function 95%expectedWhole = OpVariable %_ptr_Function_v4float Function 96%expectedFraction = OpVariable %_ptr_Function_v4float Function 97%ok = OpVariable %_ptr_Function_v4bool Function 98%whole = OpVariable %_ptr_Function_v4float Function 99%fraction = OpVariable %_ptr_Function_v4float Function 100%55 = OpVariable %_ptr_Function_float Function 101%72 = OpVariable %_ptr_Function_v2float Function 102%98 = OpVariable %_ptr_Function_v3float Function 103%123 = OpVariable %_ptr_Function_v4float Function 104%140 = OpVariable %_ptr_Function_v4float Function 105OpStore %value %32 106OpStore %expectedWhole %36 107OpStore %expectedFraction %40 108OpStore %ok %45 109%49 = OpLoad %v4float %value 110%50 = OpCompositeExtract %float %49 0 111%51 = OpAccessChain %_ptr_Function_float %whole %int_0 112%48 = OpExtInst %float %1 Modf %50 %55 113%56 = OpLoad %float %55 114OpStore %51 %56 115%57 = OpAccessChain %_ptr_Function_float %fraction %int_0 116OpStore %57 %48 117%58 = OpLoad %v4float %whole 118%59 = OpCompositeExtract %float %58 0 119%60 = OpFOrdEqual %bool %59 %float_2 120OpSelectionMerge %62 None 121OpBranchConditional %60 %61 %62 122%61 = OpLabel 123%63 = OpLoad %v4float %fraction 124%64 = OpCompositeExtract %float %63 0 125%65 = OpFOrdEqual %bool %64 %float_0_5 126OpBranch %62 127%62 = OpLabel 128%66 = OpPhi %bool %false %25 %65 %61 129%67 = OpAccessChain %_ptr_Function_bool %ok %int_0 130OpStore %67 %66 131%70 = OpLoad %v4float %value 132%71 = OpVectorShuffle %v2float %70 %70 0 1 133%69 = OpExtInst %v2float %1 Modf %71 %72 134%73 = OpLoad %v2float %72 135%74 = OpLoad %v4float %whole 136%75 = OpVectorShuffle %v4float %74 %73 4 5 2 3 137OpStore %whole %75 138%76 = OpLoad %v4float %fraction 139%77 = OpVectorShuffle %v4float %76 %69 4 5 2 3 140OpStore %fraction %77 141%78 = OpLoad %v4float %whole 142%79 = OpVectorShuffle %v2float %78 %78 0 1 143%81 = OpFOrdEqual %v2bool %79 %80 144%83 = OpAll %bool %81 145OpSelectionMerge %85 None 146OpBranchConditional %83 %84 %85 147%84 = OpLabel 148%86 = OpLoad %v4float %fraction 149%87 = OpVectorShuffle %v2float %86 %86 0 1 150%89 = OpFOrdEqual %v2bool %87 %88 151%90 = OpAll %bool %89 152OpBranch %85 153%85 = OpLabel 154%91 = OpPhi %bool %false %62 %90 %84 155%92 = OpAccessChain %_ptr_Function_bool %ok %int_1 156OpStore %92 %91 157%95 = OpLoad %v4float %value 158%96 = OpVectorShuffle %v3float %95 %95 0 1 2 159%94 = OpExtInst %v3float %1 Modf %96 %98 160%100 = OpLoad %v3float %98 161%101 = OpLoad %v4float %whole 162%102 = OpVectorShuffle %v4float %101 %100 4 5 6 3 163OpStore %whole %102 164%103 = OpLoad %v4float %fraction 165%104 = OpVectorShuffle %v4float %103 %94 4 5 6 3 166OpStore %fraction %104 167%105 = OpLoad %v4float %whole 168%106 = OpVectorShuffle %v3float %105 %105 0 1 2 169%108 = OpFOrdEqual %v3bool %106 %107 170%110 = OpAll %bool %108 171OpSelectionMerge %112 None 172OpBranchConditional %110 %111 %112 173%111 = OpLabel 174%113 = OpLoad %v4float %fraction 175%114 = OpVectorShuffle %v3float %113 %113 0 1 2 176%116 = OpFOrdEqual %v3bool %114 %115 177%117 = OpAll %bool %116 178OpBranch %112 179%112 = OpLabel 180%118 = OpPhi %bool %false %85 %117 %111 181%119 = OpAccessChain %_ptr_Function_bool %ok %int_2 182OpStore %119 %118 183%122 = OpLoad %v4float %value 184%121 = OpExtInst %v4float %1 Modf %122 %123 185%124 = OpLoad %v4float %123 186OpStore %whole %124 187OpStore %fraction %121 188%125 = OpLoad %v4float %whole 189%126 = OpLoad %v4float %expectedWhole 190%127 = OpFOrdEqual %v4bool %125 %126 191%128 = OpAll %bool %127 192OpSelectionMerge %130 None 193OpBranchConditional %128 %129 %130 194%129 = OpLabel 195%131 = OpLoad %v4float %fraction 196%132 = OpLoad %v4float %expectedFraction 197%133 = OpFOrdEqual %v4bool %131 %132 198%134 = OpAll %bool %133 199OpBranch %130 200%130 = OpLabel 201%135 = OpPhi %bool %false %112 %134 %129 202%136 = OpAccessChain %_ptr_Function_bool %ok %int_3 203OpStore %136 %135 204%139 = OpLoad %v4bool %ok 205%138 = OpAll %bool %139 206OpSelectionMerge %143 None 207OpBranchConditional %138 %141 %142 208%141 = OpLabel 209%144 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 210%146 = OpLoad %v4float %144 211OpStore %140 %146 212OpBranch %143 213%142 = OpLabel 214%147 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 215%148 = OpLoad %v4float %147 216OpStore %140 %148 217OpBranch %143 218%143 = OpLabel 219%149 = OpLoad %v4float %140 220OpReturnValue %149 221OpFunctionEnd 222