1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise 5OpExecutionMode %main OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "a" 10OpMemberName %_UniformBuffer 1 "b" 11OpMemberName %_UniformBuffer 2 "c" 12OpMemberName %_UniformBuffer 3 "d" 13OpMemberName %_UniformBuffer 4 "e" 14OpMemberName %_UniformBuffer 5 "f" 15OpName %main "main" 16OpName %expectFFTT "expectFFTT" 17OpName %expectTTFF "expectTTFF" 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 3 Offset 40 28OpMemberDecorate %_UniformBuffer 4 Offset 48 29OpMemberDecorate %_UniformBuffer 5 Offset 64 30OpDecorate %_UniformBuffer Block 31OpDecorate %10 Binding 0 32OpDecorate %10 DescriptorSet 0 33OpDecorate %32 RelaxedPrecision 34OpDecorate %35 RelaxedPrecision 35OpDecorate %38 RelaxedPrecision 36OpDecorate %52 RelaxedPrecision 37OpDecorate %65 RelaxedPrecision 38OpDecorate %68 RelaxedPrecision 39OpDecorate %72 RelaxedPrecision 40OpDecorate %75 RelaxedPrecision 41%float = OpTypeFloat 32 42%v4float = OpTypeVector %float 4 43%_ptr_Output_v4float = OpTypePointer Output %v4float 44%sk_FragColor = OpVariable %_ptr_Output_v4float Output 45%bool = OpTypeBool 46%_ptr_Input_bool = OpTypePointer Input %bool 47%sk_Clockwise = OpVariable %_ptr_Input_bool Input 48%uint = OpTypeInt 32 0 49%v2uint = OpTypeVector %uint 2 50%int = OpTypeInt 32 1 51%v3int = OpTypeVector %int 3 52%_UniformBuffer = OpTypeStruct %v4float %v4float %v2uint %v2uint %v3int %v3int 53%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 54%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 55%void = OpTypeVoid 56%18 = OpTypeFunction %void 57%v4bool = OpTypeVector %bool 4 58%_ptr_Function_v4bool = OpTypePointer Function %v4bool 59%false = OpConstantFalse %bool 60%true = OpConstantTrue %bool 61%25 = OpConstantComposite %v4bool %false %false %true %true 62%27 = OpConstantComposite %v4bool %true %true %false %false 63%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 64%int_0 = OpConstant %int 0 65%int_1 = OpConstant %int 1 66%_ptr_Output_float = OpTypePointer Output %float 67%_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint 68%int_2 = OpConstant %int 2 69%int_3 = OpConstant %int 3 70%v2bool = OpTypeVector %bool 2 71%_ptr_Uniform_v3int = OpTypePointer Uniform %v3int 72%int_4 = OpConstant %int 4 73%int_5 = OpConstant %int 5 74%v3bool = OpTypeVector %bool 3 75%main = OpFunction %void None %18 76%19 = OpLabel 77%expectFFTT = OpVariable %_ptr_Function_v4bool Function 78%expectTTFF = OpVariable %_ptr_Function_v4bool Function 79OpStore %expectFFTT %25 80OpStore %expectTTFF %27 81%29 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0 82%32 = OpLoad %v4float %29 83%33 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 84%35 = OpLoad %v4float %33 85%28 = OpFOrdGreaterThanEqual %v4bool %32 %35 86%36 = OpCompositeExtract %bool %28 0 87%37 = OpSelect %int %36 %int_1 %int_0 88%38 = OpConvertSToF %float %37 89%39 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0 90OpStore %39 %38 91%42 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_2 92%45 = OpLoad %v2uint %42 93%46 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_3 94%48 = OpLoad %v2uint %46 95%41 = OpUGreaterThanEqual %v2bool %45 %48 96%50 = OpCompositeExtract %bool %41 1 97%51 = OpSelect %int %50 %int_1 %int_0 98%52 = OpConvertSToF %float %51 99%53 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1 100OpStore %53 %52 101%55 = OpAccessChain %_ptr_Uniform_v3int %10 %int_4 102%58 = OpLoad %v3int %55 103%59 = OpAccessChain %_ptr_Uniform_v3int %10 %int_5 104%61 = OpLoad %v3int %59 105%54 = OpSGreaterThanEqual %v3bool %58 %61 106%63 = OpCompositeExtract %bool %54 2 107%64 = OpSelect %int %63 %int_1 %int_0 108%65 = OpConvertSToF %float %64 109%66 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2 110OpStore %66 %65 111%68 = OpLoad %v4bool %expectTTFF 112%67 = OpAny %bool %68 113OpSelectionMerge %70 None 114OpBranchConditional %67 %70 %69 115%69 = OpLabel 116%72 = OpLoad %v4bool %expectFFTT 117%71 = OpAny %bool %72 118OpBranch %70 119%70 = OpLabel 120%73 = OpPhi %bool %true %19 %71 %69 121%74 = OpSelect %int %73 %int_1 %int_0 122%75 = OpConvertSToF %float %74 123%76 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_3 124OpStore %76 %75 125OpReturn 126OpFunctionEnd 127