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 %MATRIXFIVE "MATRIXFIVE" 8 OpName %_UniformBuffer "_UniformBuffer" 9 OpMemberName %_UniformBuffer 0 "colorGreen" 10 OpMemberName %_UniformBuffer 1 "colorRed" 11 OpName %_entrypoint_v "_entrypoint_v" 12 OpName %verify_const_globals_biih44 "verify_const_globals_biih44" 13 OpName %main "main" 14 OpDecorate %sk_FragColor RelaxedPrecision 15 OpDecorate %sk_FragColor Location 0 16 OpDecorate %sk_FragColor Index 0 17 OpDecorate %MATRIXFIVE RelaxedPrecision 18 OpMemberDecorate %_UniformBuffer 0 Offset 0 19 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 20 OpMemberDecorate %_UniformBuffer 1 Offset 16 21 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 22 OpDecorate %_UniformBuffer Block 23 OpDecorate %18 Binding 0 24 OpDecorate %18 DescriptorSet 0 25 OpDecorate %51 RelaxedPrecision 26 OpDecorate %53 RelaxedPrecision 27 OpDecorate %54 RelaxedPrecision 28 OpDecorate %56 RelaxedPrecision 29 OpDecorate %57 RelaxedPrecision 30 OpDecorate %60 RelaxedPrecision 31 OpDecorate %61 RelaxedPrecision 32 OpDecorate %64 RelaxedPrecision 33 OpDecorate %65 RelaxedPrecision 34 OpDecorate %84 RelaxedPrecision 35 OpDecorate %87 RelaxedPrecision 36 OpDecorate %88 RelaxedPrecision 37 %float = OpTypeFloat 32 38 %v4float = OpTypeVector %float 4 39%_ptr_Output_v4float = OpTypePointer Output %v4float 40%sk_FragColor = OpVariable %_ptr_Output_v4float Output 41%mat4v4float = OpTypeMatrix %v4float 4 42%_ptr_Private_mat4v4float = OpTypePointer Private %mat4v4float 43 %MATRIXFIVE = OpVariable %_ptr_Private_mat4v4float Private 44 %float_5 = OpConstant %float 5 45 %float_0 = OpConstant %float 0 46 %13 = OpConstantComposite %v4float %float_5 %float_0 %float_0 %float_0 47 %14 = OpConstantComposite %v4float %float_0 %float_5 %float_0 %float_0 48 %15 = OpConstantComposite %v4float %float_0 %float_0 %float_5 %float_0 49 %16 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_5 50 %17 = OpConstantComposite %mat4v4float %13 %14 %15 %16 51%_UniformBuffer = OpTypeStruct %v4float %v4float 52%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 53 %18 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 54 %void = OpTypeVoid 55 %23 = OpTypeFunction %void 56 %v2float = OpTypeVector %float 2 57 %26 = OpConstantComposite %v2float %float_0 %float_0 58%_ptr_Function_v2float = OpTypePointer Function %v2float 59 %bool = OpTypeBool 60 %int = OpTypeInt 32 1 61%_ptr_Function_int = OpTypePointer Function %int 62%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float 63 %34 = OpTypeFunction %bool %_ptr_Function_int %_ptr_Function_int %_ptr_Function_mat4v4float 64 %false = OpConstantFalse %bool 65 %int_7 = OpConstant %int 7 66 %int_10 = OpConstant %int 10 67 %v4bool = OpTypeVector %bool 4 68 %69 = OpTypeFunction %v4float %_ptr_Function_v2float 69%_ptr_Function_v4float = OpTypePointer Function %v4float 70%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 71 %int_0 = OpConstant %int 0 72 %int_1 = OpConstant %int 1 73%_entrypoint_v = OpFunction %void None %23 74 %24 = OpLabel 75 %27 = OpVariable %_ptr_Function_v2float Function 76 OpStore %27 %26 77 %29 = OpFunctionCall %v4float %main %27 78 OpStore %sk_FragColor %29 79 OpReturn 80 OpFunctionEnd 81%verify_const_globals_biih44 = OpFunction %bool None %34 82 %35 = OpFunctionParameter %_ptr_Function_int 83 %36 = OpFunctionParameter %_ptr_Function_int 84 %37 = OpFunctionParameter %_ptr_Function_mat4v4float 85 %38 = OpLabel 86 %40 = OpLoad %int %35 87 %42 = OpIEqual %bool %40 %int_7 88 OpSelectionMerge %44 None 89 OpBranchConditional %42 %43 %44 90 %43 = OpLabel 91 %45 = OpLoad %int %36 92 %47 = OpIEqual %bool %45 %int_10 93 OpBranch %44 94 %44 = OpLabel 95 %48 = OpPhi %bool %false %38 %47 %43 96 OpSelectionMerge %50 None 97 OpBranchConditional %48 %49 %50 98 %49 = OpLabel 99 %51 = OpLoad %mat4v4float %37 100 %53 = OpCompositeExtract %v4float %51 0 101 %54 = OpFOrdEqual %v4bool %53 %13 102 %55 = OpAll %bool %54 103 %56 = OpCompositeExtract %v4float %51 1 104 %57 = OpFOrdEqual %v4bool %56 %14 105 %58 = OpAll %bool %57 106 %59 = OpLogicalAnd %bool %55 %58 107 %60 = OpCompositeExtract %v4float %51 2 108 %61 = OpFOrdEqual %v4bool %60 %15 109 %62 = OpAll %bool %61 110 %63 = OpLogicalAnd %bool %59 %62 111 %64 = OpCompositeExtract %v4float %51 3 112 %65 = OpFOrdEqual %v4bool %64 %16 113 %66 = OpAll %bool %65 114 %67 = OpLogicalAnd %bool %63 %66 115 OpBranch %50 116 %50 = OpLabel 117 %68 = OpPhi %bool %false %44 %67 %49 118 OpReturnValue %68 119 OpFunctionEnd 120 %main = OpFunction %v4float None %69 121 %70 = OpFunctionParameter %_ptr_Function_v2float 122 %71 = OpLabel 123 %72 = OpVariable %_ptr_Function_int Function 124 %73 = OpVariable %_ptr_Function_int Function 125 %74 = OpVariable %_ptr_Function_mat4v4float Function 126 %76 = OpVariable %_ptr_Function_v4float Function 127 OpStore %MATRIXFIVE %17 128 OpStore %72 %int_7 129 OpStore %73 %int_10 130 OpStore %74 %17 131 %75 = OpFunctionCall %bool %verify_const_globals_biih44 %72 %73 %74 132 OpSelectionMerge %80 None 133 OpBranchConditional %75 %78 %79 134 %78 = OpLabel 135 %81 = OpAccessChain %_ptr_Uniform_v4float %18 %int_0 136 %84 = OpLoad %v4float %81 137 OpStore %76 %84 138 OpBranch %80 139 %79 = OpLabel 140 %85 = OpAccessChain %_ptr_Uniform_v4float %18 %int_1 141 %87 = OpLoad %v4float %85 142 OpStore %76 %87 143 OpBranch %80 144 %80 = OpLabel 145 %88 = OpLoad %v4float %76 146 OpReturnValue %88 147 OpFunctionEnd 148