1OpCapability Shader 2%1 = OpExtInstImport "GLSL.std.450" 3OpMemoryModel Logical GLSL450 4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5OpExecutionMode %_entrypoint_v OriginUpperLeft 6OpName %sk_FragColor "sk_FragColor" 7OpName %sk_Clockwise "sk_Clockwise" 8OpName %_UniformBuffer "_UniformBuffer" 9OpMemberName %_UniformBuffer 0 "testMatrix2x2" 10OpMemberName %_UniformBuffer 1 "colorGreen" 11OpMemberName %_UniformBuffer 2 "colorRed" 12OpName %_entrypoint_v "_entrypoint_v" 13OpName %main "main" 14OpName %infiniteValue "infiniteValue" 15OpName %finiteValue "finiteValue" 16OpDecorate %sk_FragColor RelaxedPrecision 17OpDecorate %sk_FragColor Location 0 18OpDecorate %sk_FragColor Index 0 19OpDecorate %sk_Clockwise BuiltIn FrontFacing 20OpMemberDecorate %_UniformBuffer 0 Offset 0 21OpMemberDecorate %_UniformBuffer 0 ColMajor 22OpMemberDecorate %_UniformBuffer 0 MatrixStride 16 23OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 24OpMemberDecorate %_UniformBuffer 1 Offset 32 25OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 26OpMemberDecorate %_UniformBuffer 2 Offset 48 27OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 28OpDecorate %_UniformBuffer Block 29OpDecorate %10 Binding 0 30OpDecorate %10 DescriptorSet 0 31OpDecorate %infiniteValue RelaxedPrecision 32OpDecorate %33 RelaxedPrecision 33OpDecorate %34 RelaxedPrecision 34OpDecorate %35 RelaxedPrecision 35OpDecorate %36 RelaxedPrecision 36OpDecorate %37 RelaxedPrecision 37OpDecorate %38 RelaxedPrecision 38OpDecorate %42 RelaxedPrecision 39OpDecorate %43 RelaxedPrecision 40OpDecorate %45 RelaxedPrecision 41OpDecorate %46 RelaxedPrecision 42OpDecorate %finiteValue RelaxedPrecision 43OpDecorate %49 RelaxedPrecision 44OpDecorate %50 RelaxedPrecision 45OpDecorate %51 RelaxedPrecision 46OpDecorate %52 RelaxedPrecision 47OpDecorate %53 RelaxedPrecision 48OpDecorate %54 RelaxedPrecision 49OpDecorate %56 RelaxedPrecision 50OpDecorate %57 RelaxedPrecision 51OpDecorate %58 RelaxedPrecision 52OpDecorate %59 RelaxedPrecision 53OpDecorate %62 RelaxedPrecision 54OpDecorate %63 RelaxedPrecision 55OpDecorate %68 RelaxedPrecision 56OpDecorate %69 RelaxedPrecision 57OpDecorate %76 RelaxedPrecision 58OpDecorate %77 RelaxedPrecision 59OpDecorate %85 RelaxedPrecision 60OpDecorate %92 RelaxedPrecision 61OpDecorate %93 RelaxedPrecision 62OpDecorate %100 RelaxedPrecision 63OpDecorate %101 RelaxedPrecision 64OpDecorate %108 RelaxedPrecision 65OpDecorate %109 RelaxedPrecision 66OpDecorate %116 RelaxedPrecision 67OpDecorate %123 RelaxedPrecision 68OpDecorate %126 RelaxedPrecision 69OpDecorate %127 RelaxedPrecision 70%float = OpTypeFloat 32 71%v4float = OpTypeVector %float 4 72%_ptr_Output_v4float = OpTypePointer Output %v4float 73%sk_FragColor = OpVariable %_ptr_Output_v4float Output 74%bool = OpTypeBool 75%_ptr_Input_bool = OpTypePointer Input %bool 76%sk_Clockwise = OpVariable %_ptr_Input_bool Input 77%v2float = OpTypeVector %float 2 78%mat2v2float = OpTypeMatrix %v2float 2 79%_UniformBuffer = OpTypeStruct %mat2v2float %v4float %v4float 80%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 81%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 82%void = OpTypeVoid 83%17 = OpTypeFunction %void 84%float_0 = OpConstant %float 0 85%20 = OpConstantComposite %v2float %float_0 %float_0 86%_ptr_Function_v2float = OpTypePointer Function %v2float 87%24 = OpTypeFunction %v4float %_ptr_Function_v2float 88%_ptr_Function_v4float = OpTypePointer Function %v4float 89%_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float 90%int = OpTypeInt 32 1 91%int_0 = OpConstant %int 0 92%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 93%int_1 = OpConstant %int 1 94%float_1 = OpConstant %float 1 95%false = OpConstantFalse %bool 96%v2bool = OpTypeVector %bool 2 97%v3float = OpTypeVector %float 3 98%v3bool = OpTypeVector %bool 3 99%v4bool = OpTypeVector %bool 4 100%int_2 = OpConstant %int 2 101%_entrypoint_v = OpFunction %void None %17 102%18 = OpLabel 103%21 = OpVariable %_ptr_Function_v2float Function 104OpStore %21 %20 105%23 = OpFunctionCall %v4float %main %21 106OpStore %sk_FragColor %23 107OpReturn 108OpFunctionEnd 109%main = OpFunction %v4float None %24 110%25 = OpFunctionParameter %_ptr_Function_v2float 111%26 = OpLabel 112%infiniteValue = OpVariable %_ptr_Function_v4float Function 113%finiteValue = OpVariable %_ptr_Function_v4float Function 114%118 = OpVariable %_ptr_Function_v4float Function 115%29 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_0 116%33 = OpLoad %mat2v2float %29 117%34 = OpCompositeExtract %float %33 0 0 118%35 = OpCompositeExtract %float %33 0 1 119%36 = OpCompositeExtract %float %33 1 0 120%37 = OpCompositeExtract %float %33 1 1 121%38 = OpCompositeConstruct %v4float %34 %35 %36 %37 122%39 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 123%42 = OpLoad %v4float %39 124%43 = OpCompositeExtract %float %42 0 125%45 = OpFDiv %float %float_1 %43 126%46 = OpVectorTimesScalar %v4float %38 %45 127OpStore %infiniteValue %46 128%48 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_0 129%49 = OpLoad %mat2v2float %48 130%50 = OpCompositeExtract %float %49 0 0 131%51 = OpCompositeExtract %float %49 0 1 132%52 = OpCompositeExtract %float %49 1 0 133%53 = OpCompositeExtract %float %49 1 1 134%54 = OpCompositeConstruct %v4float %50 %51 %52 %53 135%55 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 136%56 = OpLoad %v4float %55 137%57 = OpCompositeExtract %float %56 1 138%58 = OpFDiv %float %float_1 %57 139%59 = OpVectorTimesScalar %v4float %54 %58 140OpStore %finiteValue %59 141%62 = OpLoad %v4float %infiniteValue 142%63 = OpCompositeExtract %float %62 0 143%61 = OpIsInf %bool %63 144OpSelectionMerge %65 None 145OpBranchConditional %61 %64 %65 146%64 = OpLabel 147%68 = OpLoad %v4float %infiniteValue 148%69 = OpVectorShuffle %v2float %68 %68 0 1 149%67 = OpIsInf %v2bool %69 150%66 = OpAll %bool %67 151OpBranch %65 152%65 = OpLabel 153%71 = OpPhi %bool %false %26 %66 %64 154OpSelectionMerge %73 None 155OpBranchConditional %71 %72 %73 156%72 = OpLabel 157%76 = OpLoad %v4float %infiniteValue 158%77 = OpVectorShuffle %v3float %76 %76 0 1 2 159%75 = OpIsInf %v3bool %77 160%74 = OpAll %bool %75 161OpBranch %73 162%73 = OpLabel 163%80 = OpPhi %bool %false %65 %74 %72 164OpSelectionMerge %82 None 165OpBranchConditional %80 %81 %82 166%81 = OpLabel 167%85 = OpLoad %v4float %infiniteValue 168%84 = OpIsInf %v4bool %85 169%83 = OpAll %bool %84 170OpBranch %82 171%82 = OpLabel 172%87 = OpPhi %bool %false %73 %83 %81 173OpSelectionMerge %89 None 174OpBranchConditional %87 %88 %89 175%88 = OpLabel 176%92 = OpLoad %v4float %finiteValue 177%93 = OpCompositeExtract %float %92 0 178%91 = OpIsInf %bool %93 179%90 = OpLogicalNot %bool %91 180OpBranch %89 181%89 = OpLabel 182%94 = OpPhi %bool %false %82 %90 %88 183OpSelectionMerge %96 None 184OpBranchConditional %94 %95 %96 185%95 = OpLabel 186%100 = OpLoad %v4float %finiteValue 187%101 = OpVectorShuffle %v2float %100 %100 0 1 188%99 = OpIsInf %v2bool %101 189%98 = OpAny %bool %99 190%97 = OpLogicalNot %bool %98 191OpBranch %96 192%96 = OpLabel 193%102 = OpPhi %bool %false %89 %97 %95 194OpSelectionMerge %104 None 195OpBranchConditional %102 %103 %104 196%103 = OpLabel 197%108 = OpLoad %v4float %finiteValue 198%109 = OpVectorShuffle %v3float %108 %108 0 1 2 199%107 = OpIsInf %v3bool %109 200%106 = OpAny %bool %107 201%105 = OpLogicalNot %bool %106 202OpBranch %104 203%104 = OpLabel 204%110 = OpPhi %bool %false %96 %105 %103 205OpSelectionMerge %112 None 206OpBranchConditional %110 %111 %112 207%111 = OpLabel 208%116 = OpLoad %v4float %finiteValue 209%115 = OpIsInf %v4bool %116 210%114 = OpAny %bool %115 211%113 = OpLogicalNot %bool %114 212OpBranch %112 213%112 = OpLabel 214%117 = OpPhi %bool %false %104 %113 %111 215OpSelectionMerge %121 None 216OpBranchConditional %117 %119 %120 217%119 = OpLabel 218%122 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 219%123 = OpLoad %v4float %122 220OpStore %118 %123 221OpBranch %121 222%120 = OpLabel 223%124 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 224%126 = OpLoad %v4float %124 225OpStore %118 %126 226OpBranch %121 227%121 = OpLabel 228%127 = OpLoad %v4float %118 229OpReturnValue %127 230OpFunctionEnd 231