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