v / vlib / sokol / gfx / enums.v
386 lines · 350 sloc · 5.42 KB · 2ca3fdfa8d5ff2c6d8a19658979ffbe7dcb65441
Raw
1module gfx
2
3pub enum Backend {
4 glcore33
5 gles3
6 d3d11
7 metal_ios
8 metal_macos
9 metal_simulator
10 wgpu
11 dummy
12}
13
14// PixelFormat is C.sg_pixel_format
15pub enum PixelFormat as u32 {
16 _default // value 0 reserved for default-init
17 none
18
19 r8
20 r8sn
21 r8ui
22 r8si
23
24 r16
25 r16sn
26 r16ui
27 r16si
28 r16f
29 rg8
30 rg8sn
31 rg8ui
32 rg8si
33
34 r32ui
35 r32si
36 r32f
37 rg16
38 rg16sn
39 rg16ui
40 rg16si
41 rg16f
42 rgba8
43 srgb8a8
44 rgba8sn
45 rgba8ui
46 rgba8si
47 bgra8
48 rgb10a2
49 rg11b10f
50 rgb9e5
51
52 rg32ui
53 rg32si
54 rg32f
55 rgba16
56 rgba16sn
57 rgba16ui
58 rgba16si
59 rgba16f
60
61 rgba32ui
62 rgba32si
63 rgba32f
64
65 depth
66 depth_stencil
67
68 bc1_rgba
69 bc2_rgba
70 bc3_rgba
71 bc3_srgba
72 bc4_r
73 bc4_rsn
74 bc5_rg
75 bc5_rgsn
76 bc6h_rgbf
77 bc6h_rgbuf
78 bc7_rgba
79 bc7_srgba
80 pvrtc_rgb_2bpp // deprecated
81 pvrtc_rgb_4bpp // deprecated
82 pvrtc_rgba_2bpp // deprecated
83 pvrtc_rgba_4bpp // deprecated
84 etc2_rgb8
85 etc2_srgb8
86 etc2_rgb8a1
87 etc2_rgba8
88 etc2_srgb8a8
89 eac_r11
90 eac_r11sn
91 eac_rg11
92 eac_rg11sn
93 astc_4x4_rgba
94 astc_4x4_srgba
95
96 _num
97 _force_u32 = 0x7FFFFFFF
98}
99
100pub enum ResourceState as u32 {
101 initial
102 alloc
103 valid
104 failed
105 invalid
106 _force_u32 = 0x7FFFFFFF
107}
108
109pub enum Usage as u32 {
110 _default // value 0 reserved for default-init
111 immutable
112 dynamic
113 stream
114 _num
115 _force_u32 = 0x7FFFFFFF
116}
117
118pub enum BufferType as u32 {
119 _default // value 0 reserved for default-init
120 vertexbuffer
121 indexbuffer
122 storagebuffer
123 _num
124 _force_u32 = 0x7FFFFFFF
125}
126
127pub enum IndexType as u32 {
128 _default // value 0 reserved for default-init
129 none
130 uint16
131 uint32
132 _num
133 _force_u32 = 0x7FFFFFFF
134}
135
136pub enum ImageType as u32 {
137 _default // value 0 reserved for default-init
138 _2d
139 cube
140 _3d
141 array
142 _num
143 _force_u32 = 0x7FFFFFFF
144}
145
146pub enum ImageSampleType as u32 {
147 _default // value 0 reserved for default-init
148 float
149 depth
150 sint
151 uint
152 unfilterable_float
153 _num
154 _force_u32 = 0x7FFFFFFF
155}
156
157pub enum SamplerType as u32 {
158 _default
159 filtering
160 nonfiltering
161 comparison
162 _num
163 _force_u32 = 0x7FFFFFFF
164}
165
166pub enum CubeFace as u32 {
167 pos_x
168 neg_x
169 pos_y
170 neg_y
171 pos_z
172 neg_z
173 num
174 _force_u32 = 0x7fffffff
175}
176
177pub enum ShaderStage as u32 {
178 vs
179 fs
180 _force_u32 = 0x7FFFFFFF
181}
182
183pub enum PrimitiveType as u32 {
184 _default // value 0 reserved for default-init
185 points
186 lines
187 line_strip
188 triangles
189 triangle_strip
190 _num
191 _force_u32 = 0x7FFFFFFF
192}
193
194pub enum Filter as u32 {
195 _default // value 0 reserved for default-init
196 none
197 nearest
198 linear
199 _num
200 _force_u32 = 0x7fffffff
201}
202
203pub enum Wrap as u32 {
204 _default // value 0 reserved for default-init
205 repeat // The default wrap mode.
206 clamp_to_edge
207 clamp_to_border // not supported on all backends and platforms. To check for support, call sg_query_features(), and check the "clamp_to_border" boolean in the returned sg_features struct. Platforms which don't support SG_WRAP_CLAMP_TO_BORDER will silently fall back to clamp_to_edge without a validation error.
208 mirrored_repeat
209 _num
210 _force_u32 = 0x7FFFFFFF
211}
212
213pub enum BorderColor as u32 {
214 _default // value 0 reserved for default-init
215 transparent_black
216 opaque_black
217 opaque_white
218 _num
219 _force_u32 = 0x7FFFFFFF
220}
221
222pub enum VertexFormat as u32 {
223 invalid
224 float
225 float2
226 float3
227 float4
228 byte4
229 byte4n // normalized
230 ubyte4
231 ubyte4n
232 short2
233 short2n
234 ushort2n
235 short4
236 short4n
237 ushort4n
238 uint10_n2
239 half2
240 half4
241 _num
242 _force_u32 = 0x7FFFFFFF
243}
244
245pub enum VertexStep as u32 {
246 _default // value 0 reserved for default-init
247 per_vertex
248 per_instance
249 _num
250 _force_u32 = 0x7FFFFFFF
251}
252
253pub enum UniformType as u32 {
254 invalid
255 float
256 float2
257 float3
258 float4
259 int
260 int2
261 int3
262 int4
263 mat4
264 _num
265 _force_u32 = 0x7FFFFFFF
266}
267
268pub enum CullMode as u32 {
269 _default // value 0 reserved for default-init
270 none
271 front
272 back
273 _num
274 _force_u32 = 0x7FFFFFFF
275}
276
277// FaceWindin is C.sg_face_winding
278pub enum FaceWinding as u32 {
279 default // value 0 reserved for default-init
280 ccw
281 cw
282 num
283 force_u32 = 0x7FFFFFFF
284}
285
286pub enum CompareFunc as u32 {
287 _default // value 0 reserved for default-init
288 never
289 less
290 equal
291 less_equal
292 greater
293 not_equal
294 greater_equal
295 always
296 _num
297 _force_u32 = 0x7FFFFFFF
298}
299
300pub enum StencilOp as u32 {
301 _default // value 0 reserved for default-init
302 keep
303 zero
304 replace
305 incr_clamp
306 decr_clamp
307 invert
308 incr_wrap
309 decr_wrap
310 _num
311 _force_u32 = 0x7FFFFFFF
312}
313
314pub enum BlendFactor as u32 {
315 _default // value 0 reserved for default-init
316 zero
317 one
318 src_color
319 one_minus_src_color
320 src_alpha
321 one_minus_src_alpha
322 dst_color
323 one_minus_dst_color
324 dst_alpha
325 one_minus_dst_alpha
326 src_alpha_saturated
327 blend_color
328 one_minus_blend_color
329 blend_alpha
330 one_minus_blend_alpha
331 _num
332 _force_u32 = 0x7FFFFFFF
333}
334
335pub enum BlendOp as u32 {
336 _default // value 0 reserved for default-init
337 add
338 subtract
339 reverse_subtract
340 _num
341 _force_u32 = 0x7FFFFFFF
342}
343
344pub enum ColorMask as u32 {
345 _default = 0 // value 0 reserved for default-init
346 none = 0x10 // special value for 'all channels disabled
347 r = 1
348 g = 2
349 rg = 3
350 b = 4
351 rb = 5
352 gb = 6
353 rgb = 7
354 a = 8
355 ra = 9
356 ga = 0xa
357 rga = 0xb
358 ba = 0xc
359 rba = 0xd
360 gba = 0xe
361 rgba = 0xf
362 _force_u32 = 0x7FFFFFFF
363}
364
365pub enum LoadAction as u32 {
366 _default
367 clear
368 load
369 dontcare
370 _force_u32 = 0x7FFFFFFF
371}
372
373pub enum StoreAction as u32 {
374 _default
375 store
376 dontcare
377 _force_u32 = 0x7FFFFFFF
378}
379
380pub enum UniformLayout as u32 {
381 uniformlayout_default = 0 // value 0 reserved for default-init
382 uniformlayout_native // default: layout depends on currently active backend
383 uniformlayout_std140 // std140: memory layout according to std140
384 _num
385 _force_u32 = 0x7FFFFFFF
386}
387