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 %_UniformBuffer "_UniformBuffer" 8 OpMemberName %_UniformBuffer 0 "inputVal" 9 OpMemberName %_UniformBuffer 1 "colorGreen" 10 OpMemberName %_UniformBuffer 2 "colorRed" 11 OpName %_entrypoint_v "_entrypoint_v" 12 OpName %main "main" 13 OpName %expectedVec "expectedVec" 14 OpDecorate %sk_FragColor RelaxedPrecision 15 OpDecorate %sk_FragColor Location 0 16 OpDecorate %sk_FragColor Index 0 17 OpMemberDecorate %_UniformBuffer 0 Offset 0 18 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 19 OpMemberDecorate %_UniformBuffer 1 Offset 16 20 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 21 OpMemberDecorate %_UniformBuffer 2 Offset 32 22 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 23 OpDecorate %_UniformBuffer Block 24 OpDecorate %7 Binding 0 25 OpDecorate %7 DescriptorSet 0 26 OpDecorate %expectedVec RelaxedPrecision 27 OpDecorate %29 RelaxedPrecision 28 OpDecorate %34 RelaxedPrecision 29 OpDecorate %35 RelaxedPrecision 30 OpDecorate %39 RelaxedPrecision 31 OpDecorate %41 RelaxedPrecision 32 OpDecorate %42 RelaxedPrecision 33 OpDecorate %43 RelaxedPrecision 34 OpDecorate %50 RelaxedPrecision 35 OpDecorate %52 RelaxedPrecision 36 OpDecorate %53 RelaxedPrecision 37 OpDecorate %55 RelaxedPrecision 38 OpDecorate %62 RelaxedPrecision 39 OpDecorate %64 RelaxedPrecision 40 OpDecorate %76 RelaxedPrecision 41 OpDecorate %83 RelaxedPrecision 42 OpDecorate %96 RelaxedPrecision 43 OpDecorate %99 RelaxedPrecision 44 OpDecorate %100 RelaxedPrecision 45 %float = OpTypeFloat 32 46 %v4float = OpTypeVector %float 4 47%_ptr_Output_v4float = OpTypePointer Output %v4float 48%sk_FragColor = OpVariable %_ptr_Output_v4float Output 49%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 50%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 51 %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 52 %void = OpTypeVoid 53 %12 = OpTypeFunction %void 54 %float_0 = OpConstant %float 0 55 %v2float = OpTypeVector %float 2 56 %16 = OpConstantComposite %v2float %float_0 %float_0 57%_ptr_Function_v2float = OpTypePointer Function %v2float 58 %20 = OpTypeFunction %v4float %_ptr_Function_v2float 59%_ptr_Function_v4float = OpTypePointer Function %v4float 60 %float_1 = OpConstant %float 1 61 %26 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_0 62 %bool = OpTypeBool 63 %false = OpConstantFalse %bool 64%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 65 %int = OpTypeInt 32 1 66 %int_0 = OpConstant %int 0 67 %v2bool = OpTypeVector %bool 2 68 %v3float = OpTypeVector %float 3 69 %v3bool = OpTypeVector %bool 3 70 %v4bool = OpTypeVector %bool 4 71 %true = OpConstantTrue %bool 72 %75 = OpConstantComposite %v2float %float_0 %float_1 73 %82 = OpConstantComposite %v3float %float_0 %float_1 %float_0 74 %int_1 = OpConstant %int 1 75 %int_2 = OpConstant %int 2 76%_entrypoint_v = OpFunction %void None %12 77 %13 = OpLabel 78 %17 = OpVariable %_ptr_Function_v2float Function 79 OpStore %17 %16 80 %19 = OpFunctionCall %v4float %main %17 81 OpStore %sk_FragColor %19 82 OpReturn 83 OpFunctionEnd 84 %main = OpFunction %v4float None %20 85 %21 = OpFunctionParameter %_ptr_Function_v2float 86 %22 = OpLabel 87%expectedVec = OpVariable %_ptr_Function_v4float Function 88 %90 = OpVariable %_ptr_Function_v4float Function 89 OpStore %expectedVec %26 90 %30 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 91 %34 = OpLoad %v4float %30 92 %35 = OpCompositeExtract %float %34 0 93 %29 = OpExtInst %float %1 Normalize %35 94 %36 = OpFOrdEqual %bool %29 %float_1 95 OpSelectionMerge %38 None 96 OpBranchConditional %36 %37 %38 97 %37 = OpLabel 98 %40 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 99 %41 = OpLoad %v4float %40 100 %42 = OpVectorShuffle %v2float %41 %41 0 1 101 %39 = OpExtInst %v2float %1 Normalize %42 102 %43 = OpVectorShuffle %v2float %26 %26 0 1 103 %44 = OpFOrdEqual %v2bool %39 %43 104 %46 = OpAll %bool %44 105 OpBranch %38 106 %38 = OpLabel 107 %47 = OpPhi %bool %false %22 %46 %37 108 OpSelectionMerge %49 None 109 OpBranchConditional %47 %48 %49 110 %48 = OpLabel 111 %51 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 112 %52 = OpLoad %v4float %51 113 %53 = OpVectorShuffle %v3float %52 %52 0 1 2 114 %50 = OpExtInst %v3float %1 Normalize %53 115 %55 = OpVectorShuffle %v3float %26 %26 0 1 2 116 %56 = OpFOrdEqual %v3bool %50 %55 117 %58 = OpAll %bool %56 118 OpBranch %49 119 %49 = OpLabel 120 %59 = OpPhi %bool %false %38 %58 %48 121 OpSelectionMerge %61 None 122 OpBranchConditional %59 %60 %61 123 %60 = OpLabel 124 %63 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 125 %64 = OpLoad %v4float %63 126 %62 = OpExtInst %v4float %1 Normalize %64 127 %65 = OpFOrdEqual %v4bool %62 %26 128 %67 = OpAll %bool %65 129 OpBranch %61 130 %61 = OpLabel 131 %68 = OpPhi %bool %false %49 %67 %60 132 OpSelectionMerge %70 None 133 OpBranchConditional %68 %69 %70 134 %69 = OpLabel 135 OpBranch %70 136 %70 = OpLabel 137 %72 = OpPhi %bool %false %61 %true %69 138 OpSelectionMerge %74 None 139 OpBranchConditional %72 %73 %74 140 %73 = OpLabel 141 %76 = OpVectorShuffle %v2float %26 %26 1 0 142 %77 = OpFOrdEqual %v2bool %75 %76 143 %78 = OpAll %bool %77 144 OpBranch %74 145 %74 = OpLabel 146 %79 = OpPhi %bool %false %70 %78 %73 147 OpSelectionMerge %81 None 148 OpBranchConditional %79 %80 %81 149 %80 = OpLabel 150 %83 = OpVectorShuffle %v3float %26 %26 2 0 1 151 %84 = OpFOrdEqual %v3bool %82 %83 152 %85 = OpAll %bool %84 153 OpBranch %81 154 %81 = OpLabel 155 %86 = OpPhi %bool %false %74 %85 %80 156 OpSelectionMerge %88 None 157 OpBranchConditional %86 %87 %88 158 %87 = OpLabel 159 OpBranch %88 160 %88 = OpLabel 161 %89 = OpPhi %bool %false %81 %true %87 162 OpSelectionMerge %93 None 163 OpBranchConditional %89 %91 %92 164 %91 = OpLabel 165 %94 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 166 %96 = OpLoad %v4float %94 167 OpStore %90 %96 168 OpBranch %93 169 %92 = OpLabel 170 %97 = OpAccessChain %_ptr_Uniform_v4float %7 %int_2 171 %99 = OpLoad %v4float %97 172 OpStore %90 %99 173 OpBranch %93 174 %93 = OpLabel 175 %100 = OpLoad %v4float %90 176 OpReturnValue %100 177 OpFunctionEnd 178