1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 8
4; Bound: 99
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint Fragment %main "main" %color %i
10               OpExecutionMode %main OriginUpperLeft
11               OpSource ESSL 310
12               OpName %main "main"
13               OpName %color "color"
14               OpName %t2d "t2d"
15               OpName %s "s"
16               OpName %t3d "t3d"
17               OpName %sA "sA"
18               OpName %sShadow "sShadow"
19               OpName %i "i"
20               OpName %tex2D "tex2D"
21               OpName %texCube "texCube"
22               OpName %tex2DArray "tex2DArray"
23               OpName %itex2D "itex2D"
24               OpName %itex3D "itex3D"
25               OpName %itexCube "itexCube"
26               OpName %itex2DArray "itex2DArray"
27               OpName %utex2D "utex2D"
28               OpName %utex3D "utex3D"
29               OpName %utexCube "utexCube"
30               OpName %utex2DArray "utex2DArray"
31               OpName %tex3D "tex3D"
32               OpDecorate %color Location 0
33               OpDecorate %t2d RelaxedPrecision
34               OpDecorate %t2d DescriptorSet 0
35               OpDecorate %t2d Binding 3
36               OpDecorate %14 RelaxedPrecision
37               OpDecorate %s DescriptorSet 0
38               OpDecorate %s Binding 0
39               OpDecorate %23 RelaxedPrecision
40               OpDecorate %t3d DescriptorSet 0
41               OpDecorate %t3d Binding 4
42               OpDecorate %sA DescriptorSet 0
43               OpDecorate %sA Binding 2
44               OpDecorate %48 RelaxedPrecision
45               OpDecorate %51 RelaxedPrecision
46               OpDecorate %sShadow DescriptorSet 0
47               OpDecorate %sShadow Binding 1
48               OpDecorate %i RelaxedPrecision
49               OpDecorate %i Flat
50               OpDecorate %i Location 0
51               OpDecorate %tex2D RelaxedPrecision
52               OpDecorate %tex2D DescriptorSet 0
53               OpDecorate %tex2D Binding 5
54               OpDecorate %texCube RelaxedPrecision
55               OpDecorate %texCube DescriptorSet 0
56               OpDecorate %texCube Binding 6
57               OpDecorate %tex2DArray DescriptorSet 0
58               OpDecorate %tex2DArray Binding 15
59               OpDecorate %itex2D DescriptorSet 0
60               OpDecorate %itex2D Binding 16
61               OpDecorate %itex3D DescriptorSet 0
62               OpDecorate %itex3D Binding 17
63               OpDecorate %itexCube DescriptorSet 0
64               OpDecorate %itexCube Binding 18
65               OpDecorate %itex2DArray DescriptorSet 0
66               OpDecorate %itex2DArray Binding 19
67               OpDecorate %utex2D DescriptorSet 0
68               OpDecorate %utex2D Binding 20
69               OpDecorate %utex3D DescriptorSet 0
70               OpDecorate %utex3D Binding 21
71               OpDecorate %utexCube DescriptorSet 0
72               OpDecorate %utexCube Binding 22
73               OpDecorate %utex2DArray DescriptorSet 0
74               OpDecorate %utex2DArray Binding 23
75               OpDecorate %tex3D DescriptorSet 0
76               OpDecorate %tex3D Binding 36
77       %void = OpTypeVoid
78          %3 = OpTypeFunction %void
79      %float = OpTypeFloat 32
80    %v4float = OpTypeVector %float 4
81%_ptr_Output_v4float = OpTypePointer Output %v4float
82      %color = OpVariable %_ptr_Output_v4float Output
83         %10 = OpTypeImage %float 2D 0 0 0 1 Unknown
84         %11 = OpTypeSampledImage %10
85%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
86        %t2d = OpVariable %_ptr_UniformConstant_11 UniformConstant
87         %15 = OpTypeSampler
88%_ptr_UniformConstant_15 = OpTypePointer UniformConstant %15
89          %s = OpVariable %_ptr_UniformConstant_15 UniformConstant
90    %v2float = OpTypeVector %float 2
91  %float_0_5 = OpConstant %float 0.5
92         %22 = OpConstantComposite %v2float %float_0_5 %float_0_5
93         %24 = OpTypeImage %float 3D 0 0 0 1 Unknown
94         %25 = OpTypeSampledImage %24
95       %uint = OpTypeInt 32 0
96     %uint_4 = OpConstant %uint 4
97%_arr_25_uint_4 = OpTypeArray %25 %uint_4
98%_ptr_UniformConstant__arr_25_uint_4 = OpTypePointer UniformConstant %_arr_25_uint_4
99        %t3d = OpVariable %_ptr_UniformConstant__arr_25_uint_4 UniformConstant
100        %int = OpTypeInt 32 1
101      %int_1 = OpConstant %int 1
102%_ptr_UniformConstant_25 = OpTypePointer UniformConstant %25
103%_arr_15_uint_4 = OpTypeArray %15 %uint_4
104%_ptr_UniformConstant__arr_15_uint_4 = OpTypePointer UniformConstant %_arr_15_uint_4
105         %sA = OpVariable %_ptr_UniformConstant__arr_15_uint_4 UniformConstant
106      %int_2 = OpConstant %int 2
107    %v3float = OpTypeVector %float 3
108         %44 = OpConstantComposite %v3float %float_0_5 %float_0_5 %float_0_5
109    %sShadow = OpVariable %_ptr_UniformConstant_15 UniformConstant
110%_ptr_Input_int = OpTypePointer Input %int
111          %i = OpVariable %_ptr_Input_int Input
112      %tex2D = OpVariable %_ptr_UniformConstant_11 UniformConstant
113         %58 = OpTypeImage %float Cube 0 0 0 1 Unknown
114         %59 = OpTypeSampledImage %58
115%_ptr_UniformConstant_59 = OpTypePointer UniformConstant %59
116    %texCube = OpVariable %_ptr_UniformConstant_59 UniformConstant
117         %62 = OpTypeImage %float 2D 0 1 0 1 Unknown
118         %63 = OpTypeSampledImage %62
119%_ptr_UniformConstant_63 = OpTypePointer UniformConstant %63
120 %tex2DArray = OpVariable %_ptr_UniformConstant_63 UniformConstant
121         %66 = OpTypeImage %int 2D 0 0 0 1 Unknown
122         %67 = OpTypeSampledImage %66
123%_ptr_UniformConstant_67 = OpTypePointer UniformConstant %67
124     %itex2D = OpVariable %_ptr_UniformConstant_67 UniformConstant
125         %70 = OpTypeImage %int 3D 0 0 0 1 Unknown
126         %71 = OpTypeSampledImage %70
127%_ptr_UniformConstant_71 = OpTypePointer UniformConstant %71
128     %itex3D = OpVariable %_ptr_UniformConstant_71 UniformConstant
129         %74 = OpTypeImage %int Cube 0 0 0 1 Unknown
130         %75 = OpTypeSampledImage %74
131%_ptr_UniformConstant_75 = OpTypePointer UniformConstant %75
132   %itexCube = OpVariable %_ptr_UniformConstant_75 UniformConstant
133         %78 = OpTypeImage %int 2D 0 1 0 1 Unknown
134         %79 = OpTypeSampledImage %78
135%_ptr_UniformConstant_79 = OpTypePointer UniformConstant %79
136%itex2DArray = OpVariable %_ptr_UniformConstant_79 UniformConstant
137         %82 = OpTypeImage %uint 2D 0 0 0 1 Unknown
138         %83 = OpTypeSampledImage %82
139%_ptr_UniformConstant_83 = OpTypePointer UniformConstant %83
140     %utex2D = OpVariable %_ptr_UniformConstant_83 UniformConstant
141         %86 = OpTypeImage %uint 3D 0 0 0 1 Unknown
142         %87 = OpTypeSampledImage %86
143%_ptr_UniformConstant_87 = OpTypePointer UniformConstant %87
144     %utex3D = OpVariable %_ptr_UniformConstant_87 UniformConstant
145         %90 = OpTypeImage %uint Cube 0 0 0 1 Unknown
146         %91 = OpTypeSampledImage %90
147%_ptr_UniformConstant_91 = OpTypePointer UniformConstant %91
148   %utexCube = OpVariable %_ptr_UniformConstant_91 UniformConstant
149         %94 = OpTypeImage %uint 2D 0 1 0 1 Unknown
150         %95 = OpTypeSampledImage %94
151%_ptr_UniformConstant_95 = OpTypePointer UniformConstant %95
152%utex2DArray = OpVariable %_ptr_UniformConstant_95 UniformConstant
153      %tex3D = OpVariable %_ptr_UniformConstant_25 UniformConstant
154       %main = OpFunction %void None %3
155          %5 = OpLabel
156         %14 = OpLoad %11 %t2d
157         %18 = OpLoad %15 %s
158         %19 = OpSampledImage %11 %14 %18
159         %23 = OpImageSampleImplicitLod %v4float %19 %22
160               OpStore %color %23
161         %34 = OpAccessChain %_ptr_UniformConstant_25 %t3d %int_1
162         %35 = OpLoad %25 %34
163         %40 = OpAccessChain %_ptr_UniformConstant_15 %sA %int_2
164         %41 = OpLoad %15 %40
165         %42 = OpSampledImage %25 %35 %41
166         %45 = OpImageSampleImplicitLod %v4float %42 %44
167         %46 = OpLoad %v4float %color
168         %47 = OpFAdd %v4float %46 %45
169               OpStore %color %47
170         %48 = OpLoad %11 %t2d
171         %49 = OpLoad %15 %s
172         %50 = OpSampledImage %11 %48 %49
173         %51 = OpImageSampleImplicitLod %v4float %50 %22
174         %52 = OpLoad %v4float %color
175         %53 = OpFAdd %v4float %52 %51
176               OpStore %color %53
177               OpReturn
178               OpFunctionEnd
179