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 "inputVal" 10OpMemberName %_UniformBuffer 1 "expected" 11OpMemberName %_UniformBuffer 2 "colorGreen" 12OpMemberName %_UniformBuffer 3 "colorRed" 13OpName %_entrypoint_v "_entrypoint_v" 14OpName %main "main" 15OpName %negativeVal "negativeVal" 16OpDecorate %sk_FragColor RelaxedPrecision 17OpDecorate %sk_FragColor Location 0 18OpDecorate %sk_FragColor Index 0 19OpDecorate %sk_Clockwise BuiltIn FrontFacing 20OpMemberDecorate %_UniformBuffer 0 Offset 0 21OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 22OpMemberDecorate %_UniformBuffer 1 Offset 16 23OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 24OpMemberDecorate %_UniformBuffer 2 Offset 32 25OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 26OpMemberDecorate %_UniformBuffer 3 Offset 48 27OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision 28OpDecorate %_UniformBuffer Block 29OpDecorate %10 Binding 0 30OpDecorate %10 DescriptorSet 0 31OpDecorate %negativeVal RelaxedPrecision 32OpDecorate %32 RelaxedPrecision 33OpDecorate %34 RelaxedPrecision 34OpDecorate %39 RelaxedPrecision 35OpDecorate %40 RelaxedPrecision 36OpDecorate %43 RelaxedPrecision 37OpDecorate %44 RelaxedPrecision 38OpDecorate %48 RelaxedPrecision 39OpDecorate %50 RelaxedPrecision 40OpDecorate %51 RelaxedPrecision 41OpDecorate %53 RelaxedPrecision 42OpDecorate %54 RelaxedPrecision 43OpDecorate %61 RelaxedPrecision 44OpDecorate %63 RelaxedPrecision 45OpDecorate %64 RelaxedPrecision 46OpDecorate %67 RelaxedPrecision 47OpDecorate %68 RelaxedPrecision 48OpDecorate %75 RelaxedPrecision 49OpDecorate %77 RelaxedPrecision 50OpDecorate %79 RelaxedPrecision 51OpDecorate %88 RelaxedPrecision 52OpDecorate %89 RelaxedPrecision 53OpDecorate %95 RelaxedPrecision 54OpDecorate %97 RelaxedPrecision 55OpDecorate %98 RelaxedPrecision 56OpDecorate %105 RelaxedPrecision 57OpDecorate %107 RelaxedPrecision 58OpDecorate %108 RelaxedPrecision 59OpDecorate %115 RelaxedPrecision 60OpDecorate %117 RelaxedPrecision 61OpDecorate %123 RelaxedPrecision 62OpDecorate %125 RelaxedPrecision 63OpDecorate %126 RelaxedPrecision 64OpDecorate %131 RelaxedPrecision 65OpDecorate %132 RelaxedPrecision 66OpDecorate %134 RelaxedPrecision 67OpDecorate %135 RelaxedPrecision 68OpDecorate %141 RelaxedPrecision 69OpDecorate %142 RelaxedPrecision 70OpDecorate %144 RelaxedPrecision 71OpDecorate %145 RelaxedPrecision 72OpDecorate %151 RelaxedPrecision 73OpDecorate %152 RelaxedPrecision 74OpDecorate %154 RelaxedPrecision 75OpDecorate %164 RelaxedPrecision 76OpDecorate %167 RelaxedPrecision 77OpDecorate %168 RelaxedPrecision 78%float = OpTypeFloat 32 79%v4float = OpTypeVector %float 4 80%_ptr_Output_v4float = OpTypePointer Output %v4float 81%sk_FragColor = OpVariable %_ptr_Output_v4float Output 82%bool = OpTypeBool 83%_ptr_Input_bool = OpTypePointer Input %bool 84%sk_Clockwise = OpVariable %_ptr_Input_bool Input 85%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float 86%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 87%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 88%void = OpTypeVoid 89%15 = OpTypeFunction %void 90%v2float = OpTypeVector %float 2 91%float_0 = OpConstant %float 0 92%19 = OpConstantComposite %v2float %float_0 %float_0 93%_ptr_Function_v2float = OpTypePointer Function %v2float 94%23 = OpTypeFunction %v4float %_ptr_Function_v2float 95%_ptr_Function_v4float = OpTypePointer Function %v4float 96%float_n1 = OpConstant %float -1 97%float_n4 = OpConstant %float -4 98%float_n16 = OpConstant %float -16 99%float_n64 = OpConstant %float -64 100%32 = OpConstantComposite %v4float %float_n1 %float_n4 %float_n16 %float_n64 101%false = OpConstantFalse %bool 102%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 103%int = OpTypeInt 32 1 104%int_0 = OpConstant %int 0 105%int_1 = OpConstant %int 1 106%v2bool = OpTypeVector %bool 2 107%v3float = OpTypeVector %float 3 108%v3bool = OpTypeVector %bool 3 109%v4bool = OpTypeVector %bool 4 110%float_1 = OpConstant %float 1 111%float_2 = OpConstant %float 2 112%95 = OpConstantComposite %v2float %float_1 %float_2 113%float_4 = OpConstant %float 4 114%105 = OpConstantComposite %v3float %float_1 %float_2 %float_4 115%float_8 = OpConstant %float 8 116%115 = OpConstantComposite %v4float %float_1 %float_2 %float_4 %float_8 117%132 = OpConstantComposite %v2float %float_n1 %float_n4 118%142 = OpConstantComposite %v3float %float_n1 %float_n4 %float_n16 119%int_2 = OpConstant %int 2 120%int_3 = OpConstant %int 3 121%_entrypoint_v = OpFunction %void None %15 122%16 = OpLabel 123%20 = OpVariable %_ptr_Function_v2float Function 124OpStore %20 %19 125%22 = OpFunctionCall %v4float %main %20 126OpStore %sk_FragColor %22 127OpReturn 128OpFunctionEnd 129%main = OpFunction %v4float None %23 130%24 = OpFunctionParameter %_ptr_Function_v2float 131%25 = OpLabel 132%negativeVal = OpVariable %_ptr_Function_v4float Function 133%158 = OpVariable %_ptr_Function_v4float Function 134OpStore %negativeVal %32 135%35 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 136%39 = OpLoad %v4float %35 137%40 = OpCompositeExtract %float %39 0 138%34 = OpExtInst %float %1 Sqrt %40 139%41 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 140%43 = OpLoad %v4float %41 141%44 = OpCompositeExtract %float %43 0 142%45 = OpFOrdEqual %bool %34 %44 143OpSelectionMerge %47 None 144OpBranchConditional %45 %46 %47 145%46 = OpLabel 146%49 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 147%50 = OpLoad %v4float %49 148%51 = OpVectorShuffle %v2float %50 %50 0 1 149%48 = OpExtInst %v2float %1 Sqrt %51 150%52 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 151%53 = OpLoad %v4float %52 152%54 = OpVectorShuffle %v2float %53 %53 0 1 153%55 = OpFOrdEqual %v2bool %48 %54 154%57 = OpAll %bool %55 155OpBranch %47 156%47 = OpLabel 157%58 = OpPhi %bool %false %25 %57 %46 158OpSelectionMerge %60 None 159OpBranchConditional %58 %59 %60 160%59 = OpLabel 161%62 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 162%63 = OpLoad %v4float %62 163%64 = OpVectorShuffle %v3float %63 %63 0 1 2 164%61 = OpExtInst %v3float %1 Sqrt %64 165%66 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 166%67 = OpLoad %v4float %66 167%68 = OpVectorShuffle %v3float %67 %67 0 1 2 168%69 = OpFOrdEqual %v3bool %61 %68 169%71 = OpAll %bool %69 170OpBranch %60 171%60 = OpLabel 172%72 = OpPhi %bool %false %47 %71 %59 173OpSelectionMerge %74 None 174OpBranchConditional %72 %73 %74 175%73 = OpLabel 176%76 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 177%77 = OpLoad %v4float %76 178%75 = OpExtInst %v4float %1 Sqrt %77 179%78 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 180%79 = OpLoad %v4float %78 181%80 = OpFOrdEqual %v4bool %75 %79 182%82 = OpAll %bool %80 183OpBranch %74 184%74 = OpLabel 185%83 = OpPhi %bool %false %60 %82 %73 186OpSelectionMerge %85 None 187OpBranchConditional %83 %84 %85 188%84 = OpLabel 189%87 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 190%88 = OpLoad %v4float %87 191%89 = OpCompositeExtract %float %88 0 192%90 = OpFOrdEqual %bool %float_1 %89 193OpBranch %85 194%85 = OpLabel 195%91 = OpPhi %bool %false %74 %90 %84 196OpSelectionMerge %93 None 197OpBranchConditional %91 %92 %93 198%92 = OpLabel 199%96 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 200%97 = OpLoad %v4float %96 201%98 = OpVectorShuffle %v2float %97 %97 0 1 202%99 = OpFOrdEqual %v2bool %95 %98 203%100 = OpAll %bool %99 204OpBranch %93 205%93 = OpLabel 206%101 = OpPhi %bool %false %85 %100 %92 207OpSelectionMerge %103 None 208OpBranchConditional %101 %102 %103 209%102 = OpLabel 210%106 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 211%107 = OpLoad %v4float %106 212%108 = OpVectorShuffle %v3float %107 %107 0 1 2 213%109 = OpFOrdEqual %v3bool %105 %108 214%110 = OpAll %bool %109 215OpBranch %103 216%103 = OpLabel 217%111 = OpPhi %bool %false %93 %110 %102 218OpSelectionMerge %113 None 219OpBranchConditional %111 %112 %113 220%112 = OpLabel 221%116 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 222%117 = OpLoad %v4float %116 223%118 = OpFOrdEqual %v4bool %115 %117 224%119 = OpAll %bool %118 225OpBranch %113 226%113 = OpLabel 227%120 = OpPhi %bool %false %103 %119 %112 228OpSelectionMerge %122 None 229OpBranchConditional %120 %121 %122 230%121 = OpLabel 231%123 = OpExtInst %float %1 Sqrt %float_n1 232%124 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 233%125 = OpLoad %v4float %124 234%126 = OpCompositeExtract %float %125 0 235%127 = OpFOrdEqual %bool %123 %126 236OpBranch %122 237%122 = OpLabel 238%128 = OpPhi %bool %false %113 %127 %121 239OpSelectionMerge %130 None 240OpBranchConditional %128 %129 %130 241%129 = OpLabel 242%131 = OpExtInst %v2float %1 Sqrt %132 243%133 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 244%134 = OpLoad %v4float %133 245%135 = OpVectorShuffle %v2float %134 %134 0 1 246%136 = OpFOrdEqual %v2bool %131 %135 247%137 = OpAll %bool %136 248OpBranch %130 249%130 = OpLabel 250%138 = OpPhi %bool %false %122 %137 %129 251OpSelectionMerge %140 None 252OpBranchConditional %138 %139 %140 253%139 = OpLabel 254%141 = OpExtInst %v3float %1 Sqrt %142 255%143 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 256%144 = OpLoad %v4float %143 257%145 = OpVectorShuffle %v3float %144 %144 0 1 2 258%146 = OpFOrdEqual %v3bool %141 %145 259%147 = OpAll %bool %146 260OpBranch %140 261%140 = OpLabel 262%148 = OpPhi %bool %false %130 %147 %139 263OpSelectionMerge %150 None 264OpBranchConditional %148 %149 %150 265%149 = OpLabel 266%152 = OpLoad %v4float %negativeVal 267%151 = OpExtInst %v4float %1 Sqrt %152 268%153 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 269%154 = OpLoad %v4float %153 270%155 = OpFOrdEqual %v4bool %151 %154 271%156 = OpAll %bool %155 272OpBranch %150 273%150 = OpLabel 274%157 = OpPhi %bool %false %140 %156 %149 275OpSelectionMerge %161 None 276OpBranchConditional %157 %159 %160 277%159 = OpLabel 278%162 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 279%164 = OpLoad %v4float %162 280OpStore %158 %164 281OpBranch %161 282%160 = OpLabel 283%165 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3 284%167 = OpLoad %v4float %165 285OpStore %158 %167 286OpBranch %161 287%161 = OpLabel 288%168 = OpLoad %v4float %158 289OpReturnValue %168 290OpFunctionEnd 291