• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_vk_internal_shaders.py using data from shaders/src/*
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 // vk_internal_shaders_autogen.h:
9 //   Pre-generated shader library for the ANGLE Vulkan back-end.
10 
11 #ifndef LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_
12 #define LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_
13 
14 #include "libANGLE/renderer/vulkan/vk_utils.h"
15 
16 namespace rx
17 {
18 namespace vk
19 {
20 namespace InternalShader
21 {
22 namespace BlitResolve_frag
23 {
24 enum flags
25 {
26     kSrcIsArray = 0x00000001,
27     kIsResolve  = 0x00000002,
28 };
29 enum Blit
30 {
31     kBlitColorFloat   = 0x00000000,
32     kBlitColorInt     = 0x00000004,
33     kBlitColorUint    = 0x00000008,
34     kBlitDepth        = 0x0000000C,
35     kBlitStencil      = 0x00000010,
36     kBlitDepthStencil = 0x00000014,
37 };
38 constexpr size_t kArrayLen = 0x00000018;
39 }  // namespace BlitResolve_frag
40 
41 namespace BlitResolveStencilNoExport_comp
42 {
43 enum flags
44 {
45     kSrcIsArray = 0x00000001,
46     kIsResolve  = 0x00000002,
47 };
48 constexpr size_t kArrayLen = 0x00000004;
49 }  // namespace BlitResolveStencilNoExport_comp
50 
51 namespace ConvertIndex_comp
52 {
53 enum flags
54 {
55     kIsPrimitiveRestartEnabled = 0x00000001,
56     kIsIndirect                = 0x00000002,
57 };
58 constexpr size_t kArrayLen = 0x00000004;
59 }  // namespace ConvertIndex_comp
60 
61 namespace ConvertIndexIndirectLineLoop_comp
62 {
63 enum IndicesBitsWidth
64 {
65     kIs8Bits  = 0x00000000,
66     kIs16Bits = 0x00000001,
67     kIs32Bits = 0x00000002,
68 };
69 constexpr size_t kArrayLen = 0x00000003;
70 }  // namespace ConvertIndexIndirectLineLoop_comp
71 
72 namespace ConvertIndirectLineLoop_comp
73 {
74 constexpr size_t kArrayLen = 0x00000001;
75 }  // namespace ConvertIndirectLineLoop_comp
76 
77 namespace ConvertVertex_comp
78 {
79 enum Conversion
80 {
81     kSintToSint   = 0x00000000,
82     kUintToUint   = 0x00000001,
83     kSintToFloat  = 0x00000002,
84     kUintToFloat  = 0x00000003,
85     kSnormToFloat = 0x00000004,
86     kUnormToFloat = 0x00000005,
87     kFixedToFloat = 0x00000006,
88     kFloatToFloat = 0x00000007,
89 };
90 constexpr size_t kArrayLen = 0x00000008;
91 }  // namespace ConvertVertex_comp
92 
93 namespace FullScreenTri_vert
94 {
95 constexpr size_t kArrayLen = 0x00000001;
96 }  // namespace FullScreenTri_vert
97 
98 namespace GenerateMipmap_comp
99 {
100 enum MaxSupportedDest
101 {
102     kDestSize4 = 0x00000000,
103     kDestSize6 = 0x00000001,
104 };
105 enum Format
106 {
107     kIsRGBA8          = 0x00000000,
108     kIsRGBA8_UseHalf  = 0x00000002,
109     kIsRGBA16         = 0x00000004,
110     kIsRGBA16_UseHalf = 0x00000006,
111     kIsRGBA32F        = 0x00000008,
112 };
113 constexpr size_t kArrayLen = 0x0000000A;
114 }  // namespace GenerateMipmap_comp
115 
116 namespace ImageClear_frag
117 {
118 enum flags
119 {
120     kClearDepth = 0x00000001,
121 };
122 enum AttachmentIndex
123 {
124     kAttachment0 = 0x00000000,
125     kAttachment1 = 0x00000002,
126     kAttachment2 = 0x00000004,
127     kAttachment3 = 0x00000006,
128     kAttachment4 = 0x00000008,
129     kAttachment5 = 0x0000000A,
130     kAttachment6 = 0x0000000C,
131     kAttachment7 = 0x0000000E,
132 };
133 enum Format
134 {
135     kIsFloat = 0x00000000,
136     kIsSint  = 0x00000010,
137     kIsUint  = 0x00000020,
138 };
139 constexpr size_t kArrayLen = 0x00000030;
140 }  // namespace ImageClear_frag
141 
142 namespace ImageCopy_frag
143 {
144 enum DestFormat
145 {
146     kDestIsFloat = 0x00000000,
147     kDestIsSint  = 0x00000001,
148     kDestIsUint  = 0x00000002,
149 };
150 enum SrcFormat
151 {
152     kSrcIsFloat = 0x00000000,
153     kSrcIsSint  = 0x00000004,
154     kSrcIsUint  = 0x00000008,
155 };
156 enum SrcType
157 {
158     kSrcIs2D      = 0x00000000,
159     kSrcIs2DArray = 0x00000010,
160     kSrcIs3D      = 0x00000020,
161 };
162 constexpr size_t kArrayLen = 0x0000002B;
163 }  // namespace ImageCopy_frag
164 
165 namespace OverlayDraw_frag
166 {
167 constexpr size_t kArrayLen = 0x00000001;
168 }  // namespace OverlayDraw_frag
169 
170 namespace OverlayDraw_vert
171 {
172 constexpr size_t kArrayLen = 0x00000001;
173 }  // namespace OverlayDraw_vert
174 
175 }  // namespace InternalShader
176 
177 class ShaderLibrary final : angle::NonCopyable
178 {
179   public:
180     ShaderLibrary();
181     ~ShaderLibrary();
182 
183     void destroy(VkDevice device);
184 
185     angle::Result getBlitResolve_frag(Context *context,
186                                       uint32_t shaderFlags,
187                                       RefCounted<ShaderAndSerial> **shaderOut);
188     angle::Result getBlitResolveStencilNoExport_comp(Context *context,
189                                                      uint32_t shaderFlags,
190                                                      RefCounted<ShaderAndSerial> **shaderOut);
191     angle::Result getConvertIndex_comp(Context *context,
192                                        uint32_t shaderFlags,
193                                        RefCounted<ShaderAndSerial> **shaderOut);
194     angle::Result getConvertIndexIndirectLineLoop_comp(Context *context,
195                                                        uint32_t shaderFlags,
196                                                        RefCounted<ShaderAndSerial> **shaderOut);
197     angle::Result getConvertIndirectLineLoop_comp(Context *context,
198                                                   uint32_t shaderFlags,
199                                                   RefCounted<ShaderAndSerial> **shaderOut);
200     angle::Result getConvertVertex_comp(Context *context,
201                                         uint32_t shaderFlags,
202                                         RefCounted<ShaderAndSerial> **shaderOut);
203     angle::Result getFullScreenTri_vert(Context *context,
204                                         uint32_t shaderFlags,
205                                         RefCounted<ShaderAndSerial> **shaderOut);
206     angle::Result getGenerateMipmap_comp(Context *context,
207                                          uint32_t shaderFlags,
208                                          RefCounted<ShaderAndSerial> **shaderOut);
209     angle::Result getImageClear_frag(Context *context,
210                                      uint32_t shaderFlags,
211                                      RefCounted<ShaderAndSerial> **shaderOut);
212     angle::Result getImageCopy_frag(Context *context,
213                                     uint32_t shaderFlags,
214                                     RefCounted<ShaderAndSerial> **shaderOut);
215     angle::Result getOverlayDraw_frag(Context *context,
216                                       uint32_t shaderFlags,
217                                       RefCounted<ShaderAndSerial> **shaderOut);
218     angle::Result getOverlayDraw_vert(Context *context,
219                                       uint32_t shaderFlags,
220                                       RefCounted<ShaderAndSerial> **shaderOut);
221 
222   private:
223     RefCounted<ShaderAndSerial>
224         mBlitResolve_frag_shaders[InternalShader::BlitResolve_frag::kArrayLen];
225     RefCounted<ShaderAndSerial> mBlitResolveStencilNoExport_comp_shaders
226         [InternalShader::BlitResolveStencilNoExport_comp::kArrayLen];
227     RefCounted<ShaderAndSerial>
228         mConvertIndex_comp_shaders[InternalShader::ConvertIndex_comp::kArrayLen];
229     RefCounted<ShaderAndSerial> mConvertIndexIndirectLineLoop_comp_shaders
230         [InternalShader::ConvertIndexIndirectLineLoop_comp::kArrayLen];
231     RefCounted<ShaderAndSerial> mConvertIndirectLineLoop_comp_shaders
232         [InternalShader::ConvertIndirectLineLoop_comp::kArrayLen];
233     RefCounted<ShaderAndSerial>
234         mConvertVertex_comp_shaders[InternalShader::ConvertVertex_comp::kArrayLen];
235     RefCounted<ShaderAndSerial>
236         mFullScreenTri_vert_shaders[InternalShader::FullScreenTri_vert::kArrayLen];
237     RefCounted<ShaderAndSerial>
238         mGenerateMipmap_comp_shaders[InternalShader::GenerateMipmap_comp::kArrayLen];
239     RefCounted<ShaderAndSerial>
240         mImageClear_frag_shaders[InternalShader::ImageClear_frag::kArrayLen];
241     RefCounted<ShaderAndSerial> mImageCopy_frag_shaders[InternalShader::ImageCopy_frag::kArrayLen];
242     RefCounted<ShaderAndSerial>
243         mOverlayDraw_frag_shaders[InternalShader::OverlayDraw_frag::kArrayLen];
244     RefCounted<ShaderAndSerial>
245         mOverlayDraw_vert_shaders[InternalShader::OverlayDraw_vert::kArrayLen];
246 };
247 }  // namespace vk
248 }  // namespace rx
249 
250 #endif  // LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_
251