1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor 5 OpExecutionMode %_entrypoint_v OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %_entrypoint_v "_entrypoint_v" 8 OpName %main "main" 9 OpName %B "B" 10 OpName %F "F" 11 OpName %I "I" 12 OpDecorate %sk_FragColor RelaxedPrecision 13 OpDecorate %sk_FragColor Location 0 14 OpDecorate %sk_FragColor Index 0 15 OpDecorate %58 RelaxedPrecision 16 OpDecorate %62 RelaxedPrecision 17 OpDecorate %67 RelaxedPrecision 18 OpDecorate %70 RelaxedPrecision 19 OpDecorate %79 RelaxedPrecision 20 OpDecorate %80 RelaxedPrecision 21 %float = OpTypeFloat 32 22 %v4float = OpTypeVector %float 4 23%_ptr_Output_v4float = OpTypePointer Output %v4float 24%sk_FragColor = OpVariable %_ptr_Output_v4float Output 25 %void = OpTypeVoid 26 %9 = OpTypeFunction %void 27 %float_0 = OpConstant %float 0 28 %v2float = OpTypeVector %float 2 29 %13 = OpConstantComposite %v2float %float_0 %float_0 30%_ptr_Function_v2float = OpTypePointer Function %v2float 31 %17 = OpTypeFunction %v4float %_ptr_Function_v2float 32 %bool = OpTypeBool 33 %v3bool = OpTypeVector %bool 3 34%_ptr_Function_v3bool = OpTypePointer Function %v3bool 35 %true = OpConstantTrue %bool 36%_ptr_Function_bool = OpTypePointer Function %bool 37 %int = OpTypeInt 32 1 38 %int_0 = OpConstant %int 0 39 %int_1 = OpConstant %int 1 40 %int_2 = OpConstant %int 2 41 %v3float = OpTypeVector %float 3 42%_ptr_Function_v3float = OpTypePointer Function %v3float 43%float_1_23000002 = OpConstant %float 1.23000002 44%_ptr_Function_float = OpTypePointer Function %float 45 %float_1 = OpConstant %float 1 46 %v3int = OpTypeVector %int 3 47%_ptr_Function_v3int = OpTypePointer Function %v3int 48%_ptr_Function_int = OpTypePointer Function %int 49 %false = OpConstantFalse %bool 50%_entrypoint_v = OpFunction %void None %9 51 %10 = OpLabel 52 %14 = OpVariable %_ptr_Function_v2float Function 53 OpStore %14 %13 54 %16 = OpFunctionCall %v4float %main %14 55 OpStore %sk_FragColor %16 56 OpReturn 57 OpFunctionEnd 58 %main = OpFunction %v4float None %17 59 %18 = OpFunctionParameter %_ptr_Function_v2float 60 %19 = OpLabel 61 %B = OpVariable %_ptr_Function_v3bool Function 62 %F = OpVariable %_ptr_Function_v3float Function 63 %I = OpVariable %_ptr_Function_v3int Function 64 %25 = OpAccessChain %_ptr_Function_bool %B %int_0 65 OpStore %25 %true 66 %29 = OpAccessChain %_ptr_Function_bool %B %int_1 67 OpStore %29 %true 68 %31 = OpAccessChain %_ptr_Function_bool %B %int_2 69 OpStore %31 %true 70 %37 = OpAccessChain %_ptr_Function_float %F %int_0 71 OpStore %37 %float_1_23000002 72 %39 = OpAccessChain %_ptr_Function_float %F %int_1 73 OpStore %39 %float_0 74 %41 = OpAccessChain %_ptr_Function_float %F %int_2 75 OpStore %41 %float_1 76 %45 = OpAccessChain %_ptr_Function_int %I %int_0 77 OpStore %45 %int_1 78 %47 = OpAccessChain %_ptr_Function_int %I %int_1 79 OpStore %47 %int_1 80 %48 = OpAccessChain %_ptr_Function_int %I %int_2 81 OpStore %48 %int_1 82 %49 = OpLoad %v3float %F 83 %50 = OpCompositeExtract %float %49 0 84 %51 = OpLoad %v3float %F 85 %52 = OpCompositeExtract %float %51 1 86 %53 = OpFMul %float %50 %52 87 %54 = OpLoad %v3float %F 88 %55 = OpCompositeExtract %float %54 2 89 %56 = OpFMul %float %53 %55 90 %58 = OpLoad %v3bool %B 91 %59 = OpCompositeExtract %bool %58 0 92 OpSelectionMerge %61 None 93 OpBranchConditional %59 %60 %61 94 %60 = OpLabel 95 %62 = OpLoad %v3bool %B 96 %63 = OpCompositeExtract %bool %62 1 97 OpBranch %61 98 %61 = OpLabel 99 %64 = OpPhi %bool %false %19 %63 %60 100 OpSelectionMerge %66 None 101 OpBranchConditional %64 %65 %66 102 %65 = OpLabel 103 %67 = OpLoad %v3bool %B 104 %68 = OpCompositeExtract %bool %67 2 105 OpBranch %66 106 %66 = OpLabel 107 %69 = OpPhi %bool %false %61 %68 %65 108 %70 = OpSelect %float %69 %float_1 %float_0 109 %71 = OpLoad %v3int %I 110 %72 = OpCompositeExtract %int %71 0 111 %73 = OpLoad %v3int %I 112 %74 = OpCompositeExtract %int %73 1 113 %75 = OpIMul %int %72 %74 114 %76 = OpLoad %v3int %I 115 %77 = OpCompositeExtract %int %76 2 116 %78 = OpIMul %int %75 %77 117 %79 = OpConvertSToF %float %78 118 %80 = OpCompositeConstruct %v4float %56 %70 %float_0 %79 119 OpReturnValue %80 120 OpFunctionEnd 121