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