1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 6
4; Bound: 63
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint Fragment %main "main" %FragColor
10               OpExecutionMode %main OriginUpperLeft
11               OpSource GLSL 450
12               OpName %main "main"
13               OpName %sample_from_func_s21_4__ "sample_from_func(s21[4];"
14               OpName %uSampler "uSampler"
15               OpName %sample_one_from_func_s21_ "sample_one_from_func(s21;"
16               OpName %uSampler_0 "uSampler"
17               OpName %Registers "Registers"
18               OpMemberName %Registers 0 "index"
19               OpName %registers "registers"
20               OpName %FragColor "FragColor"
21               OpName %uSampler_1 "uSampler"
22               OpMemberDecorate %Registers 0 Offset 0
23               OpDecorate %Registers Block
24               OpDecorate %FragColor Location 0
25               OpDecorate %uSampler_1 DescriptorSet 0
26               OpDecorate %uSampler_1 Binding 0
27       %void = OpTypeVoid
28          %3 = OpTypeFunction %void
29      %float = OpTypeFloat 32
30          %7 = OpTypeImage %float 2D 0 0 0 1 Unknown
31       %uint = OpTypeInt 32 0
32     %uint_4 = OpConstant %uint 4
33%_arr_8_uint_4 = OpTypeArray %7 %uint_4
34%_ptr_UniformConstant__arr_8_uint_4 = OpTypePointer UniformConstant %_arr_8_uint_4
35    %v4float = OpTypeVector %float 4
36         %14 = OpTypeFunction %v4float %_ptr_UniformConstant__arr_8_uint_4
37%_ptr_UniformConstant_8 = OpTypePointer UniformConstant %7
38         %19 = OpTypeFunction %v4float %_ptr_UniformConstant_8
39        %int = OpTypeInt 32 1
40  %Registers = OpTypeStruct %int
41%_ptr_PushConstant_Registers = OpTypePointer PushConstant %Registers
42  %registers = OpVariable %_ptr_PushConstant_Registers PushConstant
43      %int_0 = OpConstant %int 0
44%_ptr_PushConstant_int = OpTypePointer PushConstant %int
45      %v2int = OpTypeVector %int 2
46      %int_4 = OpConstant %int 4
47         %35 = OpConstantComposite %v2int %int_4 %int_4
48%_ptr_Output_v4float = OpTypePointer Output %v4float
49  %FragColor = OpVariable %_ptr_Output_v4float Output
50 %uSampler_1 = OpVariable %_ptr_UniformConstant__arr_8_uint_4 UniformConstant
51     %int_10 = OpConstant %int 10
52         %53 = OpConstantComposite %v2int %int_10 %int_10
53       %main = OpFunction %void None %3
54          %5 = OpLabel
55         %48 = OpAccessChain %_ptr_PushConstant_int %registers %int_0
56         %49 = OpLoad %int %48
57         %50 = OpAccessChain %_ptr_UniformConstant_8 %uSampler_1 %49
58         %51 = OpLoad %7 %50
59         %55 = OpImageFetch %v4float %51 %53 Lod %int_0
60         %56 = OpFunctionCall %v4float %sample_from_func_s21_4__ %uSampler_1
61         %57 = OpFAdd %v4float %55 %56
62         %58 = OpAccessChain %_ptr_PushConstant_int %registers %int_0
63         %59 = OpLoad %int %58
64         %60 = OpAccessChain %_ptr_UniformConstant_8 %uSampler_1 %59
65         %61 = OpFunctionCall %v4float %sample_one_from_func_s21_ %60
66         %62 = OpFAdd %v4float %57 %61
67               OpStore %FragColor %62
68               OpReturn
69               OpFunctionEnd
70%sample_from_func_s21_4__ = OpFunction %v4float None %14
71   %uSampler = OpFunctionParameter %_ptr_UniformConstant__arr_8_uint_4
72         %17 = OpLabel
73         %29 = OpAccessChain %_ptr_PushConstant_int %registers %int_0
74         %30 = OpLoad %int %29
75         %31 = OpAccessChain %_ptr_UniformConstant_8 %uSampler %30
76         %32 = OpLoad %7 %31
77         %37 = OpImageFetch %v4float %32 %35 Lod %int_0
78               OpReturnValue %37
79               OpFunctionEnd
80%sample_one_from_func_s21_ = OpFunction %v4float None %19
81 %uSampler_0 = OpFunctionParameter %_ptr_UniformConstant_8
82         %22 = OpLabel
83         %40 = OpLoad %7 %uSampler_0
84         %42 = OpImageFetch %v4float %40 %35 Lod %int_0
85               OpReturnValue %42
86               OpFunctionEnd
87