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