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 "testInputs" 10OpMemberName %_UniformBuffer 1 "colorGreen" 11OpMemberName %_UniformBuffer 2 "colorRed" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %main "main" 14OpName %intValues "intValues" 15OpName %intGreen "intGreen" 16OpName %expectedA "expectedA" 17OpName %expectedB "expectedB" 18OpDecorate %sk_FragColor RelaxedPrecision 19OpDecorate %sk_FragColor Location 0 20OpDecorate %sk_FragColor Index 0 21OpDecorate %sk_Clockwise BuiltIn FrontFacing 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 %33 RelaxedPrecision 32OpDecorate %35 RelaxedPrecision 33OpDecorate %36 RelaxedPrecision 34OpDecorate %38 RelaxedPrecision 35OpDecorate %40 RelaxedPrecision 36OpDecorate %42 RelaxedPrecision 37OpDecorate %48 RelaxedPrecision 38OpDecorate %49 RelaxedPrecision 39OpDecorate %50 RelaxedPrecision 40OpDecorate %52 RelaxedPrecision 41OpDecorate %54 RelaxedPrecision 42OpDecorate %56 RelaxedPrecision 43OpDecorate %160 RelaxedPrecision 44OpDecorate %163 RelaxedPrecision 45OpDecorate %164 RelaxedPrecision 46%float = OpTypeFloat 32 47%v4float = OpTypeVector %float 4 48%_ptr_Output_v4float = OpTypePointer Output %v4float 49%sk_FragColor = OpVariable %_ptr_Output_v4float Output 50%bool = OpTypeBool 51%_ptr_Input_bool = OpTypePointer Input %bool 52%sk_Clockwise = OpVariable %_ptr_Input_bool Input 53%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 54%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 55%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 56%void = OpTypeVoid 57%15 = OpTypeFunction %void 58%v2float = OpTypeVector %float 2 59%float_0 = OpConstant %float 0 60%19 = OpConstantComposite %v2float %float_0 %float_0 61%_ptr_Function_v2float = OpTypePointer Function %v2float 62%23 = OpTypeFunction %v4float %_ptr_Function_v2float 63%int = OpTypeInt 32 1 64%v4int = OpTypeVector %int 4 65%_ptr_Function_v4int = OpTypePointer Function %v4int 66%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 67%int_0 = OpConstant %int 0 68%float_100 = OpConstant %float 100 69%int_1 = OpConstant %int 1 70%int_50 = OpConstant %int 50 71%int_75 = OpConstant %int 75 72%int_225 = OpConstant %int 225 73%63 = OpConstantComposite %v4int %int_50 %int_50 %int_75 %int_225 74%int_100 = OpConstant %int 100 75%66 = OpConstantComposite %v4int %int_0 %int_100 %int_75 %int_225 76%false = OpConstantFalse %bool 77%v2int = OpTypeVector %int 2 78%v2bool = OpTypeVector %bool 2 79%v3int = OpTypeVector %int 3 80%v3bool = OpTypeVector %bool 3 81%v4bool = OpTypeVector %bool 4 82%_ptr_Function_v4float = OpTypePointer Function %v4float 83%int_2 = OpConstant %int 2 84%_entrypoint_v = OpFunction %void None %15 85%16 = OpLabel 86%20 = OpVariable %_ptr_Function_v2float Function 87OpStore %20 %19 88%22 = OpFunctionCall %v4float %main %20 89OpStore %sk_FragColor %22 90OpReturn 91OpFunctionEnd 92%main = OpFunction %v4float None %23 93%24 = OpFunctionParameter %_ptr_Function_v2float 94%25 = OpLabel 95%intValues = OpVariable %_ptr_Function_v4int Function 96%intGreen = OpVariable %_ptr_Function_v4int Function 97%expectedA = OpVariable %_ptr_Function_v4int Function 98%expectedB = OpVariable %_ptr_Function_v4int Function 99%154 = OpVariable %_ptr_Function_v4float Function 100%30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 101%33 = OpLoad %v4float %30 102%35 = OpVectorTimesScalar %v4float %33 %float_100 103%36 = OpCompositeExtract %float %35 0 104%37 = OpConvertFToS %int %36 105%38 = OpCompositeExtract %float %35 1 106%39 = OpConvertFToS %int %38 107%40 = OpCompositeExtract %float %35 2 108%41 = OpConvertFToS %int %40 109%42 = OpCompositeExtract %float %35 3 110%43 = OpConvertFToS %int %42 111%44 = OpCompositeConstruct %v4int %37 %39 %41 %43 112OpStore %intValues %44 113%46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 114%48 = OpLoad %v4float %46 115%49 = OpVectorTimesScalar %v4float %48 %float_100 116%50 = OpCompositeExtract %float %49 0 117%51 = OpConvertFToS %int %50 118%52 = OpCompositeExtract %float %49 1 119%53 = OpConvertFToS %int %52 120%54 = OpCompositeExtract %float %49 2 121%55 = OpConvertFToS %int %54 122%56 = OpCompositeExtract %float %49 3 123%57 = OpConvertFToS %int %56 124%58 = OpCompositeConstruct %v4int %51 %53 %55 %57 125OpStore %intGreen %58 126OpStore %expectedA %63 127OpStore %expectedB %66 128%69 = OpLoad %v4int %intValues 129%70 = OpCompositeExtract %int %69 0 130%68 = OpExtInst %int %1 SMax %70 %int_50 131%71 = OpLoad %v4int %expectedA 132%72 = OpCompositeExtract %int %71 0 133%73 = OpIEqual %bool %68 %72 134OpSelectionMerge %75 None 135OpBranchConditional %73 %74 %75 136%74 = OpLabel 137%77 = OpLoad %v4int %intValues 138%78 = OpVectorShuffle %v2int %77 %77 0 1 139%80 = OpCompositeConstruct %v2int %int_50 %int_50 140%76 = OpExtInst %v2int %1 SMax %78 %80 141%81 = OpLoad %v4int %expectedA 142%82 = OpVectorShuffle %v2int %81 %81 0 1 143%83 = OpIEqual %v2bool %76 %82 144%85 = OpAll %bool %83 145OpBranch %75 146%75 = OpLabel 147%86 = OpPhi %bool %false %25 %85 %74 148OpSelectionMerge %88 None 149OpBranchConditional %86 %87 %88 150%87 = OpLabel 151%90 = OpLoad %v4int %intValues 152%91 = OpVectorShuffle %v3int %90 %90 0 1 2 153%93 = OpCompositeConstruct %v3int %int_50 %int_50 %int_50 154%89 = OpExtInst %v3int %1 SMax %91 %93 155%94 = OpLoad %v4int %expectedA 156%95 = OpVectorShuffle %v3int %94 %94 0 1 2 157%96 = OpIEqual %v3bool %89 %95 158%98 = OpAll %bool %96 159OpBranch %88 160%88 = OpLabel 161%99 = OpPhi %bool %false %75 %98 %87 162OpSelectionMerge %101 None 163OpBranchConditional %99 %100 %101 164%100 = OpLabel 165%103 = OpLoad %v4int %intValues 166%104 = OpCompositeConstruct %v4int %int_50 %int_50 %int_50 %int_50 167%102 = OpExtInst %v4int %1 SMax %103 %104 168%105 = OpLoad %v4int %expectedA 169%106 = OpIEqual %v4bool %102 %105 170%108 = OpAll %bool %106 171OpBranch %101 172%101 = OpLabel 173%109 = OpPhi %bool %false %88 %108 %100 174OpSelectionMerge %111 None 175OpBranchConditional %109 %110 %111 176%110 = OpLabel 177%113 = OpLoad %v4int %intValues 178%114 = OpCompositeExtract %int %113 0 179%115 = OpLoad %v4int %intGreen 180%116 = OpCompositeExtract %int %115 0 181%112 = OpExtInst %int %1 SMax %114 %116 182%117 = OpLoad %v4int %expectedB 183%118 = OpCompositeExtract %int %117 0 184%119 = OpIEqual %bool %112 %118 185OpBranch %111 186%111 = OpLabel 187%120 = OpPhi %bool %false %101 %119 %110 188OpSelectionMerge %122 None 189OpBranchConditional %120 %121 %122 190%121 = OpLabel 191%124 = OpLoad %v4int %intValues 192%125 = OpVectorShuffle %v2int %124 %124 0 1 193%126 = OpLoad %v4int %intGreen 194%127 = OpVectorShuffle %v2int %126 %126 0 1 195%123 = OpExtInst %v2int %1 SMax %125 %127 196%128 = OpLoad %v4int %expectedB 197%129 = OpVectorShuffle %v2int %128 %128 0 1 198%130 = OpIEqual %v2bool %123 %129 199%131 = OpAll %bool %130 200OpBranch %122 201%122 = OpLabel 202%132 = OpPhi %bool %false %111 %131 %121 203OpSelectionMerge %134 None 204OpBranchConditional %132 %133 %134 205%133 = OpLabel 206%136 = OpLoad %v4int %intValues 207%137 = OpVectorShuffle %v3int %136 %136 0 1 2 208%138 = OpLoad %v4int %intGreen 209%139 = OpVectorShuffle %v3int %138 %138 0 1 2 210%135 = OpExtInst %v3int %1 SMax %137 %139 211%140 = OpLoad %v4int %expectedB 212%141 = OpVectorShuffle %v3int %140 %140 0 1 2 213%142 = OpIEqual %v3bool %135 %141 214%143 = OpAll %bool %142 215OpBranch %134 216%134 = OpLabel 217%144 = OpPhi %bool %false %122 %143 %133 218OpSelectionMerge %146 None 219OpBranchConditional %144 %145 %146 220%145 = OpLabel 221%148 = OpLoad %v4int %intValues 222%149 = OpLoad %v4int %intGreen 223%147 = OpExtInst %v4int %1 SMax %148 %149 224%150 = OpLoad %v4int %expectedB 225%151 = OpIEqual %v4bool %147 %150 226%152 = OpAll %bool %151 227OpBranch %146 228%146 = OpLabel 229%153 = OpPhi %bool %false %134 %152 %145 230OpSelectionMerge %158 None 231OpBranchConditional %153 %156 %157 232%156 = OpLabel 233%159 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 234%160 = OpLoad %v4float %159 235OpStore %154 %160 236OpBranch %158 237%157 = OpLabel 238%161 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 239%163 = OpLoad %v4float %161 240OpStore %154 %163 241OpBranch %158 242%158 = OpLabel 243%164 = OpLoad %v4float %154 244OpReturnValue %164 245OpFunctionEnd 246