1// GENERATED FILE - DO NOT EDIT.
2// Generated by gen_blit11helper.py.
3//
4// Copyright 2018 The ANGLE Project Authors. All rights reserved.
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7//
8// Blit11Helper_autogen.inc:
9//   Defines and retrieves blitshaders for the D3D11 backend.
10
11namespace
12{
13// Include inline shaders in the anonymous namespace to make sure no symbols are exported
14#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
15#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h"
16#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h"
17#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h"
18#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrougha2d11ps.h"
19#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h"
20#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h"
21#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h"
22#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h"
23#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h"
24#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h"
25#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h"
26#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h"
27#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h"
28#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h"
29#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_2d_ps.h"
30#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_2d_ps.h"
31#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_2d_ps.h"
32#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_2d_ps.h"
33#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgba_2d_ps.h"
34#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgba_2d_ps.h"
35#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgba_2d_ps.h"
36#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgb_2d_ps.h"
37#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgb_2d_ps.h"
38#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgb_2d_ps.h"
39#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_luma_2d_ps.h"
40#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_luma_2d_ps.h"
41#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_lumaalpha_2d_ps.h"
42#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_lumaalpha_2d_ps.h"
43#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d_4444_11ps.h"
44#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_4444_2d_ps.h"
45#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_2d_ps.h"
46#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d_565_11ps.h"
47#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_565_2d_ps.h"
48#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_565_2d_ps.h"
49#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d_5551_11ps.h"
50#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_5551_2d_ps.h"
51#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_2d_ps.h"
52#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h"
53#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h"
54#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h"
55#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h"
56#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h"
57#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h"
58#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h"
59#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h"
60#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h"
61#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h"
62#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h"
63#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h"
64#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h"
65#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h"
66#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_3d_ps.h"
67#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_3d_ps.h"
68#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_3d_ps.h"
69#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_3d_ps.h"
70#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgba_3d_ps.h"
71#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgba_3d_ps.h"
72#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgba_3d_ps.h"
73#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgb_3d_ps.h"
74#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgb_3d_ps.h"
75#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgb_3d_ps.h"
76#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgba_3d_ps.h"
77#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgba_3d_ps.h"
78#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgba_3d_ps.h"
79#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgb_3d_ps.h"
80#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgb_3d_ps.h"
81#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgb_3d_ps.h"
82#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_luma_3d_ps.h"
83#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_luma_3d_ps.h"
84#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_lumaalpha_3d_ps.h"
85#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_lumaalpha_3d_ps.h"
86#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d_4444_11ps.h"
87#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_4444_3d_ps.h"
88#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_3d_ps.h"
89#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d_565_11ps.h"
90#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_565_3d_ps.h"
91#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_565_3d_ps.h"
92#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d_5551_11ps.h"
93#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_5551_3d_ps.h"
94#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_3d_ps.h"
95#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darray11ps.h"
96#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darray11ps.h"
97#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2darray11ps.h"
98#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2darray11ps.h"
99#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2darray11ps.h"
100#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2darray11ps.h"
101#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darrayui11ps.h"
102#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darrayi11ps.h"
103#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darrayui11ps.h"
104#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darrayi11ps.h"
105#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2darrayui11ps.h"
106#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2darrayi11ps.h"
107#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2darrayui11ps.h"
108#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2darrayi11ps.h"
109#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_2darray_ps.h"
110#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_2darray_ps.h"
111#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_2darray_ps.h"
112#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_2darray_ps.h"
113#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgba_2darray_ps.h"
114#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgba_2darray_ps.h"
115#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgba_2darray_ps.h"
116#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgb_2darray_ps.h"
117#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgb_2darray_ps.h"
118#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgb_2darray_ps.h"
119#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgba_2darray_ps.h"
120#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgba_2darray_ps.h"
121#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgba_2darray_ps.h"
122#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgb_2darray_ps.h"
123#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgb_2darray_ps.h"
124#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgb_2darray_ps.h"
125#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_luma_2darray_ps.h"
126#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_luma_2darray_ps.h"
127#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_lumaalpha_2darray_ps.h"
128#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_lumaalpha_2darray_ps.h"
129#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darray_4444_11ps.h"
130#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_4444_2darray_ps.h"
131#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_2darray_ps.h"
132#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darray_565_11ps.h"
133#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_565_2darray_ps.h"
134#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_565_2darray_ps.h"
135#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darray_5551_11ps.h"
136#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_5551_2darray_ps.h"
137#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_2darray_ps.h"
138} // namespace
139
140enum Blit11::BlitShaderOperation : unsigned int
141{
142    RGBAF,
143    BGRAF,
144    RGBF,
145    RGF,
146    RF,
147    ALPHA,
148    LUMA,
149    LUMAALPHA,
150    RGBAUI,
151    RGBAI,
152    RGBUI,
153    RGBI,
154    RGUI,
155    RGI,
156    RUI,
157    RI,
158    RGBAF_PREMULTIPLY,
159    RGBAF_UNMULTIPLY,
160    RGBF_PREMULTIPLY,
161    RGBF_UNMULTIPLY,
162    RGBAF_TOUI,
163    RGBAF_TOUI_PREMULTIPLY,
164    RGBAF_TOUI_UNMULTIPLY,
165    RGBF_TOUI,
166    RGBF_TOUI_PREMULTIPLY,
167    RGBF_TOUI_UNMULTIPLY,
168    RGBAF_TOI,
169    RGBAF_TOI_PREMULTIPLY,
170    RGBAF_TOI_UNMULTIPLY,
171    RGBF_TOI,
172    RGBF_TOI_PREMULTIPLY,
173    RGBF_TOI_UNMULTIPLY,
174    LUMAF_PREMULTIPLY,
175    LUMAF_UNMULTIPLY,
176    LUMAALPHAF_PREMULTIPLY,
177    LUMAALPHAF_UNMULTIPLY,
178    RGBAF_4444,
179    RGBAF_4444_PREMULTIPLY,
180    RGBAF_4444_UNMULTIPLY,
181    RGBF_565,
182    RGBF_565_PREMULTIPLY,
183    RGBF_565_UNMULTIPLY,
184    RGBAF_5551,
185    RGBAF_5551_PREMULTIPLY,
186    RGBAF_5551_UNMULTIPLY,
187    OPERATION_INVALID
188};
189
190enum Blit11::BlitShaderType : unsigned int
191{
192    BLITSHADER_2D_RGBAF,
193    BLITSHADER_2D_BGRAF,
194    BLITSHADER_2D_RGBF,
195    BLITSHADER_2D_RGF,
196    BLITSHADER_2D_RF,
197    BLITSHADER_2D_ALPHA,
198    BLITSHADER_2D_LUMA,
199    BLITSHADER_2D_LUMAALPHA,
200    BLITSHADER_2D_RGBAUI,
201    BLITSHADER_2D_RGBAI,
202    BLITSHADER_2D_RGBUI,
203    BLITSHADER_2D_RGBI,
204    BLITSHADER_2D_RGUI,
205    BLITSHADER_2D_RGI,
206    BLITSHADER_2D_RUI,
207    BLITSHADER_2D_RI,
208    BLITSHADER_2D_RGBAF_PREMULTIPLY,
209    BLITSHADER_2D_RGBAF_UNMULTIPLY,
210    BLITSHADER_2D_RGBF_PREMULTIPLY,
211    BLITSHADER_2D_RGBF_UNMULTIPLY,
212    BLITSHADER_2D_RGBAF_TOUI,
213    BLITSHADER_2D_RGBAF_TOUI_PREMULTIPLY,
214    BLITSHADER_2D_RGBAF_TOUI_UNMULTIPLY,
215    BLITSHADER_2D_RGBF_TOUI,
216    BLITSHADER_2D_RGBF_TOUI_PREMULTIPLY,
217    BLITSHADER_2D_RGBF_TOUI_UNMULTIPLY,
218    BLITSHADER_2D_LUMAF_PREMULTIPLY,
219    BLITSHADER_2D_LUMAF_UNMULTIPLY,
220    BLITSHADER_2D_LUMAALPHAF_PREMULTIPLY,
221    BLITSHADER_2D_LUMAALPHAF_UNMULTIPLY,
222    BLITSHADER_2D_RGBAF_4444,
223    BLITSHADER_2D_RGBAF_4444_PREMULTIPLY,
224    BLITSHADER_2D_RGBAF_4444_UNMULTIPLY,
225    BLITSHADER_2D_RGBF_565,
226    BLITSHADER_2D_RGBF_565_PREMULTIPLY,
227    BLITSHADER_2D_RGBF_565_UNMULTIPLY,
228    BLITSHADER_2D_RGBAF_5551,
229    BLITSHADER_2D_RGBAF_5551_PREMULTIPLY,
230    BLITSHADER_2D_RGBAF_5551_UNMULTIPLY,
231    BLITSHADER_3D_RGBAF,
232    BLITSHADER_3D_BGRAF,
233    BLITSHADER_3D_RGBF,
234    BLITSHADER_3D_RGF,
235    BLITSHADER_3D_RF,
236    BLITSHADER_3D_ALPHA,
237    BLITSHADER_3D_LUMA,
238    BLITSHADER_3D_LUMAALPHA,
239    BLITSHADER_3D_RGBAUI,
240    BLITSHADER_3D_RGBAI,
241    BLITSHADER_3D_RGBUI,
242    BLITSHADER_3D_RGBI,
243    BLITSHADER_3D_RGUI,
244    BLITSHADER_3D_RGI,
245    BLITSHADER_3D_RUI,
246    BLITSHADER_3D_RI,
247    BLITSHADER_3D_RGBAF_PREMULTIPLY,
248    BLITSHADER_3D_RGBAF_UNMULTIPLY,
249    BLITSHADER_3D_RGBF_PREMULTIPLY,
250    BLITSHADER_3D_RGBF_UNMULTIPLY,
251    BLITSHADER_3D_RGBAF_TOUI,
252    BLITSHADER_3D_RGBAF_TOUI_PREMULTIPLY,
253    BLITSHADER_3D_RGBAF_TOUI_UNMULTIPLY,
254    BLITSHADER_3D_RGBF_TOUI,
255    BLITSHADER_3D_RGBF_TOUI_PREMULTIPLY,
256    BLITSHADER_3D_RGBF_TOUI_UNMULTIPLY,
257    BLITSHADER_3D_RGBAF_TOI,
258    BLITSHADER_3D_RGBAF_TOI_PREMULTIPLY,
259    BLITSHADER_3D_RGBAF_TOI_UNMULTIPLY,
260    BLITSHADER_3D_RGBF_TOI,
261    BLITSHADER_3D_RGBF_TOI_PREMULTIPLY,
262    BLITSHADER_3D_RGBF_TOI_UNMULTIPLY,
263    BLITSHADER_3D_LUMAF_PREMULTIPLY,
264    BLITSHADER_3D_LUMAF_UNMULTIPLY,
265    BLITSHADER_3D_LUMAALPHAF_PREMULTIPLY,
266    BLITSHADER_3D_LUMAALPHAF_UNMULTIPLY,
267    BLITSHADER_3D_RGBAF_4444,
268    BLITSHADER_3D_RGBAF_4444_PREMULTIPLY,
269    BLITSHADER_3D_RGBAF_4444_UNMULTIPLY,
270    BLITSHADER_3D_RGBF_565,
271    BLITSHADER_3D_RGBF_565_PREMULTIPLY,
272    BLITSHADER_3D_RGBF_565_UNMULTIPLY,
273    BLITSHADER_3D_RGBAF_5551,
274    BLITSHADER_3D_RGBAF_5551_PREMULTIPLY,
275    BLITSHADER_3D_RGBAF_5551_UNMULTIPLY,
276    BLITSHADER_2DARRAY_RGBAF,
277    BLITSHADER_2DARRAY_BGRAF,
278    BLITSHADER_2DARRAY_RGBF,
279    BLITSHADER_2DARRAY_RGF,
280    BLITSHADER_2DARRAY_RF,
281    BLITSHADER_2DARRAY_ALPHA,
282    BLITSHADER_2DARRAY_LUMA,
283    BLITSHADER_2DARRAY_LUMAALPHA,
284    BLITSHADER_2DARRAY_RGBAUI,
285    BLITSHADER_2DARRAY_RGBAI,
286    BLITSHADER_2DARRAY_RGBUI,
287    BLITSHADER_2DARRAY_RGBI,
288    BLITSHADER_2DARRAY_RGUI,
289    BLITSHADER_2DARRAY_RGI,
290    BLITSHADER_2DARRAY_RUI,
291    BLITSHADER_2DARRAY_RI,
292    BLITSHADER_2DARRAY_RGBAF_PREMULTIPLY,
293    BLITSHADER_2DARRAY_RGBAF_UNMULTIPLY,
294    BLITSHADER_2DARRAY_RGBF_PREMULTIPLY,
295    BLITSHADER_2DARRAY_RGBF_UNMULTIPLY,
296    BLITSHADER_2DARRAY_RGBAF_TOUI,
297    BLITSHADER_2DARRAY_RGBAF_TOUI_PREMULTIPLY,
298    BLITSHADER_2DARRAY_RGBAF_TOUI_UNMULTIPLY,
299    BLITSHADER_2DARRAY_RGBF_TOUI,
300    BLITSHADER_2DARRAY_RGBF_TOUI_PREMULTIPLY,
301    BLITSHADER_2DARRAY_RGBF_TOUI_UNMULTIPLY,
302    BLITSHADER_2DARRAY_RGBAF_TOI,
303    BLITSHADER_2DARRAY_RGBAF_TOI_PREMULTIPLY,
304    BLITSHADER_2DARRAY_RGBAF_TOI_UNMULTIPLY,
305    BLITSHADER_2DARRAY_RGBF_TOI,
306    BLITSHADER_2DARRAY_RGBF_TOI_PREMULTIPLY,
307    BLITSHADER_2DARRAY_RGBF_TOI_UNMULTIPLY,
308    BLITSHADER_2DARRAY_LUMAF_PREMULTIPLY,
309    BLITSHADER_2DARRAY_LUMAF_UNMULTIPLY,
310    BLITSHADER_2DARRAY_LUMAALPHAF_PREMULTIPLY,
311    BLITSHADER_2DARRAY_LUMAALPHAF_UNMULTIPLY,
312    BLITSHADER_2DARRAY_RGBAF_4444,
313    BLITSHADER_2DARRAY_RGBAF_4444_PREMULTIPLY,
314    BLITSHADER_2DARRAY_RGBAF_4444_UNMULTIPLY,
315    BLITSHADER_2DARRAY_RGBF_565,
316    BLITSHADER_2DARRAY_RGBF_565_PREMULTIPLY,
317    BLITSHADER_2DARRAY_RGBF_565_UNMULTIPLY,
318    BLITSHADER_2DARRAY_RGBAF_5551,
319    BLITSHADER_2DARRAY_RGBAF_5551_PREMULTIPLY,
320    BLITSHADER_2DARRAY_RGBAF_5551_UNMULTIPLY,
321    BLITSHADER_INVALID
322};
323
324Blit11::BlitShaderType Blit11::getBlitShaderType(BlitShaderOperation operation, ShaderDimension dimension)
325{
326    switch(operation)
327    {
328        case RGBAF:
329            switch (dimension)
330            {
331                case SHADER_2D:
332                    return BLITSHADER_2D_RGBAF;
333                case SHADER_3D:
334                    return BLITSHADER_3D_RGBAF;
335                case SHADER_2DARRAY:
336                    return BLITSHADER_2DARRAY_RGBAF;
337                default:
338                    UNREACHABLE();
339                    return BLITSHADER_INVALID;
340            }
341        case BGRAF:
342            switch (dimension)
343            {
344                case SHADER_2D:
345                    return BLITSHADER_2D_BGRAF;
346                case SHADER_3D:
347                    return BLITSHADER_3D_BGRAF;
348                case SHADER_2DARRAY:
349                    return BLITSHADER_2DARRAY_BGRAF;
350                default:
351                    UNREACHABLE();
352                    return BLITSHADER_INVALID;
353            }
354        case RGBF:
355            switch (dimension)
356            {
357                case SHADER_2D:
358                    return BLITSHADER_2D_RGBF;
359                case SHADER_3D:
360                    return BLITSHADER_3D_RGBF;
361                case SHADER_2DARRAY:
362                    return BLITSHADER_2DARRAY_RGBF;
363                default:
364                    UNREACHABLE();
365                    return BLITSHADER_INVALID;
366            }
367        case RGF:
368            switch (dimension)
369            {
370                case SHADER_2D:
371                    return BLITSHADER_2D_RGF;
372                case SHADER_3D:
373                    return BLITSHADER_3D_RGF;
374                case SHADER_2DARRAY:
375                    return BLITSHADER_2DARRAY_RGF;
376                default:
377                    UNREACHABLE();
378                    return BLITSHADER_INVALID;
379            }
380        case RF:
381            switch (dimension)
382            {
383                case SHADER_2D:
384                    return BLITSHADER_2D_RF;
385                case SHADER_3D:
386                    return BLITSHADER_3D_RF;
387                case SHADER_2DARRAY:
388                    return BLITSHADER_2DARRAY_RF;
389                default:
390                    UNREACHABLE();
391                    return BLITSHADER_INVALID;
392            }
393        case ALPHA:
394            switch (dimension)
395            {
396                case SHADER_2D:
397                    return BLITSHADER_2D_ALPHA;
398                case SHADER_3D:
399                    return BLITSHADER_3D_ALPHA;
400                case SHADER_2DARRAY:
401                    return BLITSHADER_2DARRAY_ALPHA;
402                default:
403                    UNREACHABLE();
404                    return BLITSHADER_INVALID;
405            }
406        case LUMA:
407            switch (dimension)
408            {
409                case SHADER_2D:
410                    return BLITSHADER_2D_LUMA;
411                case SHADER_3D:
412                    return BLITSHADER_3D_LUMA;
413                case SHADER_2DARRAY:
414                    return BLITSHADER_2DARRAY_LUMA;
415                default:
416                    UNREACHABLE();
417                    return BLITSHADER_INVALID;
418            }
419        case LUMAALPHA:
420            switch (dimension)
421            {
422                case SHADER_2D:
423                    return BLITSHADER_2D_LUMAALPHA;
424                case SHADER_3D:
425                    return BLITSHADER_3D_LUMAALPHA;
426                case SHADER_2DARRAY:
427                    return BLITSHADER_2DARRAY_LUMAALPHA;
428                default:
429                    UNREACHABLE();
430                    return BLITSHADER_INVALID;
431            }
432        case RGBAUI:
433            switch (dimension)
434            {
435                case SHADER_2D:
436                    return BLITSHADER_2D_RGBAUI;
437                case SHADER_3D:
438                    return BLITSHADER_3D_RGBAUI;
439                case SHADER_2DARRAY:
440                    return BLITSHADER_2DARRAY_RGBAUI;
441                default:
442                    UNREACHABLE();
443                    return BLITSHADER_INVALID;
444            }
445        case RGBAI:
446            switch (dimension)
447            {
448                case SHADER_2D:
449                    return BLITSHADER_2D_RGBAI;
450                case SHADER_3D:
451                    return BLITSHADER_3D_RGBAI;
452                case SHADER_2DARRAY:
453                    return BLITSHADER_2DARRAY_RGBAI;
454                default:
455                    UNREACHABLE();
456                    return BLITSHADER_INVALID;
457            }
458        case RGBUI:
459            switch (dimension)
460            {
461                case SHADER_2D:
462                    return BLITSHADER_2D_RGBUI;
463                case SHADER_3D:
464                    return BLITSHADER_3D_RGBUI;
465                case SHADER_2DARRAY:
466                    return BLITSHADER_2DARRAY_RGBUI;
467                default:
468                    UNREACHABLE();
469                    return BLITSHADER_INVALID;
470            }
471        case RGBI:
472            switch (dimension)
473            {
474                case SHADER_2D:
475                    return BLITSHADER_2D_RGBI;
476                case SHADER_3D:
477                    return BLITSHADER_3D_RGBI;
478                case SHADER_2DARRAY:
479                    return BLITSHADER_2DARRAY_RGBI;
480                default:
481                    UNREACHABLE();
482                    return BLITSHADER_INVALID;
483            }
484        case RGUI:
485            switch (dimension)
486            {
487                case SHADER_2D:
488                    return BLITSHADER_2D_RGUI;
489                case SHADER_3D:
490                    return BLITSHADER_3D_RGUI;
491                case SHADER_2DARRAY:
492                    return BLITSHADER_2DARRAY_RGUI;
493                default:
494                    UNREACHABLE();
495                    return BLITSHADER_INVALID;
496            }
497        case RGI:
498            switch (dimension)
499            {
500                case SHADER_2D:
501                    return BLITSHADER_2D_RGI;
502                case SHADER_3D:
503                    return BLITSHADER_3D_RGI;
504                case SHADER_2DARRAY:
505                    return BLITSHADER_2DARRAY_RGI;
506                default:
507                    UNREACHABLE();
508                    return BLITSHADER_INVALID;
509            }
510        case RUI:
511            switch (dimension)
512            {
513                case SHADER_2D:
514                    return BLITSHADER_2D_RUI;
515                case SHADER_3D:
516                    return BLITSHADER_3D_RUI;
517                case SHADER_2DARRAY:
518                    return BLITSHADER_2DARRAY_RUI;
519                default:
520                    UNREACHABLE();
521                    return BLITSHADER_INVALID;
522            }
523        case RI:
524            switch (dimension)
525            {
526                case SHADER_2D:
527                    return BLITSHADER_2D_RI;
528                case SHADER_3D:
529                    return BLITSHADER_3D_RI;
530                case SHADER_2DARRAY:
531                    return BLITSHADER_2DARRAY_RI;
532                default:
533                    UNREACHABLE();
534                    return BLITSHADER_INVALID;
535            }
536        case RGBAF_PREMULTIPLY:
537            switch (dimension)
538            {
539                case SHADER_2D:
540                    return BLITSHADER_2D_RGBAF_PREMULTIPLY;
541                case SHADER_3D:
542                    return BLITSHADER_3D_RGBAF_PREMULTIPLY;
543                case SHADER_2DARRAY:
544                    return BLITSHADER_2DARRAY_RGBAF_PREMULTIPLY;
545                default:
546                    UNREACHABLE();
547                    return BLITSHADER_INVALID;
548            }
549        case RGBAF_UNMULTIPLY:
550            switch (dimension)
551            {
552                case SHADER_2D:
553                    return BLITSHADER_2D_RGBAF_UNMULTIPLY;
554                case SHADER_3D:
555                    return BLITSHADER_3D_RGBAF_UNMULTIPLY;
556                case SHADER_2DARRAY:
557                    return BLITSHADER_2DARRAY_RGBAF_UNMULTIPLY;
558                default:
559                    UNREACHABLE();
560                    return BLITSHADER_INVALID;
561            }
562        case RGBF_PREMULTIPLY:
563            switch (dimension)
564            {
565                case SHADER_2D:
566                    return BLITSHADER_2D_RGBF_PREMULTIPLY;
567                case SHADER_3D:
568                    return BLITSHADER_3D_RGBF_PREMULTIPLY;
569                case SHADER_2DARRAY:
570                    return BLITSHADER_2DARRAY_RGBF_PREMULTIPLY;
571                default:
572                    UNREACHABLE();
573                    return BLITSHADER_INVALID;
574            }
575        case RGBF_UNMULTIPLY:
576            switch (dimension)
577            {
578                case SHADER_2D:
579                    return BLITSHADER_2D_RGBF_UNMULTIPLY;
580                case SHADER_3D:
581                    return BLITSHADER_3D_RGBF_UNMULTIPLY;
582                case SHADER_2DARRAY:
583                    return BLITSHADER_2DARRAY_RGBF_UNMULTIPLY;
584                default:
585                    UNREACHABLE();
586                    return BLITSHADER_INVALID;
587            }
588        case RGBAF_TOUI:
589            switch (dimension)
590            {
591                case SHADER_2D:
592                    return BLITSHADER_2D_RGBAF_TOUI;
593                case SHADER_3D:
594                    return BLITSHADER_3D_RGBAF_TOUI;
595                case SHADER_2DARRAY:
596                    return BLITSHADER_2DARRAY_RGBAF_TOUI;
597                default:
598                    UNREACHABLE();
599                    return BLITSHADER_INVALID;
600            }
601        case RGBAF_TOUI_PREMULTIPLY:
602            switch (dimension)
603            {
604                case SHADER_2D:
605                    return BLITSHADER_2D_RGBAF_TOUI_PREMULTIPLY;
606                case SHADER_3D:
607                    return BLITSHADER_3D_RGBAF_TOUI_PREMULTIPLY;
608                case SHADER_2DARRAY:
609                    return BLITSHADER_2DARRAY_RGBAF_TOUI_PREMULTIPLY;
610                default:
611                    UNREACHABLE();
612                    return BLITSHADER_INVALID;
613            }
614        case RGBAF_TOUI_UNMULTIPLY:
615            switch (dimension)
616            {
617                case SHADER_2D:
618                    return BLITSHADER_2D_RGBAF_TOUI_UNMULTIPLY;
619                case SHADER_3D:
620                    return BLITSHADER_3D_RGBAF_TOUI_UNMULTIPLY;
621                case SHADER_2DARRAY:
622                    return BLITSHADER_2DARRAY_RGBAF_TOUI_UNMULTIPLY;
623                default:
624                    UNREACHABLE();
625                    return BLITSHADER_INVALID;
626            }
627        case RGBF_TOUI:
628            switch (dimension)
629            {
630                case SHADER_2D:
631                    return BLITSHADER_2D_RGBF_TOUI;
632                case SHADER_3D:
633                    return BLITSHADER_3D_RGBF_TOUI;
634                case SHADER_2DARRAY:
635                    return BLITSHADER_2DARRAY_RGBF_TOUI;
636                default:
637                    UNREACHABLE();
638                    return BLITSHADER_INVALID;
639            }
640        case RGBF_TOUI_PREMULTIPLY:
641            switch (dimension)
642            {
643                case SHADER_2D:
644                    return BLITSHADER_2D_RGBF_TOUI_PREMULTIPLY;
645                case SHADER_3D:
646                    return BLITSHADER_3D_RGBF_TOUI_PREMULTIPLY;
647                case SHADER_2DARRAY:
648                    return BLITSHADER_2DARRAY_RGBF_TOUI_PREMULTIPLY;
649                default:
650                    UNREACHABLE();
651                    return BLITSHADER_INVALID;
652            }
653        case RGBF_TOUI_UNMULTIPLY:
654            switch (dimension)
655            {
656                case SHADER_2D:
657                    return BLITSHADER_2D_RGBF_TOUI_UNMULTIPLY;
658                case SHADER_3D:
659                    return BLITSHADER_3D_RGBF_TOUI_UNMULTIPLY;
660                case SHADER_2DARRAY:
661                    return BLITSHADER_2DARRAY_RGBF_TOUI_UNMULTIPLY;
662                default:
663                    UNREACHABLE();
664                    return BLITSHADER_INVALID;
665            }
666        case RGBAF_TOI:
667            switch (dimension)
668            {
669                case SHADER_2D:
670                    return BLITSHADER_INVALID;
671                case SHADER_3D:
672                    return BLITSHADER_3D_RGBAF_TOI;
673                case SHADER_2DARRAY:
674                    return BLITSHADER_2DARRAY_RGBAF_TOI;
675                default:
676                    UNREACHABLE();
677                    return BLITSHADER_INVALID;
678            }
679        case RGBAF_TOI_PREMULTIPLY:
680            switch (dimension)
681            {
682                case SHADER_2D:
683                    return BLITSHADER_INVALID;
684                case SHADER_3D:
685                    return BLITSHADER_3D_RGBAF_TOI_PREMULTIPLY;
686                case SHADER_2DARRAY:
687                    return BLITSHADER_2DARRAY_RGBAF_TOI_PREMULTIPLY;
688                default:
689                    UNREACHABLE();
690                    return BLITSHADER_INVALID;
691            }
692        case RGBAF_TOI_UNMULTIPLY:
693            switch (dimension)
694            {
695                case SHADER_2D:
696                    return BLITSHADER_INVALID;
697                case SHADER_3D:
698                    return BLITSHADER_3D_RGBAF_TOI_UNMULTIPLY;
699                case SHADER_2DARRAY:
700                    return BLITSHADER_2DARRAY_RGBAF_TOI_UNMULTIPLY;
701                default:
702                    UNREACHABLE();
703                    return BLITSHADER_INVALID;
704            }
705        case RGBF_TOI:
706            switch (dimension)
707            {
708                case SHADER_2D:
709                    return BLITSHADER_INVALID;
710                case SHADER_3D:
711                    return BLITSHADER_3D_RGBF_TOI;
712                case SHADER_2DARRAY:
713                    return BLITSHADER_2DARRAY_RGBF_TOI;
714                default:
715                    UNREACHABLE();
716                    return BLITSHADER_INVALID;
717            }
718        case RGBF_TOI_PREMULTIPLY:
719            switch (dimension)
720            {
721                case SHADER_2D:
722                    return BLITSHADER_INVALID;
723                case SHADER_3D:
724                    return BLITSHADER_3D_RGBF_TOI_PREMULTIPLY;
725                case SHADER_2DARRAY:
726                    return BLITSHADER_2DARRAY_RGBF_TOI_PREMULTIPLY;
727                default:
728                    UNREACHABLE();
729                    return BLITSHADER_INVALID;
730            }
731        case RGBF_TOI_UNMULTIPLY:
732            switch (dimension)
733            {
734                case SHADER_2D:
735                    return BLITSHADER_INVALID;
736                case SHADER_3D:
737                    return BLITSHADER_3D_RGBF_TOI_UNMULTIPLY;
738                case SHADER_2DARRAY:
739                    return BLITSHADER_2DARRAY_RGBF_TOI_UNMULTIPLY;
740                default:
741                    UNREACHABLE();
742                    return BLITSHADER_INVALID;
743            }
744        case LUMAF_PREMULTIPLY:
745            switch (dimension)
746            {
747                case SHADER_2D:
748                    return BLITSHADER_2D_LUMAF_PREMULTIPLY;
749                case SHADER_3D:
750                    return BLITSHADER_3D_LUMAF_PREMULTIPLY;
751                case SHADER_2DARRAY:
752                    return BLITSHADER_2DARRAY_LUMAF_PREMULTIPLY;
753                default:
754                    UNREACHABLE();
755                    return BLITSHADER_INVALID;
756            }
757        case LUMAF_UNMULTIPLY:
758            switch (dimension)
759            {
760                case SHADER_2D:
761                    return BLITSHADER_2D_LUMAF_UNMULTIPLY;
762                case SHADER_3D:
763                    return BLITSHADER_3D_LUMAF_UNMULTIPLY;
764                case SHADER_2DARRAY:
765                    return BLITSHADER_2DARRAY_LUMAF_UNMULTIPLY;
766                default:
767                    UNREACHABLE();
768                    return BLITSHADER_INVALID;
769            }
770        case LUMAALPHAF_PREMULTIPLY:
771            switch (dimension)
772            {
773                case SHADER_2D:
774                    return BLITSHADER_2D_LUMAALPHAF_PREMULTIPLY;
775                case SHADER_3D:
776                    return BLITSHADER_3D_LUMAALPHAF_PREMULTIPLY;
777                case SHADER_2DARRAY:
778                    return BLITSHADER_2DARRAY_LUMAALPHAF_PREMULTIPLY;
779                default:
780                    UNREACHABLE();
781                    return BLITSHADER_INVALID;
782            }
783        case LUMAALPHAF_UNMULTIPLY:
784            switch (dimension)
785            {
786                case SHADER_2D:
787                    return BLITSHADER_2D_LUMAALPHAF_UNMULTIPLY;
788                case SHADER_3D:
789                    return BLITSHADER_3D_LUMAALPHAF_UNMULTIPLY;
790                case SHADER_2DARRAY:
791                    return BLITSHADER_2DARRAY_LUMAALPHAF_UNMULTIPLY;
792                default:
793                    UNREACHABLE();
794                    return BLITSHADER_INVALID;
795            }
796        case RGBAF_4444:
797            switch (dimension)
798            {
799                case SHADER_2D:
800                    return BLITSHADER_2D_RGBAF_4444;
801                case SHADER_3D:
802                    return BLITSHADER_3D_RGBAF_4444;
803                case SHADER_2DARRAY:
804                    return BLITSHADER_2DARRAY_RGBAF_4444;
805                default:
806                    UNREACHABLE();
807                    return BLITSHADER_INVALID;
808            }
809        case RGBAF_4444_PREMULTIPLY:
810            switch (dimension)
811            {
812                case SHADER_2D:
813                    return BLITSHADER_2D_RGBAF_4444_PREMULTIPLY;
814                case SHADER_3D:
815                    return BLITSHADER_3D_RGBAF_4444_PREMULTIPLY;
816                case SHADER_2DARRAY:
817                    return BLITSHADER_2DARRAY_RGBAF_4444_PREMULTIPLY;
818                default:
819                    UNREACHABLE();
820                    return BLITSHADER_INVALID;
821            }
822        case RGBAF_4444_UNMULTIPLY:
823            switch (dimension)
824            {
825                case SHADER_2D:
826                    return BLITSHADER_2D_RGBAF_4444_UNMULTIPLY;
827                case SHADER_3D:
828                    return BLITSHADER_3D_RGBAF_4444_UNMULTIPLY;
829                case SHADER_2DARRAY:
830                    return BLITSHADER_2DARRAY_RGBAF_4444_UNMULTIPLY;
831                default:
832                    UNREACHABLE();
833                    return BLITSHADER_INVALID;
834            }
835        case RGBF_565:
836            switch (dimension)
837            {
838                case SHADER_2D:
839                    return BLITSHADER_2D_RGBF_565;
840                case SHADER_3D:
841                    return BLITSHADER_3D_RGBF_565;
842                case SHADER_2DARRAY:
843                    return BLITSHADER_2DARRAY_RGBF_565;
844                default:
845                    UNREACHABLE();
846                    return BLITSHADER_INVALID;
847            }
848        case RGBF_565_PREMULTIPLY:
849            switch (dimension)
850            {
851                case SHADER_2D:
852                    return BLITSHADER_2D_RGBF_565_PREMULTIPLY;
853                case SHADER_3D:
854                    return BLITSHADER_3D_RGBF_565_PREMULTIPLY;
855                case SHADER_2DARRAY:
856                    return BLITSHADER_2DARRAY_RGBF_565_PREMULTIPLY;
857                default:
858                    UNREACHABLE();
859                    return BLITSHADER_INVALID;
860            }
861        case RGBF_565_UNMULTIPLY:
862            switch (dimension)
863            {
864                case SHADER_2D:
865                    return BLITSHADER_2D_RGBF_565_UNMULTIPLY;
866                case SHADER_3D:
867                    return BLITSHADER_3D_RGBF_565_UNMULTIPLY;
868                case SHADER_2DARRAY:
869                    return BLITSHADER_2DARRAY_RGBF_565_UNMULTIPLY;
870                default:
871                    UNREACHABLE();
872                    return BLITSHADER_INVALID;
873            }
874        case RGBAF_5551:
875            switch (dimension)
876            {
877                case SHADER_2D:
878                    return BLITSHADER_2D_RGBAF_5551;
879                case SHADER_3D:
880                    return BLITSHADER_3D_RGBAF_5551;
881                case SHADER_2DARRAY:
882                    return BLITSHADER_2DARRAY_RGBAF_5551;
883                default:
884                    UNREACHABLE();
885                    return BLITSHADER_INVALID;
886            }
887        case RGBAF_5551_PREMULTIPLY:
888            switch (dimension)
889            {
890                case SHADER_2D:
891                    return BLITSHADER_2D_RGBAF_5551_PREMULTIPLY;
892                case SHADER_3D:
893                    return BLITSHADER_3D_RGBAF_5551_PREMULTIPLY;
894                case SHADER_2DARRAY:
895                    return BLITSHADER_2DARRAY_RGBAF_5551_PREMULTIPLY;
896                default:
897                    UNREACHABLE();
898                    return BLITSHADER_INVALID;
899            }
900        case RGBAF_5551_UNMULTIPLY:
901            switch (dimension)
902            {
903                case SHADER_2D:
904                    return BLITSHADER_2D_RGBAF_5551_UNMULTIPLY;
905                case SHADER_3D:
906                    return BLITSHADER_3D_RGBAF_5551_UNMULTIPLY;
907                case SHADER_2DARRAY:
908                    return BLITSHADER_2DARRAY_RGBAF_5551_UNMULTIPLY;
909                default:
910                    UNREACHABLE();
911                    return BLITSHADER_INVALID;
912            }
913        default:
914            UNREACHABLE();
915            return BLITSHADER_INVALID;
916    }
917}
918
919angle::Result Blit11::mapBlitShader(const gl::Context *context,
920                                    BlitShaderType blitShaderType)
921{
922    switch(blitShaderType)
923    {
924        case BLITSHADER_2D_RGBAF:
925            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
926                                         ShaderData(g_PS_PassthroughRGBA2D),
927                                         "Blit11 2D PassthroughRGBA2D pixel shader"));
928            break;
929        case BLITSHADER_2D_BGRAF:
930            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
931                                         ShaderData(g_PS_PassthroughRGBA2D),
932                                         "Blit11 2D PassthroughRGBA2D pixel shader"));
933            break;
934        case BLITSHADER_2D_RGBF:
935            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
936                                         ShaderData(g_PS_PassthroughRGB2D),
937                                         "Blit11 2D PassthroughRGB2D pixel shader"));
938            break;
939        case BLITSHADER_2D_RGF:
940            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
941                                         ShaderData(g_PS_PassthroughRG2D),
942                                         "Blit11 2D PassthroughRG2D pixel shader"));
943            break;
944        case BLITSHADER_2D_RF:
945            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
946                                         ShaderData(g_PS_PassthroughR2D),
947                                         "Blit11 2D PassthroughR2D pixel shader"));
948            break;
949        case BLITSHADER_2D_ALPHA:
950            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
951                                         ShaderData(g_PS_PassthroughA2D),
952                                         "Blit11 2D PassthroughA2D pixel shader"));
953            break;
954        case BLITSHADER_2D_LUMA:
955            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
956                                         ShaderData(g_PS_PassthroughLum2D),
957                                         "Blit11 2D PassthroughLum2D pixel shader"));
958            break;
959        case BLITSHADER_2D_LUMAALPHA:
960            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
961                                         ShaderData(g_PS_PassthroughLumAlpha2D),
962                                         "Blit11 2D PassthroughLumAlpha2D pixel shader"));
963            break;
964        case BLITSHADER_2D_RGBAUI:
965            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
966                                         ShaderData(g_PS_PassthroughRGBA2DUI),
967                                         "Blit11 2D PassthroughRGBA2DUI pixel shader"));
968            break;
969        case BLITSHADER_2D_RGBAI:
970            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
971                                         ShaderData(g_PS_PassthroughRGBA2DI),
972                                         "Blit11 2D PassthroughRGBA2DI pixel shader"));
973            break;
974        case BLITSHADER_2D_RGBUI:
975            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
976                                         ShaderData(g_PS_PassthroughRGB2DUI),
977                                         "Blit11 2D PassthroughRGB2DUI pixel shader"));
978            break;
979        case BLITSHADER_2D_RGBI:
980            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
981                                         ShaderData(g_PS_PassthroughRGB2DI),
982                                         "Blit11 2D PassthroughRGB2DI pixel shader"));
983            break;
984        case BLITSHADER_2D_RGUI:
985            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
986                                         ShaderData(g_PS_PassthroughRG2DUI),
987                                         "Blit11 2D PassthroughRG2DUI pixel shader"));
988            break;
989        case BLITSHADER_2D_RGI:
990            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
991                                         ShaderData(g_PS_PassthroughRG2DI),
992                                         "Blit11 2D PassthroughRG2DI pixel shader"));
993            break;
994        case BLITSHADER_2D_RUI:
995            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
996                                         ShaderData(g_PS_PassthroughR2DUI),
997                                         "Blit11 2D PassthroughR2DUI pixel shader"));
998            break;
999        case BLITSHADER_2D_RI:
1000            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1001                                         ShaderData(g_PS_PassthroughR2DI),
1002                                         "Blit11 2D PassthroughR2DI pixel shader"));
1003            break;
1004        case BLITSHADER_2D_RGBAF_PREMULTIPLY:
1005            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1006                                         ShaderData(g_PS_FtoF_PM_RGBA_2D),
1007                                         "Blit11 2D FtoF PM RGBA 2D pixel shader"));
1008            break;
1009        case BLITSHADER_2D_RGBAF_UNMULTIPLY:
1010            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1011                                         ShaderData(g_PS_FtoF_UM_RGBA_2D),
1012                                         "Blit11 2D FtoF UM RGBA 2D pixel shader"));
1013            break;
1014        case BLITSHADER_2D_RGBF_PREMULTIPLY:
1015            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1016                                         ShaderData(g_PS_FtoF_PM_RGB_2D),
1017                                         "Blit11 2D FtoF PM RGB 2D pixel shader"));
1018            break;
1019        case BLITSHADER_2D_RGBF_UNMULTIPLY:
1020            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1021                                         ShaderData(g_PS_FtoF_UM_RGB_2D),
1022                                         "Blit11 2D FtoF UM RGB 2D pixel shader"));
1023            break;
1024        case BLITSHADER_2D_RGBAF_TOUI:
1025            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1026                                         ShaderData(g_PS_FtoU_PT_RGBA_2D),
1027                                         "Blit11 2D FtoU PT RGBA 2D pixel shader"));
1028            break;
1029        case BLITSHADER_2D_RGBAF_TOUI_PREMULTIPLY:
1030            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1031                                         ShaderData(g_PS_FtoU_PM_RGBA_2D),
1032                                         "Blit11 2D FtoU PM RGBA 2D pixel shader"));
1033            break;
1034        case BLITSHADER_2D_RGBAF_TOUI_UNMULTIPLY:
1035            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1036                                         ShaderData(g_PS_FtoU_UM_RGBA_2D),
1037                                         "Blit11 2D FtoU UM RGBA 2D pixel shader"));
1038            break;
1039        case BLITSHADER_2D_RGBF_TOUI:
1040            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1041                                         ShaderData(g_PS_FtoU_PT_RGB_2D),
1042                                         "Blit11 2D FtoU PT RGB 2D pixel shader"));
1043            break;
1044        case BLITSHADER_2D_RGBF_TOUI_PREMULTIPLY:
1045            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1046                                         ShaderData(g_PS_FtoU_PM_RGB_2D),
1047                                         "Blit11 2D FtoU PM RGB 2D pixel shader"));
1048            break;
1049        case BLITSHADER_2D_RGBF_TOUI_UNMULTIPLY:
1050            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1051                                         ShaderData(g_PS_FtoU_UM_RGB_2D),
1052                                         "Blit11 2D FtoU UM RGB 2D pixel shader"));
1053            break;
1054        case BLITSHADER_2D_LUMAF_PREMULTIPLY:
1055            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1056                                         ShaderData(g_PS_FtoF_PM_LUMA_2D),
1057                                         "Blit11 2D FtoF PM LUMA 2D pixel shader"));
1058            break;
1059        case BLITSHADER_2D_LUMAF_UNMULTIPLY:
1060            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1061                                         ShaderData(g_PS_FtoF_UM_LUMA_2D),
1062                                         "Blit11 2D FtoF UM LUMA 2D pixel shader"));
1063            break;
1064        case BLITSHADER_2D_LUMAALPHAF_PREMULTIPLY:
1065            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1066                                         ShaderData(g_PS_FtoF_PM_LUMAALPHA_2D),
1067                                         "Blit11 2D FtoF PM LUMAALPHA 2D pixel shader"));
1068            break;
1069        case BLITSHADER_2D_LUMAALPHAF_UNMULTIPLY:
1070            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1071                                         ShaderData(g_PS_FtoF_UM_LUMAALPHA_2D),
1072                                         "Blit11 2D FtoF UM LUMAALPHA 2D pixel shader"));
1073            break;
1074        case BLITSHADER_2D_RGBAF_4444:
1075            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1076                                         ShaderData(g_PS_PassthroughRGBA2D_4444),
1077                                         "Blit11 2D PassthroughRGBA2D 4444 pixel shader"));
1078            break;
1079        case BLITSHADER_2D_RGBAF_4444_PREMULTIPLY:
1080            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1081                                         ShaderData(g_PS_FtoF_PM_RGBA_4444_2D),
1082                                         "Blit11 2D FtoF PM RGBA 4444 2D pixel shader"));
1083            break;
1084        case BLITSHADER_2D_RGBAF_4444_UNMULTIPLY:
1085            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1086                                         ShaderData(g_PS_FtoF_UM_RGBA_4444_2D),
1087                                         "Blit11 2D FtoF UM RGBA 4444 2D pixel shader"));
1088            break;
1089        case BLITSHADER_2D_RGBF_565:
1090            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1091                                         ShaderData(g_PS_PassthroughRGB2D_565),
1092                                         "Blit11 2D PassthroughRGB2D 565 pixel shader"));
1093            break;
1094        case BLITSHADER_2D_RGBF_565_PREMULTIPLY:
1095            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1096                                         ShaderData(g_PS_FtoF_PM_RGB_565_2D),
1097                                         "Blit11 2D FtoF PM RGB 565 2D pixel shader"));
1098            break;
1099        case BLITSHADER_2D_RGBF_565_UNMULTIPLY:
1100            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1101                                         ShaderData(g_PS_FtoF_UM_RGB_565_2D),
1102                                         "Blit11 2D FtoF UM RGB 565 2D pixel shader"));
1103            break;
1104        case BLITSHADER_2D_RGBAF_5551:
1105            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1106                                         ShaderData(g_PS_PassthroughRGBA2D_5551),
1107                                         "Blit11 2D PassthroughRGBA2D 5551 pixel shader"));
1108            break;
1109        case BLITSHADER_2D_RGBAF_5551_PREMULTIPLY:
1110            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1111                                         ShaderData(g_PS_FtoF_PM_RGBA_5551_2D),
1112                                         "Blit11 2D FtoF PM RGBA 5551 2D pixel shader"));
1113            break;
1114        case BLITSHADER_2D_RGBAF_5551_UNMULTIPLY:
1115            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2D,
1116                                         ShaderData(g_PS_FtoF_UM_RGBA_5551_2D),
1117                                         "Blit11 2D FtoF UM RGBA 5551 2D pixel shader"));
1118            break;
1119        case BLITSHADER_3D_RGBAF:
1120            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1121                                         ShaderData(g_PS_PassthroughRGBA3D),
1122                                         "Blit11 3D PassthroughRGBA3D pixel shader"));
1123            break;
1124        case BLITSHADER_3D_BGRAF:
1125            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1126                                         ShaderData(g_PS_PassthroughRGBA3D),
1127                                         "Blit11 3D PassthroughRGBA3D pixel shader"));
1128            break;
1129        case BLITSHADER_3D_RGBF:
1130            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1131                                         ShaderData(g_PS_PassthroughRGB3D),
1132                                         "Blit11 3D PassthroughRGB3D pixel shader"));
1133            break;
1134        case BLITSHADER_3D_RGF:
1135            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1136                                         ShaderData(g_PS_PassthroughRG3D),
1137                                         "Blit11 3D PassthroughRG3D pixel shader"));
1138            break;
1139        case BLITSHADER_3D_RF:
1140            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1141                                         ShaderData(g_PS_PassthroughR3D),
1142                                         "Blit11 3D PassthroughR3D pixel shader"));
1143            break;
1144        case BLITSHADER_3D_ALPHA:
1145            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1146                                         ShaderData(g_PS_PassthroughRGBA3D),
1147                                         "Blit11 3D PassthroughRGBA3D pixel shader"));
1148            break;
1149        case BLITSHADER_3D_LUMA:
1150            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1151                                         ShaderData(g_PS_PassthroughLum3D),
1152                                         "Blit11 3D PassthroughLum3D pixel shader"));
1153            break;
1154        case BLITSHADER_3D_LUMAALPHA:
1155            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1156                                         ShaderData(g_PS_PassthroughLumAlpha3D),
1157                                         "Blit11 3D PassthroughLumAlpha3D pixel shader"));
1158            break;
1159        case BLITSHADER_3D_RGBAUI:
1160            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1161                                         ShaderData(g_PS_PassthroughRGBA3DUI),
1162                                         "Blit11 3D PassthroughRGBA3DUI pixel shader"));
1163            break;
1164        case BLITSHADER_3D_RGBAI:
1165            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1166                                         ShaderData(g_PS_PassthroughRGBA3DI),
1167                                         "Blit11 3D PassthroughRGBA3DI pixel shader"));
1168            break;
1169        case BLITSHADER_3D_RGBUI:
1170            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1171                                         ShaderData(g_PS_PassthroughRGB3DUI),
1172                                         "Blit11 3D PassthroughRGB3DUI pixel shader"));
1173            break;
1174        case BLITSHADER_3D_RGBI:
1175            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1176                                         ShaderData(g_PS_PassthroughRGB3DI),
1177                                         "Blit11 3D PassthroughRGB3DI pixel shader"));
1178            break;
1179        case BLITSHADER_3D_RGUI:
1180            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1181                                         ShaderData(g_PS_PassthroughRG3DUI),
1182                                         "Blit11 3D PassthroughRG3DUI pixel shader"));
1183            break;
1184        case BLITSHADER_3D_RGI:
1185            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1186                                         ShaderData(g_PS_PassthroughRG3DI),
1187                                         "Blit11 3D PassthroughRG3DI pixel shader"));
1188            break;
1189        case BLITSHADER_3D_RUI:
1190            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1191                                         ShaderData(g_PS_PassthroughR3DUI),
1192                                         "Blit11 3D PassthroughR3DUI pixel shader"));
1193            break;
1194        case BLITSHADER_3D_RI:
1195            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1196                                         ShaderData(g_PS_PassthroughR3DI),
1197                                         "Blit11 3D PassthroughR3DI pixel shader"));
1198            break;
1199        case BLITSHADER_3D_RGBAF_PREMULTIPLY:
1200            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1201                                         ShaderData(g_PS_FtoF_PM_RGBA_3D),
1202                                         "Blit11 3D FtoF PM RGBA 3D pixel shader"));
1203            break;
1204        case BLITSHADER_3D_RGBAF_UNMULTIPLY:
1205            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1206                                         ShaderData(g_PS_FtoF_UM_RGBA_3D),
1207                                         "Blit11 3D FtoF UM RGBA 3D pixel shader"));
1208            break;
1209        case BLITSHADER_3D_RGBF_PREMULTIPLY:
1210            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1211                                         ShaderData(g_PS_FtoF_PM_RGB_3D),
1212                                         "Blit11 3D FtoF PM RGB 3D pixel shader"));
1213            break;
1214        case BLITSHADER_3D_RGBF_UNMULTIPLY:
1215            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1216                                         ShaderData(g_PS_FtoF_UM_RGB_3D),
1217                                         "Blit11 3D FtoF UM RGB 3D pixel shader"));
1218            break;
1219        case BLITSHADER_3D_RGBAF_TOUI:
1220            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1221                                         ShaderData(g_PS_FtoU_PT_RGBA_3D),
1222                                         "Blit11 3D FtoU PT RGBA 3D pixel shader"));
1223            break;
1224        case BLITSHADER_3D_RGBAF_TOUI_PREMULTIPLY:
1225            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1226                                         ShaderData(g_PS_FtoU_PM_RGBA_3D),
1227                                         "Blit11 3D FtoU PM RGBA 3D pixel shader"));
1228            break;
1229        case BLITSHADER_3D_RGBAF_TOUI_UNMULTIPLY:
1230            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1231                                         ShaderData(g_PS_FtoU_UM_RGBA_3D),
1232                                         "Blit11 3D FtoU UM RGBA 3D pixel shader"));
1233            break;
1234        case BLITSHADER_3D_RGBF_TOUI:
1235            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1236                                         ShaderData(g_PS_FtoU_PT_RGB_3D),
1237                                         "Blit11 3D FtoU PT RGB 3D pixel shader"));
1238            break;
1239        case BLITSHADER_3D_RGBF_TOUI_PREMULTIPLY:
1240            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1241                                         ShaderData(g_PS_FtoU_PM_RGB_3D),
1242                                         "Blit11 3D FtoU PM RGB 3D pixel shader"));
1243            break;
1244        case BLITSHADER_3D_RGBF_TOUI_UNMULTIPLY:
1245            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1246                                         ShaderData(g_PS_FtoU_UM_RGB_3D),
1247                                         "Blit11 3D FtoU UM RGB 3D pixel shader"));
1248            break;
1249        case BLITSHADER_3D_RGBAF_TOI:
1250            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1251                                         ShaderData(g_PS_FtoI_PT_RGBA_3D),
1252                                         "Blit11 3D FtoI PT RGBA 3D pixel shader"));
1253            break;
1254        case BLITSHADER_3D_RGBAF_TOI_PREMULTIPLY:
1255            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1256                                         ShaderData(g_PS_FtoI_PM_RGBA_3D),
1257                                         "Blit11 3D FtoI PM RGBA 3D pixel shader"));
1258            break;
1259        case BLITSHADER_3D_RGBAF_TOI_UNMULTIPLY:
1260            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1261                                         ShaderData(g_PS_FtoI_UM_RGBA_3D),
1262                                         "Blit11 3D FtoI UM RGBA 3D pixel shader"));
1263            break;
1264        case BLITSHADER_3D_RGBF_TOI:
1265            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1266                                         ShaderData(g_PS_FtoI_PT_RGB_3D),
1267                                         "Blit11 3D FtoI PT RGB 3D pixel shader"));
1268            break;
1269        case BLITSHADER_3D_RGBF_TOI_PREMULTIPLY:
1270            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1271                                         ShaderData(g_PS_FtoI_PM_RGB_3D),
1272                                         "Blit11 3D FtoI PM RGB 3D pixel shader"));
1273            break;
1274        case BLITSHADER_3D_RGBF_TOI_UNMULTIPLY:
1275            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1276                                         ShaderData(g_PS_FtoI_UM_RGB_3D),
1277                                         "Blit11 3D FtoI UM RGB 3D pixel shader"));
1278            break;
1279        case BLITSHADER_3D_LUMAF_PREMULTIPLY:
1280            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1281                                         ShaderData(g_PS_FtoF_PM_LUMA_3D),
1282                                         "Blit11 3D FtoF PM LUMA 3D pixel shader"));
1283            break;
1284        case BLITSHADER_3D_LUMAF_UNMULTIPLY:
1285            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1286                                         ShaderData(g_PS_FtoF_UM_LUMA_3D),
1287                                         "Blit11 3D FtoF UM LUMA 3D pixel shader"));
1288            break;
1289        case BLITSHADER_3D_LUMAALPHAF_PREMULTIPLY:
1290            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1291                                         ShaderData(g_PS_FtoF_PM_LUMAALPHA_3D),
1292                                         "Blit11 3D FtoF PM LUMAALPHA 3D pixel shader"));
1293            break;
1294        case BLITSHADER_3D_LUMAALPHAF_UNMULTIPLY:
1295            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1296                                         ShaderData(g_PS_FtoF_UM_LUMAALPHA_3D),
1297                                         "Blit11 3D FtoF UM LUMAALPHA 3D pixel shader"));
1298            break;
1299        case BLITSHADER_3D_RGBAF_4444:
1300            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1301                                         ShaderData(g_PS_PassthroughRGBA3D_4444),
1302                                         "Blit11 3D PassthroughRGBA3D 4444 pixel shader"));
1303            break;
1304        case BLITSHADER_3D_RGBAF_4444_PREMULTIPLY:
1305            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1306                                         ShaderData(g_PS_FtoF_PM_RGBA_4444_3D),
1307                                         "Blit11 3D FtoF PM RGBA 4444 3D pixel shader"));
1308            break;
1309        case BLITSHADER_3D_RGBAF_4444_UNMULTIPLY:
1310            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1311                                         ShaderData(g_PS_FtoF_UM_RGBA_4444_3D),
1312                                         "Blit11 3D FtoF UM RGBA 4444 3D pixel shader"));
1313            break;
1314        case BLITSHADER_3D_RGBF_565:
1315            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1316                                         ShaderData(g_PS_PassthroughRGB3D_565),
1317                                         "Blit11 3D PassthroughRGB3D 565 pixel shader"));
1318            break;
1319        case BLITSHADER_3D_RGBF_565_PREMULTIPLY:
1320            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1321                                         ShaderData(g_PS_FtoF_PM_RGB_565_3D),
1322                                         "Blit11 3D FtoF PM RGB 565 3D pixel shader"));
1323            break;
1324        case BLITSHADER_3D_RGBF_565_UNMULTIPLY:
1325            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1326                                         ShaderData(g_PS_FtoF_UM_RGB_565_3D),
1327                                         "Blit11 3D FtoF UM RGB 565 3D pixel shader"));
1328            break;
1329        case BLITSHADER_3D_RGBAF_5551:
1330            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1331                                         ShaderData(g_PS_PassthroughRGBA3D_5551),
1332                                         "Blit11 3D PassthroughRGBA3D 5551 pixel shader"));
1333            break;
1334        case BLITSHADER_3D_RGBAF_5551_PREMULTIPLY:
1335            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1336                                         ShaderData(g_PS_FtoF_PM_RGBA_5551_3D),
1337                                         "Blit11 3D FtoF PM RGBA 5551 3D pixel shader"));
1338            break;
1339        case BLITSHADER_3D_RGBAF_5551_UNMULTIPLY:
1340            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_3D,
1341                                         ShaderData(g_PS_FtoF_UM_RGBA_5551_3D),
1342                                         "Blit11 3D FtoF UM RGBA 5551 3D pixel shader"));
1343            break;
1344        case BLITSHADER_2DARRAY_RGBAF:
1345            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1346                                         ShaderData(g_PS_PassthroughRGBA2DArray),
1347                                         "Blit11 2DArray PassthroughRGBA2DArray pixel shader"));
1348            break;
1349        case BLITSHADER_2DARRAY_BGRAF:
1350            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1351                                         ShaderData(g_PS_PassthroughRGBA2DArray),
1352                                         "Blit11 2DArray PassthroughRGBA2DArray pixel shader"));
1353            break;
1354        case BLITSHADER_2DARRAY_RGBF:
1355            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1356                                         ShaderData(g_PS_PassthroughRGB2DArray),
1357                                         "Blit11 2DArray PassthroughRGB2DArray pixel shader"));
1358            break;
1359        case BLITSHADER_2DARRAY_RGF:
1360            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1361                                         ShaderData(g_PS_PassthroughRG2DArray),
1362                                         "Blit11 2DArray PassthroughRG2DArray pixel shader"));
1363            break;
1364        case BLITSHADER_2DARRAY_RF:
1365            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1366                                         ShaderData(g_PS_PassthroughR2DArray),
1367                                         "Blit11 2DArray PassthroughR2DArray pixel shader"));
1368            break;
1369        case BLITSHADER_2DARRAY_ALPHA:
1370            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1371                                         ShaderData(g_PS_PassthroughRGBA2DArray),
1372                                         "Blit11 2DArray PassthroughRGBA2DArray pixel shader"));
1373            break;
1374        case BLITSHADER_2DARRAY_LUMA:
1375            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1376                                         ShaderData(g_PS_PassthroughLum2DArray),
1377                                         "Blit11 2DArray PassthroughLum2DArray pixel shader"));
1378            break;
1379        case BLITSHADER_2DARRAY_LUMAALPHA:
1380            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1381                                         ShaderData(g_PS_PassthroughLumAlpha2DArray),
1382                                         "Blit11 2DArray PassthroughLumAlpha2DArray pixel shader"));
1383            break;
1384        case BLITSHADER_2DARRAY_RGBAUI:
1385            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1386                                         ShaderData(g_PS_PassthroughRGBA2DArrayUI),
1387                                         "Blit11 2DArray PassthroughRGBA2DArrayUI pixel shader"));
1388            break;
1389        case BLITSHADER_2DARRAY_RGBAI:
1390            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1391                                         ShaderData(g_PS_PassthroughRGBA2DArrayI),
1392                                         "Blit11 2DArray PassthroughRGBA2DArrayI pixel shader"));
1393            break;
1394        case BLITSHADER_2DARRAY_RGBUI:
1395            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1396                                         ShaderData(g_PS_PassthroughRGB2DArrayUI),
1397                                         "Blit11 2DArray PassthroughRGB2DArrayUI pixel shader"));
1398            break;
1399        case BLITSHADER_2DARRAY_RGBI:
1400            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1401                                         ShaderData(g_PS_PassthroughRGB2DArrayI),
1402                                         "Blit11 2DArray PassthroughRGB2DArrayI pixel shader"));
1403            break;
1404        case BLITSHADER_2DARRAY_RGUI:
1405            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1406                                         ShaderData(g_PS_PassthroughRG2DArrayUI),
1407                                         "Blit11 2DArray PassthroughRG2DArrayUI pixel shader"));
1408            break;
1409        case BLITSHADER_2DARRAY_RGI:
1410            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1411                                         ShaderData(g_PS_PassthroughRG2DArrayI),
1412                                         "Blit11 2DArray PassthroughRG2DArrayI pixel shader"));
1413            break;
1414        case BLITSHADER_2DARRAY_RUI:
1415            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1416                                         ShaderData(g_PS_PassthroughR2DArrayUI),
1417                                         "Blit11 2DArray PassthroughR2DArrayUI pixel shader"));
1418            break;
1419        case BLITSHADER_2DARRAY_RI:
1420            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1421                                         ShaderData(g_PS_PassthroughR2DArrayI),
1422                                         "Blit11 2DArray PassthroughR2DArrayI pixel shader"));
1423            break;
1424        case BLITSHADER_2DARRAY_RGBAF_PREMULTIPLY:
1425            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1426                                         ShaderData(g_PS_FtoF_PM_RGBA_2DArray),
1427                                         "Blit11 2DArray FtoF PM RGBA 2DArray pixel shader"));
1428            break;
1429        case BLITSHADER_2DARRAY_RGBAF_UNMULTIPLY:
1430            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1431                                         ShaderData(g_PS_FtoF_UM_RGBA_2DArray),
1432                                         "Blit11 2DArray FtoF UM RGBA 2DArray pixel shader"));
1433            break;
1434        case BLITSHADER_2DARRAY_RGBF_PREMULTIPLY:
1435            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1436                                         ShaderData(g_PS_FtoF_PM_RGB_2DArray),
1437                                         "Blit11 2DArray FtoF PM RGB 2DArray pixel shader"));
1438            break;
1439        case BLITSHADER_2DARRAY_RGBF_UNMULTIPLY:
1440            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1441                                         ShaderData(g_PS_FtoF_UM_RGB_2DArray),
1442                                         "Blit11 2DArray FtoF UM RGB 2DArray pixel shader"));
1443            break;
1444        case BLITSHADER_2DARRAY_RGBAF_TOUI:
1445            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1446                                         ShaderData(g_PS_FtoU_PT_RGBA_2DArray),
1447                                         "Blit11 2DArray FtoU PT RGBA 2DArray pixel shader"));
1448            break;
1449        case BLITSHADER_2DARRAY_RGBAF_TOUI_PREMULTIPLY:
1450            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1451                                         ShaderData(g_PS_FtoU_PM_RGBA_2DArray),
1452                                         "Blit11 2DArray FtoU PM RGBA 2DArray pixel shader"));
1453            break;
1454        case BLITSHADER_2DARRAY_RGBAF_TOUI_UNMULTIPLY:
1455            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1456                                         ShaderData(g_PS_FtoU_UM_RGBA_2DArray),
1457                                         "Blit11 2DArray FtoU UM RGBA 2DArray pixel shader"));
1458            break;
1459        case BLITSHADER_2DARRAY_RGBF_TOUI:
1460            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1461                                         ShaderData(g_PS_FtoU_PT_RGB_2DArray),
1462                                         "Blit11 2DArray FtoU PT RGB 2DArray pixel shader"));
1463            break;
1464        case BLITSHADER_2DARRAY_RGBF_TOUI_PREMULTIPLY:
1465            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1466                                         ShaderData(g_PS_FtoU_PM_RGB_2DArray),
1467                                         "Blit11 2DArray FtoU PM RGB 2DArray pixel shader"));
1468            break;
1469        case BLITSHADER_2DARRAY_RGBF_TOUI_UNMULTIPLY:
1470            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1471                                         ShaderData(g_PS_FtoU_UM_RGB_2DArray),
1472                                         "Blit11 2DArray FtoU UM RGB 2DArray pixel shader"));
1473            break;
1474        case BLITSHADER_2DARRAY_RGBAF_TOI:
1475            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1476                                         ShaderData(g_PS_FtoI_PT_RGBA_2DArray),
1477                                         "Blit11 2DArray FtoI PT RGBA 2DArray pixel shader"));
1478            break;
1479        case BLITSHADER_2DARRAY_RGBAF_TOI_PREMULTIPLY:
1480            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1481                                         ShaderData(g_PS_FtoI_PM_RGBA_2DArray),
1482                                         "Blit11 2DArray FtoI PM RGBA 2DArray pixel shader"));
1483            break;
1484        case BLITSHADER_2DARRAY_RGBAF_TOI_UNMULTIPLY:
1485            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1486                                         ShaderData(g_PS_FtoI_UM_RGBA_2DArray),
1487                                         "Blit11 2DArray FtoI UM RGBA 2DArray pixel shader"));
1488            break;
1489        case BLITSHADER_2DARRAY_RGBF_TOI:
1490            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1491                                         ShaderData(g_PS_FtoI_PT_RGB_2DArray),
1492                                         "Blit11 2DArray FtoI PT RGB 2DArray pixel shader"));
1493            break;
1494        case BLITSHADER_2DARRAY_RGBF_TOI_PREMULTIPLY:
1495            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1496                                         ShaderData(g_PS_FtoI_PM_RGB_2DArray),
1497                                         "Blit11 2DArray FtoI PM RGB 2DArray pixel shader"));
1498            break;
1499        case BLITSHADER_2DARRAY_RGBF_TOI_UNMULTIPLY:
1500            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1501                                         ShaderData(g_PS_FtoI_UM_RGB_2DArray),
1502                                         "Blit11 2DArray FtoI UM RGB 2DArray pixel shader"));
1503            break;
1504        case BLITSHADER_2DARRAY_LUMAF_PREMULTIPLY:
1505            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1506                                         ShaderData(g_PS_FtoF_PM_LUMA_2DArray),
1507                                         "Blit11 2DArray FtoF PM LUMA 2DArray pixel shader"));
1508            break;
1509        case BLITSHADER_2DARRAY_LUMAF_UNMULTIPLY:
1510            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1511                                         ShaderData(g_PS_FtoF_UM_LUMA_2DArray),
1512                                         "Blit11 2DArray FtoF UM LUMA 2DArray pixel shader"));
1513            break;
1514        case BLITSHADER_2DARRAY_LUMAALPHAF_PREMULTIPLY:
1515            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1516                                         ShaderData(g_PS_FtoF_PM_LUMAALPHA_2DArray),
1517                                         "Blit11 2DArray FtoF PM LUMAALPHA 2DArray pixel shader"));
1518            break;
1519        case BLITSHADER_2DARRAY_LUMAALPHAF_UNMULTIPLY:
1520            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1521                                         ShaderData(g_PS_FtoF_UM_LUMAALPHA_2DArray),
1522                                         "Blit11 2DArray FtoF UM LUMAALPHA 2DArray pixel shader"));
1523            break;
1524        case BLITSHADER_2DARRAY_RGBAF_4444:
1525            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1526                                         ShaderData(g_PS_PassthroughRGBA2DArray_4444),
1527                                         "Blit11 2DArray PassthroughRGBA2DArray 4444 pixel shader"));
1528            break;
1529        case BLITSHADER_2DARRAY_RGBAF_4444_PREMULTIPLY:
1530            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1531                                         ShaderData(g_PS_FtoF_PM_RGBA_4444_2DArray),
1532                                         "Blit11 2DArray FtoF PM RGBA 4444 2DArray pixel shader"));
1533            break;
1534        case BLITSHADER_2DARRAY_RGBAF_4444_UNMULTIPLY:
1535            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1536                                         ShaderData(g_PS_FtoF_UM_RGBA_4444_2DArray),
1537                                         "Blit11 2DArray FtoF UM RGBA 4444 2DArray pixel shader"));
1538            break;
1539        case BLITSHADER_2DARRAY_RGBF_565:
1540            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1541                                         ShaderData(g_PS_PassthroughRGB2DArray_565),
1542                                         "Blit11 2DArray PassthroughRGB2DArray 565 pixel shader"));
1543            break;
1544        case BLITSHADER_2DARRAY_RGBF_565_PREMULTIPLY:
1545            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1546                                         ShaderData(g_PS_FtoF_PM_RGB_565_2DArray),
1547                                         "Blit11 2DArray FtoF PM RGB 565 2DArray pixel shader"));
1548            break;
1549        case BLITSHADER_2DARRAY_RGBF_565_UNMULTIPLY:
1550            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1551                                         ShaderData(g_PS_FtoF_UM_RGB_565_2DArray),
1552                                         "Blit11 2DArray FtoF UM RGB 565 2DArray pixel shader"));
1553            break;
1554        case BLITSHADER_2DARRAY_RGBAF_5551:
1555            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1556                                         ShaderData(g_PS_PassthroughRGBA2DArray_5551),
1557                                         "Blit11 2DArray PassthroughRGBA2DArray 5551 pixel shader"));
1558            break;
1559        case BLITSHADER_2DARRAY_RGBAF_5551_PREMULTIPLY:
1560            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1561                                         ShaderData(g_PS_FtoF_PM_RGBA_5551_2DArray),
1562                                         "Blit11 2DArray FtoF PM RGBA 5551 2DArray pixel shader"));
1563            break;
1564        case BLITSHADER_2DARRAY_RGBAF_5551_UNMULTIPLY:
1565            ANGLE_TRY(addBlitShaderToMap(context, blitShaderType, SHADER_2DARRAY,
1566                                         ShaderData(g_PS_FtoF_UM_RGBA_5551_2DArray),
1567                                         "Blit11 2DArray FtoF UM RGBA 5551 2DArray pixel shader"));
1568            break;
1569        default:
1570            ANGLE_HR_UNREACHABLE(GetImplAs<Context11>(context));
1571    }
1572
1573    return angle::Result::Continue;
1574}
1575
1576