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" 11OpMemberName %_UniformBuffer 2 "unknownInput" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %main "main" 14OpName %x "x" 15OpName %y "y" 16OpName %z "z" 17OpName %w "w" 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 27OpDecorate %_UniformBuffer Block 28OpDecorate %10 Binding 0 29OpDecorate %10 DescriptorSet 0 30OpDecorate %128 RelaxedPrecision 31OpDecorate %130 RelaxedPrecision 32OpDecorate %131 RelaxedPrecision 33%float = OpTypeFloat 32 34%v4float = OpTypeVector %float 4 35%_ptr_Output_v4float = OpTypePointer Output %v4float 36%sk_FragColor = OpVariable %_ptr_Output_v4float Output 37%bool = OpTypeBool 38%_ptr_Input_bool = OpTypePointer Input %bool 39%sk_Clockwise = OpVariable %_ptr_Input_bool Input 40%_UniformBuffer = OpTypeStruct %v4float %v4float %float 41%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 42%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 43%void = OpTypeVoid 44%15 = OpTypeFunction %void 45%v2float = OpTypeVector %float 2 46%float_0 = OpConstant %float 0 47%19 = OpConstantComposite %v2float %float_0 %float_0 48%_ptr_Function_v2float = OpTypePointer Function %v2float 49%23 = OpTypeFunction %v4float %_ptr_Function_v2float 50%_ptr_Function_float = OpTypePointer Function %float 51%float_1 = OpConstant %float 1 52%float_2 = OpConstant %float 2 53%int = OpTypeInt 32 1 54%_ptr_Function_int = OpTypePointer Function %int 55%int_3 = OpConstant %int 3 56%int_2 = OpConstant %int 2 57%int_4 = OpConstant %int 4 58%int_1 = OpConstant %int 1 59%float_12 = OpConstant %float 12 60%float_10 = OpConstant %float 10 61%int_0 = OpConstant %int 0 62%int_n1 = OpConstant %int -1 63%int_5 = OpConstant %int 5 64%float_6 = OpConstant %float 6 65%int_6 = OpConstant %int 6 66%v2int = OpTypeVector %int 2 67%_ptr_Function_v2int = OpTypePointer Function %v2int 68%false = OpConstantFalse %bool 69%_ptr_Function_v4float = OpTypePointer Function %v4float 70%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 71%_entrypoint_v = OpFunction %void None %15 72%16 = OpLabel 73%20 = OpVariable %_ptr_Function_v2float Function 74OpStore %20 %19 75%22 = OpFunctionCall %v4float %main %20 76OpStore %sk_FragColor %22 77OpReturn 78OpFunctionEnd 79%main = OpFunction %v4float None %23 80%24 = OpFunctionParameter %_ptr_Function_v2float 81%25 = OpLabel 82%x = OpVariable %_ptr_Function_float Function 83%y = OpVariable %_ptr_Function_float Function 84%z = OpVariable %_ptr_Function_int Function 85%w = OpVariable %_ptr_Function_v2int Function 86%121 = OpVariable %_ptr_Function_v4float Function 87OpStore %x %float_1 88OpStore %y %float_2 89OpStore %z %int_3 90%35 = OpLoad %float %x 91%36 = OpLoad %float %x 92%37 = OpFSub %float %35 %36 93%38 = OpLoad %float %y 94%39 = OpLoad %float %x 95%40 = OpFMul %float %38 %39 96%41 = OpLoad %float %x 97%42 = OpFMul %float %40 %41 98%43 = OpLoad %float %y 99%44 = OpLoad %float %x 100%45 = OpFSub %float %43 %44 101%46 = OpFMul %float %42 %45 102%47 = OpFAdd %float %37 %46 103OpStore %x %47 104%48 = OpLoad %float %x 105%49 = OpLoad %float %y 106%50 = OpFDiv %float %48 %49 107%51 = OpLoad %float %x 108%52 = OpFDiv %float %50 %51 109OpStore %y %52 110%53 = OpLoad %int %z 111%55 = OpSDiv %int %53 %int_2 112%56 = OpSMod %int %55 %int_3 113%58 = OpShiftLeftLogical %int %56 %int_4 114%59 = OpShiftRightArithmetic %int %58 %int_2 115%61 = OpShiftLeftLogical %int %59 %int_1 116OpStore %z %61 117%62 = OpLoad %float %x 118%64 = OpFAdd %float %62 %float_12 119OpStore %x %64 120%65 = OpLoad %float %x 121%66 = OpFSub %float %65 %float_12 122OpStore %x %66 123%67 = OpLoad %float %x 124%68 = OpLoad %float %y 125%70 = OpFDiv %float %68 %float_10 126OpStore %y %70 127%71 = OpFMul %float %67 %70 128OpStore %x %71 129%72 = OpLoad %int %z 130%74 = OpBitwiseOr %int %72 %int_0 131OpStore %z %74 132%75 = OpLoad %int %z 133%77 = OpBitwiseAnd %int %75 %int_n1 134OpStore %z %77 135%78 = OpLoad %int %z 136%79 = OpBitwiseXor %int %78 %int_0 137OpStore %z %79 138%80 = OpLoad %int %z 139%81 = OpShiftRightArithmetic %int %80 %int_2 140OpStore %z %81 141%82 = OpLoad %int %z 142%83 = OpShiftLeftLogical %int %82 %int_4 143OpStore %z %83 144%84 = OpLoad %int %z 145%86 = OpSMod %int %84 %int_5 146OpStore %z %86 147OpStore %x %float_6 148OpStore %y %float_6 149OpStore %z %int_6 150%92 = OpNot %int %int_5 151%93 = OpCompositeConstruct %v2int %92 %92 152OpStore %w %93 153%95 = OpLoad %v2int %w 154%94 = OpNot %v2int %95 155OpStore %w %94 156%97 = OpLoad %v2int %w 157%98 = OpCompositeExtract %int %97 0 158%99 = OpIEqual %bool %98 %int_5 159OpSelectionMerge %101 None 160OpBranchConditional %99 %100 %101 161%100 = OpLabel 162%102 = OpLoad %v2int %w 163%103 = OpCompositeExtract %int %102 1 164%104 = OpIEqual %bool %103 %int_5 165OpBranch %101 166%101 = OpLabel 167%105 = OpPhi %bool %false %25 %104 %100 168OpSelectionMerge %107 None 169OpBranchConditional %105 %106 %107 170%106 = OpLabel 171%108 = OpLoad %float %x 172%109 = OpFOrdEqual %bool %108 %float_6 173OpBranch %107 174%107 = OpLabel 175%110 = OpPhi %bool %false %101 %109 %106 176OpSelectionMerge %112 None 177OpBranchConditional %110 %111 %112 178%111 = OpLabel 179%113 = OpLoad %float %y 180%114 = OpFOrdEqual %bool %113 %float_6 181OpBranch %112 182%112 = OpLabel 183%115 = OpPhi %bool %false %107 %114 %111 184OpSelectionMerge %117 None 185OpBranchConditional %115 %116 %117 186%116 = OpLabel 187%118 = OpLoad %int %z 188%119 = OpIEqual %bool %118 %int_6 189OpBranch %117 190%117 = OpLabel 191%120 = OpPhi %bool %false %112 %119 %116 192OpSelectionMerge %125 None 193OpBranchConditional %120 %123 %124 194%123 = OpLabel 195%126 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 196%128 = OpLoad %v4float %126 197OpStore %121 %128 198OpBranch %125 199%124 = OpLabel 200%129 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 201%130 = OpLoad %v4float %129 202OpStore %121 %130 203OpBranch %125 204%125 = OpLabel 205%131 = OpLoad %v4float %121 206OpReturnValue %131 207OpFunctionEnd 208