1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %main "main" %sk_FragColor 5 OpExecutionMode %main OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %s "s" 8 OpName %_UniformBuffer "_UniformBuffer" 9 OpMemberName %_UniformBuffer 0 "colorXform" 10 OpName %main "main" 11 OpName %tmpColor "tmpColor" 12 OpDecorate %sk_FragColor RelaxedPrecision 13 OpDecorate %sk_FragColor Location 0 14 OpDecorate %sk_FragColor Index 0 15 OpDecorate %s RelaxedPrecision 16 OpDecorate %s Binding 0 17 OpDecorate %s DescriptorSet 0 18 OpMemberDecorate %_UniformBuffer 0 Offset 0 19 OpMemberDecorate %_UniformBuffer 0 ColMajor 20 OpMemberDecorate %_UniformBuffer 0 MatrixStride 16 21 OpDecorate %_UniformBuffer Block 22 OpDecorate %11 Binding 0 23 OpDecorate %11 DescriptorSet 0 24 OpDecorate %21 RelaxedPrecision 25 %float = OpTypeFloat 32 26 %v4float = OpTypeVector %float 4 27%_ptr_Output_v4float = OpTypePointer Output %v4float 28%sk_FragColor = OpVariable %_ptr_Output_v4float Output 29 %8 = OpTypeImage %float 2D 0 0 0 1 Unknown 30 %9 = OpTypeSampledImage %8 31%_ptr_UniformConstant_9 = OpTypePointer UniformConstant %9 32 %s = OpVariable %_ptr_UniformConstant_9 UniformConstant 33%mat4v4float = OpTypeMatrix %v4float 4 34%_UniformBuffer = OpTypeStruct %mat4v4float 35%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 36 %11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 37 %void = OpTypeVoid 38 %16 = OpTypeFunction %void 39%_ptr_Function_v4float = OpTypePointer Function %v4float 40 %float_1 = OpConstant %float 1 41 %v2float = OpTypeVector %float 2 42 %24 = OpConstantComposite %v2float %float_1 %float_1 43%_ptr_Uniform_mat4v4float = OpTypePointer Uniform %mat4v4float 44 %int = OpTypeInt 32 1 45 %int_0 = OpConstant %int 0 46 %float_0 = OpConstant %float 0 47 %31 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_0 48 %32 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_0 49 %33 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_0 50 %34 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 51 %35 = OpConstantComposite %mat4v4float %31 %32 %33 %34 52 %bool = OpTypeBool 53 %v4bool = OpTypeVector %bool 4 54 %v3float = OpTypeVector %float 3 55 %68 = OpConstantComposite %v3float %float_0 %float_0 %float_0 56 %main = OpFunction %void None %16 57 %17 = OpLabel 58 %tmpColor = OpVariable %_ptr_Function_v4float Function 59 %53 = OpVariable %_ptr_Function_v4float Function 60 %21 = OpLoad %9 %s 61 %20 = OpImageSampleImplicitLod %v4float %21 %24 62 OpStore %tmpColor %20 63 %25 = OpAccessChain %_ptr_Uniform_mat4v4float %11 %int_0 64 %29 = OpLoad %mat4v4float %25 65 %38 = OpCompositeExtract %v4float %29 0 66 %39 = OpFUnordNotEqual %v4bool %38 %31 67 %40 = OpAny %bool %39 68 %41 = OpCompositeExtract %v4float %29 1 69 %42 = OpFUnordNotEqual %v4bool %41 %32 70 %43 = OpAny %bool %42 71 %44 = OpLogicalOr %bool %40 %43 72 %45 = OpCompositeExtract %v4float %29 2 73 %46 = OpFUnordNotEqual %v4bool %45 %33 74 %47 = OpAny %bool %46 75 %48 = OpLogicalOr %bool %44 %47 76 %49 = OpCompositeExtract %v4float %29 3 77 %50 = OpFUnordNotEqual %v4bool %49 %34 78 %51 = OpAny %bool %50 79 %52 = OpLogicalOr %bool %48 %51 80 OpSelectionMerge %56 None 81 OpBranchConditional %52 %54 %55 82 %54 = OpLabel 83 %58 = OpAccessChain %_ptr_Uniform_mat4v4float %11 %int_0 84 %59 = OpLoad %mat4v4float %58 85 %60 = OpVectorShuffle %v3float %20 %20 0 1 2 86 %62 = OpCompositeExtract %float %60 0 87 %63 = OpCompositeExtract %float %60 1 88 %64 = OpCompositeExtract %float %60 2 89 %65 = OpCompositeConstruct %v4float %62 %63 %64 %float_1 90 %66 = OpMatrixTimesVector %v4float %59 %65 91 %67 = OpVectorShuffle %v3float %66 %66 0 1 2 92 %69 = OpCompositeExtract %float %20 3 93 %70 = OpCompositeConstruct %v3float %69 %69 %69 94 %57 = OpExtInst %v3float %1 FClamp %67 %68 %70 95 %71 = OpCompositeExtract %float %57 0 96 %72 = OpCompositeExtract %float %57 1 97 %73 = OpCompositeExtract %float %57 2 98 %74 = OpCompositeConstruct %v4float %71 %72 %73 %69 99 OpStore %53 %74 100 OpBranch %56 101 %55 = OpLabel 102 OpStore %53 %20 103 OpBranch %56 104 %56 = OpLabel 105 %75 = OpLoad %v4float %53 106 OpStore %sk_FragColor %75 107 OpReturn 108 OpFunctionEnd 109