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 %aSampler "aSampler" 8 OpName %aSecondSampler "aSecondSampler" 9 OpName %aThirdSampler "aThirdSampler" 10 OpName %baz_h4Z_aSampler "baz_h4Z_aSampler" 11 OpName %baz_h4Z_aSecondSampler "baz_h4Z_aSecondSampler" 12 OpName %baz_h4Z_aThirdSampler "baz_h4Z_aThirdSampler" 13 OpName %bar_h4Z_aSampler "bar_h4Z_aSampler" 14 OpName %bar_h4Z_aThirdSampler "bar_h4Z_aThirdSampler" 15 OpName %bar_h4Z_aSecondSampler "bar_h4Z_aSecondSampler" 16 OpName %foo_h4ZZ_aSampler_aSecondSampler "foo_h4ZZ_aSampler_aSecondSampler" 17 OpName %a "a" 18 OpName %b "b" 19 OpName %foo_h4ZZ_aSecondSampler_aThirdSampler "foo_h4ZZ_aSecondSampler_aThirdSampler" 20 OpName %a_0 "a" 21 OpName %b_0 "b" 22 OpName %main "main" 23 OpDecorate %sk_FragColor RelaxedPrecision 24 OpDecorate %sk_FragColor Location 0 25 OpDecorate %sk_FragColor Index 0 26 OpDecorate %aSampler RelaxedPrecision 27 OpDecorate %aSampler Binding 0 28 OpDecorate %aSampler DescriptorSet 0 29 OpDecorate %aSecondSampler RelaxedPrecision 30 OpDecorate %aSecondSampler Binding 1 31 OpDecorate %aSecondSampler DescriptorSet 0 32 OpDecorate %aThirdSampler RelaxedPrecision 33 OpDecorate %aThirdSampler Binding 2 34 OpDecorate %aThirdSampler DescriptorSet 0 35 OpDecorate %24 RelaxedPrecision 36 OpDecorate %30 RelaxedPrecision 37 OpDecorate %33 RelaxedPrecision 38 OpDecorate %a RelaxedPrecision 39 OpDecorate %b RelaxedPrecision 40 OpDecorate %46 RelaxedPrecision 41 OpDecorate %a_0 RelaxedPrecision 42 OpDecorate %b_0 RelaxedPrecision 43 OpDecorate %52 RelaxedPrecision 44 %float = OpTypeFloat 32 45 %v4float = OpTypeVector %float 4 46%_ptr_Output_v4float = OpTypePointer Output %v4float 47%sk_FragColor = OpVariable %_ptr_Output_v4float Output 48 %16 = OpTypeImage %float 2D 0 0 0 1 Unknown 49 %17 = OpTypeSampledImage %16 50%_ptr_UniformConstant_17 = OpTypePointer UniformConstant %17 51 %aSampler = OpVariable %_ptr_UniformConstant_17 UniformConstant 52%aSecondSampler = OpVariable %_ptr_UniformConstant_17 UniformConstant 53%aThirdSampler = OpVariable %_ptr_UniformConstant_17 UniformConstant 54 %21 = OpTypeFunction %v4float 55 %float_0 = OpConstant %float 0 56 %v2float = OpTypeVector %float 2 57 %27 = OpConstantComposite %v2float %float_0 %float_0 58%_ptr_Function_v4float = OpTypePointer Function %v4float 59 %void = OpTypeVoid 60 %54 = OpTypeFunction %void 61%baz_h4Z_aSampler = OpFunction %v4float None %21 62 %22 = OpLabel 63 %24 = OpLoad %17 %aSampler 64 %23 = OpImageSampleImplicitLod %v4float %24 %27 65 OpReturnValue %23 66 OpFunctionEnd 67%baz_h4Z_aSecondSampler = OpFunction %v4float None %21 68 %28 = OpLabel 69 %30 = OpLoad %17 %aSecondSampler 70 %29 = OpImageSampleImplicitLod %v4float %30 %27 71 OpReturnValue %29 72 OpFunctionEnd 73%baz_h4Z_aThirdSampler = OpFunction %v4float None %21 74 %31 = OpLabel 75 %33 = OpLoad %17 %aThirdSampler 76 %32 = OpImageSampleImplicitLod %v4float %33 %27 77 OpReturnValue %32 78 OpFunctionEnd 79%bar_h4Z_aSampler = OpFunction %v4float None %21 80 %34 = OpLabel 81 %35 = OpFunctionCall %v4float %baz_h4Z_aSampler 82 OpReturnValue %35 83 OpFunctionEnd 84%bar_h4Z_aThirdSampler = OpFunction %v4float None %21 85 %36 = OpLabel 86 %37 = OpFunctionCall %v4float %baz_h4Z_aThirdSampler 87 OpReturnValue %37 88 OpFunctionEnd 89%bar_h4Z_aSecondSampler = OpFunction %v4float None %21 90 %38 = OpLabel 91 %39 = OpFunctionCall %v4float %baz_h4Z_aSecondSampler 92 OpReturnValue %39 93 OpFunctionEnd 94%foo_h4ZZ_aSampler_aSecondSampler = OpFunction %v4float None %21 95 %40 = OpLabel 96 %a = OpVariable %_ptr_Function_v4float Function 97 %b = OpVariable %_ptr_Function_v4float Function 98 %43 = OpFunctionCall %v4float %bar_h4Z_aSampler 99 OpStore %a %43 100 %45 = OpFunctionCall %v4float %baz_h4Z_aSecondSampler 101 OpStore %b %45 102 %46 = OpFAdd %v4float %43 %45 103 OpReturnValue %46 104 OpFunctionEnd 105%foo_h4ZZ_aSecondSampler_aThirdSampler = OpFunction %v4float None %21 106 %47 = OpLabel 107 %a_0 = OpVariable %_ptr_Function_v4float Function 108 %b_0 = OpVariable %_ptr_Function_v4float Function 109 %49 = OpFunctionCall %v4float %bar_h4Z_aSecondSampler 110 OpStore %a_0 %49 111 %51 = OpFunctionCall %v4float %baz_h4Z_aThirdSampler 112 OpStore %b_0 %51 113 %52 = OpFAdd %v4float %49 %51 114 OpReturnValue %52 115 OpFunctionEnd 116 %main = OpFunction %void None %54 117 %55 = OpLabel 118 %56 = OpFunctionCall %v4float %foo_h4ZZ_aSampler_aSecondSampler 119 OpStore %sk_FragColor %56 120 %57 = OpFunctionCall %v4float %bar_h4Z_aThirdSampler 121 OpStore %sk_FragColor %57 122 %58 = OpFunctionCall %v4float %foo_h4ZZ_aSecondSampler_aThirdSampler 123 OpStore %sk_FragColor %58 124 OpReturn 125 OpFunctionEnd 126