dawn_sys/generated/
lib.rs

1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2#[cfg_attr(
3    feature = "strum",
4    derive(
5        strum::Display,
6        strum::EnumString,
7        strum::EnumIter,
8        strum::FromRepr,
9        strum::IntoStaticStr
10    )
11)]
12#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
13#[repr(i32)]
14pub enum WGPUAdapterType {
15    DiscreteGPU = raw::WGPUAdapterType_WGPUAdapterType_DiscreteGPU,
16    IntegratedGPU = raw::WGPUAdapterType_WGPUAdapterType_IntegratedGPU,
17    CPU = raw::WGPUAdapterType_WGPUAdapterType_CPU,
18    Unknown = raw::WGPUAdapterType_WGPUAdapterType_Unknown,
19}
20impl WGPUAdapterType {
21    pub fn to_str(self) -> &'static str {
22        self.into()
23    }
24}
25#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
26#[cfg_attr(
27    feature = "strum",
28    derive(
29        strum::Display,
30        strum::EnumString,
31        strum::EnumIter,
32        strum::FromRepr,
33        strum::IntoStaticStr
34    )
35)]
36#[repr(i32)]
37pub enum WGPUAddressMode {
38    Undefined = raw::WGPUAddressMode_WGPUAddressMode_Undefined,
39    ClampToEdge = raw::WGPUAddressMode_WGPUAddressMode_ClampToEdge,
40    Repeat = raw::WGPUAddressMode_WGPUAddressMode_Repeat,
41    MirrorRepeat = raw::WGPUAddressMode_WGPUAddressMode_MirrorRepeat,
42}
43impl WGPUAddressMode {
44    pub fn to_str(self) -> &'static str {
45        self.into()
46    }
47}
48#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
49#[cfg_attr(
50    feature = "strum",
51    derive(
52        strum::Display,
53        strum::EnumString,
54        strum::EnumIter,
55        strum::FromRepr,
56        strum::IntoStaticStr
57    )
58)]
59#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
60#[repr(i32)]
61pub enum WGPUBackendType {
62    Undefined = raw::WGPUBackendType_WGPUBackendType_Undefined,
63    Null = raw::WGPUBackendType_WGPUBackendType_Null,
64    WebGPU = raw::WGPUBackendType_WGPUBackendType_WebGPU,
65    D3D11 = raw::WGPUBackendType_WGPUBackendType_D3D11,
66    D3D12 = raw::WGPUBackendType_WGPUBackendType_D3D12,
67    Metal = raw::WGPUBackendType_WGPUBackendType_Metal,
68    Vulkan = raw::WGPUBackendType_WGPUBackendType_Vulkan,
69    OpenGL = raw::WGPUBackendType_WGPUBackendType_OpenGL,
70    OpenGLES = raw::WGPUBackendType_WGPUBackendType_OpenGLES,
71}
72impl WGPUBackendType {
73    pub fn to_str(self) -> &'static str {
74        self.into()
75    }
76}
77#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
78#[cfg_attr(
79    feature = "strum",
80    derive(
81        strum::Display,
82        strum::EnumString,
83        strum::EnumIter,
84        strum::FromRepr,
85        strum::IntoStaticStr
86    )
87)]
88#[repr(i32)]
89pub enum WGPUBlendFactor {
90    Undefined = raw::WGPUBlendFactor_WGPUBlendFactor_Undefined,
91    Zero = raw::WGPUBlendFactor_WGPUBlendFactor_Zero,
92    One = raw::WGPUBlendFactor_WGPUBlendFactor_One,
93    Src = raw::WGPUBlendFactor_WGPUBlendFactor_Src,
94    OneMinusSrc = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusSrc,
95    SrcAlpha = raw::WGPUBlendFactor_WGPUBlendFactor_SrcAlpha,
96    OneMinusSrcAlpha = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusSrcAlpha,
97    Dst = raw::WGPUBlendFactor_WGPUBlendFactor_Dst,
98    OneMinusDst = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusDst,
99    DstAlpha = raw::WGPUBlendFactor_WGPUBlendFactor_DstAlpha,
100    OneMinusDstAlpha = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusDstAlpha,
101    SrcAlphaSaturated = raw::WGPUBlendFactor_WGPUBlendFactor_SrcAlphaSaturated,
102    Constant = raw::WGPUBlendFactor_WGPUBlendFactor_Constant,
103    OneMinusConstant = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusConstant,
104    Src1 = raw::WGPUBlendFactor_WGPUBlendFactor_Src1,
105    OneMinusSrc1 = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusSrc1,
106    Src1Alpha = raw::WGPUBlendFactor_WGPUBlendFactor_Src1Alpha,
107    OneMinusSrc1Alpha = raw::WGPUBlendFactor_WGPUBlendFactor_OneMinusSrc1Alpha,
108}
109impl WGPUBlendFactor {
110    pub fn to_str(self) -> &'static str {
111        self.into()
112    }
113}
114#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
115#[cfg_attr(
116    feature = "strum",
117    derive(
118        strum::Display,
119        strum::EnumString,
120        strum::EnumIter,
121        strum::FromRepr,
122        strum::IntoStaticStr
123    )
124)]
125#[repr(i32)]
126pub enum WGPUBlendOperation {
127    Undefined = raw::WGPUBlendOperation_WGPUBlendOperation_Undefined,
128    Add = raw::WGPUBlendOperation_WGPUBlendOperation_Add,
129    Subtract = raw::WGPUBlendOperation_WGPUBlendOperation_Subtract,
130    ReverseSubtract = raw::WGPUBlendOperation_WGPUBlendOperation_ReverseSubtract,
131    Min = raw::WGPUBlendOperation_WGPUBlendOperation_Min,
132    Max = raw::WGPUBlendOperation_WGPUBlendOperation_Max,
133}
134impl WGPUBlendOperation {
135    pub fn to_str(self) -> &'static str {
136        self.into()
137    }
138}
139#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
140#[cfg_attr(
141    feature = "strum",
142    derive(
143        strum::Display,
144        strum::EnumString,
145        strum::EnumIter,
146        strum::FromRepr,
147        strum::IntoStaticStr
148    )
149)]
150#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
151#[repr(i32)]
152pub enum WGPUBufferBindingType {
153    BindingNotUsed = raw::WGPUBufferBindingType_WGPUBufferBindingType_BindingNotUsed,
154    Undefined = raw::WGPUBufferBindingType_WGPUBufferBindingType_Undefined,
155    Uniform = raw::WGPUBufferBindingType_WGPUBufferBindingType_Uniform,
156    Storage = raw::WGPUBufferBindingType_WGPUBufferBindingType_Storage,
157    ReadOnlyStorage = raw::WGPUBufferBindingType_WGPUBufferBindingType_ReadOnlyStorage,
158}
159impl WGPUBufferBindingType {
160    pub fn to_str(self) -> &'static str {
161        self.into()
162    }
163}
164#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
165#[cfg_attr(
166    feature = "strum",
167    derive(
168        strum::Display,
169        strum::EnumString,
170        strum::EnumIter,
171        strum::FromRepr,
172        strum::IntoStaticStr
173    )
174)]
175#[repr(i32)]
176pub enum WGPUBufferMapState {
177    Unmapped = raw::WGPUBufferMapState_WGPUBufferMapState_Unmapped,
178    Pending = raw::WGPUBufferMapState_WGPUBufferMapState_Pending,
179    Mapped = raw::WGPUBufferMapState_WGPUBufferMapState_Mapped,
180}
181impl WGPUBufferMapState {
182    pub fn to_str(self) -> &'static str {
183        self.into()
184    }
185}
186#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
187#[cfg_attr(
188    feature = "strum",
189    derive(
190        strum::Display,
191        strum::EnumString,
192        strum::EnumIter,
193        strum::FromRepr,
194        strum::IntoStaticStr
195    )
196)]
197#[repr(i32)]
198pub enum WGPUCallbackMode {
199    WaitAnyOnly = raw::WGPUCallbackMode_WGPUCallbackMode_WaitAnyOnly,
200    AllowProcessEvents = raw::WGPUCallbackMode_WGPUCallbackMode_AllowProcessEvents,
201    AllowSpontaneous = raw::WGPUCallbackMode_WGPUCallbackMode_AllowSpontaneous,
202}
203impl WGPUCallbackMode {
204    pub fn to_str(self) -> &'static str {
205        self.into()
206    }
207}
208#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
209#[cfg_attr(
210    feature = "strum",
211    derive(
212        strum::Display,
213        strum::EnumString,
214        strum::EnumIter,
215        strum::FromRepr,
216        strum::IntoStaticStr
217    )
218)]
219#[repr(i32)]
220pub enum WGPUCompareFunction {
221    Undefined = raw::WGPUCompareFunction_WGPUCompareFunction_Undefined,
222    Never = raw::WGPUCompareFunction_WGPUCompareFunction_Never,
223    Less = raw::WGPUCompareFunction_WGPUCompareFunction_Less,
224    Equal = raw::WGPUCompareFunction_WGPUCompareFunction_Equal,
225    LessEqual = raw::WGPUCompareFunction_WGPUCompareFunction_LessEqual,
226    Greater = raw::WGPUCompareFunction_WGPUCompareFunction_Greater,
227    NotEqual = raw::WGPUCompareFunction_WGPUCompareFunction_NotEqual,
228    GreaterEqual = raw::WGPUCompareFunction_WGPUCompareFunction_GreaterEqual,
229    Always = raw::WGPUCompareFunction_WGPUCompareFunction_Always,
230}
231impl WGPUCompareFunction {
232    pub fn to_str(self) -> &'static str {
233        self.into()
234    }
235}
236#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
237#[cfg_attr(
238    feature = "strum",
239    derive(
240        strum::Display,
241        strum::EnumString,
242        strum::EnumIter,
243        strum::FromRepr,
244        strum::IntoStaticStr
245    )
246)]
247#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
248#[repr(i32)]
249pub enum WGPUCompilationInfoRequestStatus {
250    Success = raw::WGPUCompilationInfoRequestStatus_WGPUCompilationInfoRequestStatus_Success,
251    CallbackCancelled = raw::WGPUCompilationInfoRequestStatus_WGPUCompilationInfoRequestStatus_CallbackCancelled,
252}
253impl WGPUCompilationInfoRequestStatus {
254    pub fn to_str(self) -> &'static str {
255        self.into()
256    }
257}
258#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
259#[cfg_attr(
260    feature = "strum",
261    derive(
262        strum::Display,
263        strum::EnumString,
264        strum::EnumIter,
265        strum::FromRepr,
266        strum::IntoStaticStr
267    )
268)]
269#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
270#[repr(i32)]
271pub enum WGPUCompilationMessageType {
272    Error = raw::WGPUCompilationMessageType_WGPUCompilationMessageType_Error,
273    Warning = raw::WGPUCompilationMessageType_WGPUCompilationMessageType_Warning,
274    Info = raw::WGPUCompilationMessageType_WGPUCompilationMessageType_Info,
275}
276impl WGPUCompilationMessageType {
277    pub fn to_str(self) -> &'static str {
278        self.into()
279    }
280}
281#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
282#[cfg_attr(
283    feature = "strum",
284    derive(
285        strum::Display,
286        strum::EnumString,
287        strum::EnumIter,
288        strum::FromRepr,
289        strum::IntoStaticStr
290    )
291)]
292#[repr(i32)]
293pub enum WGPUCompositeAlphaMode {
294    /// Lets the WebGPU implementation choose the best mode (supported, and with the best performance) between @ref WGPUCompositeAlphaMode_Opaque or @ref WGPUCompositeAlphaMode_Inherit.
295    Auto = raw::WGPUCompositeAlphaMode_WGPUCompositeAlphaMode_Auto,
296    /// The alpha component of the image is ignored and teated as if it is always 1.0.
297    Opaque = raw::WGPUCompositeAlphaMode_WGPUCompositeAlphaMode_Opaque,
298    /// The alpha component is respected and non-alpha components are assumed to be already multiplied with the alpha component. For example, (0.5, 0, 0, 0.5) is semi-transparent bright red.
299    Premultiplied = raw::WGPUCompositeAlphaMode_WGPUCompositeAlphaMode_Premultiplied,
300    /// The alpha component is respected and non-alpha components are assumed to NOT be already multiplied with the alpha component. For example, (1.0, 0, 0, 0.5) is semi-transparent bright red.
301    Unpremultiplied = raw::WGPUCompositeAlphaMode_WGPUCompositeAlphaMode_Unpremultiplied,
302    /// The handling of the alpha component is unknown to WebGPU and should be handled by the application using system-specific APIs. This mode may be unavailable (for example on Wasm).
303    Inherit = raw::WGPUCompositeAlphaMode_WGPUCompositeAlphaMode_Inherit,
304}
305impl WGPUCompositeAlphaMode {
306    pub fn to_str(self) -> &'static str {
307        self.into()
308    }
309}
310#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
311#[cfg_attr(
312    feature = "strum",
313    derive(
314        strum::Display,
315        strum::EnumString,
316        strum::EnumIter,
317        strum::FromRepr,
318        strum::IntoStaticStr
319    )
320)]
321#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
322#[repr(i32)]
323pub enum WGPUCreatePipelineAsyncStatus {
324    Success = raw::WGPUCreatePipelineAsyncStatus_WGPUCreatePipelineAsyncStatus_Success,
325    CallbackCancelled = raw::WGPUCreatePipelineAsyncStatus_WGPUCreatePipelineAsyncStatus_CallbackCancelled,
326    ValidationError = raw::WGPUCreatePipelineAsyncStatus_WGPUCreatePipelineAsyncStatus_ValidationError,
327    InternalError = raw::WGPUCreatePipelineAsyncStatus_WGPUCreatePipelineAsyncStatus_InternalError,
328}
329impl WGPUCreatePipelineAsyncStatus {
330    pub fn to_str(self) -> &'static str {
331        self.into()
332    }
333}
334#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
335#[cfg_attr(
336    feature = "strum",
337    derive(
338        strum::Display,
339        strum::EnumString,
340        strum::EnumIter,
341        strum::FromRepr,
342        strum::IntoStaticStr
343    )
344)]
345#[repr(i32)]
346pub enum WGPUCullMode {
347    Undefined = raw::WGPUCullMode_WGPUCullMode_Undefined,
348    None = raw::WGPUCullMode_WGPUCullMode_None,
349    Front = raw::WGPUCullMode_WGPUCullMode_Front,
350    Back = raw::WGPUCullMode_WGPUCullMode_Back,
351}
352impl WGPUCullMode {
353    pub fn to_str(self) -> &'static str {
354        self.into()
355    }
356}
357#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
358#[cfg_attr(
359    feature = "strum",
360    derive(
361        strum::Display,
362        strum::EnumString,
363        strum::EnumIter,
364        strum::FromRepr,
365        strum::IntoStaticStr
366    )
367)]
368#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
369#[repr(i32)]
370pub enum WGPUDeviceLostReason {
371    Unknown = raw::WGPUDeviceLostReason_WGPUDeviceLostReason_Unknown,
372    Destroyed = raw::WGPUDeviceLostReason_WGPUDeviceLostReason_Destroyed,
373    CallbackCancelled = raw::WGPUDeviceLostReason_WGPUDeviceLostReason_CallbackCancelled,
374    FailedCreation = raw::WGPUDeviceLostReason_WGPUDeviceLostReason_FailedCreation,
375}
376impl WGPUDeviceLostReason {
377    pub fn to_str(self) -> &'static str {
378        self.into()
379    }
380}
381#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
382#[cfg_attr(
383    feature = "strum",
384    derive(
385        strum::Display,
386        strum::EnumString,
387        strum::EnumIter,
388        strum::FromRepr,
389        strum::IntoStaticStr
390    )
391)]
392#[repr(i32)]
393pub enum WGPUErrorFilter {
394    Validation = raw::WGPUErrorFilter_WGPUErrorFilter_Validation,
395    OutOfMemory = raw::WGPUErrorFilter_WGPUErrorFilter_OutOfMemory,
396    Internal = raw::WGPUErrorFilter_WGPUErrorFilter_Internal,
397}
398impl WGPUErrorFilter {
399    pub fn to_str(self) -> &'static str {
400        self.into()
401    }
402}
403#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
404#[cfg_attr(
405    feature = "strum",
406    derive(
407        strum::Display,
408        strum::EnumString,
409        strum::EnumIter,
410        strum::FromRepr,
411        strum::IntoStaticStr
412    )
413)]
414#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
415#[repr(i32)]
416pub enum WGPUErrorType {
417    NoError = raw::WGPUErrorType_WGPUErrorType_NoError,
418    Validation = raw::WGPUErrorType_WGPUErrorType_Validation,
419    OutOfMemory = raw::WGPUErrorType_WGPUErrorType_OutOfMemory,
420    Internal = raw::WGPUErrorType_WGPUErrorType_Internal,
421    Unknown = raw::WGPUErrorType_WGPUErrorType_Unknown,
422}
423impl WGPUErrorType {
424    pub fn to_str(self) -> &'static str {
425        self.into()
426    }
427}
428#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
429#[cfg_attr(
430    feature = "strum",
431    derive(
432        strum::Display,
433        strum::EnumString,
434        strum::EnumIter,
435        strum::FromRepr,
436        strum::IntoStaticStr
437    )
438)]
439#[repr(i32)]
440pub enum WGPUFeatureLevel {
441    /// Indicates no value is passed for this argument.
442    Undefined = raw::WGPUFeatureLevel_WGPUFeatureLevel_Undefined,
443    /// Compatibility profile which can be supported on OpenGL ES 3.1 and D3D11.
444    Compatibility = raw::WGPUFeatureLevel_WGPUFeatureLevel_Compatibility,
445    /// Core profile which can be supported on Vulkan/Metal/D3D12 (at least).
446    Core = raw::WGPUFeatureLevel_WGPUFeatureLevel_Core,
447}
448impl WGPUFeatureLevel {
449    pub fn to_str(self) -> &'static str {
450        self.into()
451    }
452}
453#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
454#[cfg_attr(
455    feature = "strum",
456    derive(
457        strum::Display,
458        strum::EnumString,
459        strum::EnumIter,
460        strum::FromRepr,
461        strum::IntoStaticStr
462    )
463)]
464#[repr(i32)]
465pub enum WGPUFeatureName {
466    DepthClipControl = raw::WGPUFeatureName_WGPUFeatureName_DepthClipControl,
467    Depth32FloatStencil8 = raw::WGPUFeatureName_WGPUFeatureName_Depth32FloatStencil8,
468    TimestampQuery = raw::WGPUFeatureName_WGPUFeatureName_TimestampQuery,
469    TextureCompressionBC = raw::WGPUFeatureName_WGPUFeatureName_TextureCompressionBC,
470    TextureCompressionBCSliced3D = raw::WGPUFeatureName_WGPUFeatureName_TextureCompressionBCSliced3D,
471    TextureCompressionETC2 = raw::WGPUFeatureName_WGPUFeatureName_TextureCompressionETC2,
472    TextureCompressionASTC = raw::WGPUFeatureName_WGPUFeatureName_TextureCompressionASTC,
473    TextureCompressionASTCSliced3D = raw::WGPUFeatureName_WGPUFeatureName_TextureCompressionASTCSliced3D,
474    IndirectFirstInstance = raw::WGPUFeatureName_WGPUFeatureName_IndirectFirstInstance,
475    ShaderF16 = raw::WGPUFeatureName_WGPUFeatureName_ShaderF16,
476    RG11B10UfloatRenderable = raw::WGPUFeatureName_WGPUFeatureName_RG11B10UfloatRenderable,
477    BGRA8UnormStorage = raw::WGPUFeatureName_WGPUFeatureName_BGRA8UnormStorage,
478    Float32Filterable = raw::WGPUFeatureName_WGPUFeatureName_Float32Filterable,
479    Float32Blendable = raw::WGPUFeatureName_WGPUFeatureName_Float32Blendable,
480    ClipDistances = raw::WGPUFeatureName_WGPUFeatureName_ClipDistances,
481    DualSourceBlending = raw::WGPUFeatureName_WGPUFeatureName_DualSourceBlending,
482    Subgroups = raw::WGPUFeatureName_WGPUFeatureName_Subgroups,
483}
484impl WGPUFeatureName {
485    pub fn to_str(self) -> &'static str {
486        self.into()
487    }
488}
489#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
490#[cfg_attr(
491    feature = "strum",
492    derive(
493        strum::Display,
494        strum::EnumString,
495        strum::EnumIter,
496        strum::FromRepr,
497        strum::IntoStaticStr
498    )
499)]
500#[repr(i32)]
501pub enum WGPUFilterMode {
502    Undefined = raw::WGPUFilterMode_WGPUFilterMode_Undefined,
503    Nearest = raw::WGPUFilterMode_WGPUFilterMode_Nearest,
504    Linear = raw::WGPUFilterMode_WGPUFilterMode_Linear,
505}
506impl WGPUFilterMode {
507    pub fn to_str(self) -> &'static str {
508        self.into()
509    }
510}
511#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
512#[cfg_attr(
513    feature = "strum",
514    derive(
515        strum::Display,
516        strum::EnumString,
517        strum::EnumIter,
518        strum::FromRepr,
519        strum::IntoStaticStr
520    )
521)]
522#[repr(i32)]
523pub enum WGPUFrontFace {
524    Undefined = raw::WGPUFrontFace_WGPUFrontFace_Undefined,
525    CCW = raw::WGPUFrontFace_WGPUFrontFace_CCW,
526    CW = raw::WGPUFrontFace_WGPUFrontFace_CW,
527}
528impl WGPUFrontFace {
529    pub fn to_str(self) -> &'static str {
530        self.into()
531    }
532}
533#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
534#[cfg_attr(
535    feature = "strum",
536    derive(
537        strum::Display,
538        strum::EnumString,
539        strum::EnumIter,
540        strum::FromRepr,
541        strum::IntoStaticStr
542    )
543)]
544#[repr(i32)]
545pub enum WGPUIndexFormat {
546    Undefined = raw::WGPUIndexFormat_WGPUIndexFormat_Undefined,
547    Uint16 = raw::WGPUIndexFormat_WGPUIndexFormat_Uint16,
548    Uint32 = raw::WGPUIndexFormat_WGPUIndexFormat_Uint32,
549}
550impl WGPUIndexFormat {
551    pub fn to_str(self) -> &'static str {
552        self.into()
553    }
554}
555#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
556#[cfg_attr(
557    feature = "strum",
558    derive(
559        strum::Display,
560        strum::EnumString,
561        strum::EnumIter,
562        strum::FromRepr,
563        strum::IntoStaticStr
564    )
565)]
566#[repr(i32)]
567pub enum WGPUInstanceFeatureName {
568    TimedWaitAnyEnable = raw::WGPUInstanceFeatureName_WGPUInstanceFeatureName_TimedWaitAnyEnable,
569    ShaderSourceSPIRV = raw::WGPUInstanceFeatureName_WGPUInstanceFeatureName_ShaderSourceSPIRV,
570    MultipleDevicesPerAdapter = raw::WGPUInstanceFeatureName_WGPUInstanceFeatureName_MultipleDevicesPerAdapter,
571}
572impl WGPUInstanceFeatureName {
573    pub fn to_str(self) -> &'static str {
574        self.into()
575    }
576}
577#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
578#[cfg_attr(
579    feature = "strum",
580    derive(
581        strum::Display,
582        strum::EnumString,
583        strum::EnumIter,
584        strum::FromRepr,
585        strum::IntoStaticStr
586    )
587)]
588#[repr(i32)]
589pub enum WGPULoadOp {
590    Undefined = raw::WGPULoadOp_WGPULoadOp_Undefined,
591    Load = raw::WGPULoadOp_WGPULoadOp_Load,
592    Clear = raw::WGPULoadOp_WGPULoadOp_Clear,
593}
594impl WGPULoadOp {
595    pub fn to_str(self) -> &'static str {
596        self.into()
597    }
598}
599#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
600#[cfg_attr(
601    feature = "strum",
602    derive(
603        strum::Display,
604        strum::EnumString,
605        strum::EnumIter,
606        strum::FromRepr,
607        strum::IntoStaticStr
608    )
609)]
610#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
611#[repr(i32)]
612pub enum WGPUMapAsyncStatus {
613    Success = raw::WGPUMapAsyncStatus_WGPUMapAsyncStatus_Success,
614    CallbackCancelled = raw::WGPUMapAsyncStatus_WGPUMapAsyncStatus_CallbackCancelled,
615    Error = raw::WGPUMapAsyncStatus_WGPUMapAsyncStatus_Error,
616    Aborted = raw::WGPUMapAsyncStatus_WGPUMapAsyncStatus_Aborted,
617}
618impl WGPUMapAsyncStatus {
619    pub fn to_str(self) -> &'static str {
620        self.into()
621    }
622}
623#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
624#[cfg_attr(
625    feature = "strum",
626    derive(
627        strum::Display,
628        strum::EnumString,
629        strum::EnumIter,
630        strum::FromRepr,
631        strum::IntoStaticStr
632    )
633)]
634#[repr(i32)]
635pub enum WGPUMipmapFilterMode {
636    Undefined = raw::WGPUMipmapFilterMode_WGPUMipmapFilterMode_Undefined,
637    Nearest = raw::WGPUMipmapFilterMode_WGPUMipmapFilterMode_Nearest,
638    Linear = raw::WGPUMipmapFilterMode_WGPUMipmapFilterMode_Linear,
639}
640impl WGPUMipmapFilterMode {
641    pub fn to_str(self) -> &'static str {
642        self.into()
643    }
644}
645#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
646#[cfg_attr(
647    feature = "strum",
648    derive(
649        strum::Display,
650        strum::EnumString,
651        strum::EnumIter,
652        strum::FromRepr,
653        strum::IntoStaticStr
654    )
655)]
656#[repr(i32)]
657pub enum WGPUOptionalBool {
658    False = raw::WGPUOptionalBool_WGPUOptionalBool_False,
659    True = raw::WGPUOptionalBool_WGPUOptionalBool_True,
660    Undefined = raw::WGPUOptionalBool_WGPUOptionalBool_Undefined,
661}
662impl WGPUOptionalBool {
663    pub fn to_str(self) -> &'static str {
664        self.into()
665    }
666}
667#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
668#[cfg_attr(
669    feature = "strum",
670    derive(
671        strum::Display,
672        strum::EnumString,
673        strum::EnumIter,
674        strum::FromRepr,
675        strum::IntoStaticStr
676    )
677)]
678#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
679#[repr(i32)]
680pub enum WGPUPopErrorScopeStatus {
681    Success = raw::WGPUPopErrorScopeStatus_WGPUPopErrorScopeStatus_Success,
682    CallbackCancelled = raw::WGPUPopErrorScopeStatus_WGPUPopErrorScopeStatus_CallbackCancelled,
683    Error = raw::WGPUPopErrorScopeStatus_WGPUPopErrorScopeStatus_Error,
684}
685impl WGPUPopErrorScopeStatus {
686    pub fn to_str(self) -> &'static str {
687        self.into()
688    }
689}
690#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
691#[cfg_attr(
692    feature = "strum",
693    derive(
694        strum::Display,
695        strum::EnumString,
696        strum::EnumIter,
697        strum::FromRepr,
698        strum::IntoStaticStr
699    )
700)]
701#[repr(i32)]
702pub enum WGPUPowerPreference {
703    Undefined = raw::WGPUPowerPreference_WGPUPowerPreference_Undefined,
704    LowPower = raw::WGPUPowerPreference_WGPUPowerPreference_LowPower,
705    HighPerformance = raw::WGPUPowerPreference_WGPUPowerPreference_HighPerformance,
706}
707impl WGPUPowerPreference {
708    pub fn to_str(self) -> &'static str {
709        self.into()
710    }
711}
712#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
713#[cfg_attr(
714    feature = "strum",
715    derive(
716        strum::Display,
717        strum::EnumString,
718        strum::EnumIter,
719        strum::FromRepr,
720        strum::IntoStaticStr
721    )
722)]
723#[repr(i32)]
724pub enum WGPUPredefinedColorSpace {
725    SRGB = raw::WGPUPredefinedColorSpace_WGPUPredefinedColorSpace_SRGB,
726    DisplayP3 = raw::WGPUPredefinedColorSpace_WGPUPredefinedColorSpace_DisplayP3,
727}
728impl WGPUPredefinedColorSpace {
729    pub fn to_str(self) -> &'static str {
730        self.into()
731    }
732}
733#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
734#[cfg_attr(
735    feature = "strum",
736    derive(
737        strum::Display,
738        strum::EnumString,
739        strum::EnumIter,
740        strum::FromRepr,
741        strum::IntoStaticStr
742    )
743)]
744#[repr(i32)]
745pub enum WGPUPresentMode {
746    /// Present mode is not specified. Use the default.
747    Undefined = raw::WGPUPresentMode_WGPUPresentMode_Undefined,
748    /**
749The presentation of the image to the user waits for the next vertical blanking period to update in a first-in, first-out manner.
750
751Tearing cannot be observed and frame-loop will be limited to the display's refresh rate.
752
753This is the only mode that's always available.*/
754    Fifo = raw::WGPUPresentMode_WGPUPresentMode_Fifo,
755    /**
756The presentation of the image to the user tries to wait for the next vertical blanking period but may decide to not wait if a frame is presented late.
757
758Tearing can sometimes be observed but late-frame don't produce a full-frame stutter in the presentation.
759
760This is still a first-in, first-out mechanism so a frame-loop will be limited to the display's refresh rate.*/
761    FifoRelaxed = raw::WGPUPresentMode_WGPUPresentMode_FifoRelaxed,
762    /**
763The presentation of the image to the user is updated immediately without waiting for a vertical blank.
764
765Tearing can be observed but latency is minimized.*/
766    Immediate = raw::WGPUPresentMode_WGPUPresentMode_Immediate,
767    /**
768The presentation of the image to the user waits for the next vertical blanking period to update to the latest provided image.
769
770Tearing cannot be observed and a frame-loop is not limited to the display's refresh rate.*/
771    Mailbox = raw::WGPUPresentMode_WGPUPresentMode_Mailbox,
772}
773impl WGPUPresentMode {
774    pub fn to_str(self) -> &'static str {
775        self.into()
776    }
777}
778#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
779#[cfg_attr(
780    feature = "strum",
781    derive(
782        strum::Display,
783        strum::EnumString,
784        strum::EnumIter,
785        strum::FromRepr,
786        strum::IntoStaticStr
787    )
788)]
789#[repr(i32)]
790pub enum WGPUPrimitiveTopology {
791    Undefined = raw::WGPUPrimitiveTopology_WGPUPrimitiveTopology_Undefined,
792    PointList = raw::WGPUPrimitiveTopology_WGPUPrimitiveTopology_PointList,
793    LineList = raw::WGPUPrimitiveTopology_WGPUPrimitiveTopology_LineList,
794    LineStrip = raw::WGPUPrimitiveTopology_WGPUPrimitiveTopology_LineStrip,
795    TriangleList = raw::WGPUPrimitiveTopology_WGPUPrimitiveTopology_TriangleList,
796    TriangleStrip = raw::WGPUPrimitiveTopology_WGPUPrimitiveTopology_TriangleStrip,
797}
798impl WGPUPrimitiveTopology {
799    pub fn to_str(self) -> &'static str {
800        self.into()
801    }
802}
803#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
804#[cfg_attr(
805    feature = "strum",
806    derive(
807        strum::Display,
808        strum::EnumString,
809        strum::EnumIter,
810        strum::FromRepr,
811        strum::IntoStaticStr
812    )
813)]
814#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
815#[repr(i32)]
816pub enum WGPUQueryType {
817    Occlusion = raw::WGPUQueryType_WGPUQueryType_Occlusion,
818    Timestamp = raw::WGPUQueryType_WGPUQueryType_Timestamp,
819}
820impl WGPUQueryType {
821    pub fn to_str(self) -> &'static str {
822        self.into()
823    }
824}
825#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
826#[cfg_attr(
827    feature = "strum",
828    derive(
829        strum::Display,
830        strum::EnumString,
831        strum::EnumIter,
832        strum::FromRepr,
833        strum::IntoStaticStr
834    )
835)]
836#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
837#[repr(i32)]
838pub enum WGPUQueueWorkDoneStatus {
839    Success = raw::WGPUQueueWorkDoneStatus_WGPUQueueWorkDoneStatus_Success,
840    CallbackCancelled = raw::WGPUQueueWorkDoneStatus_WGPUQueueWorkDoneStatus_CallbackCancelled,
841    Error = raw::WGPUQueueWorkDoneStatus_WGPUQueueWorkDoneStatus_Error,
842}
843impl WGPUQueueWorkDoneStatus {
844    pub fn to_str(self) -> &'static str {
845        self.into()
846    }
847}
848#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
849#[cfg_attr(
850    feature = "strum",
851    derive(
852        strum::Display,
853        strum::EnumString,
854        strum::EnumIter,
855        strum::FromRepr,
856        strum::IntoStaticStr
857    )
858)]
859#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
860#[repr(i32)]
861pub enum WGPURequestAdapterStatus {
862    Success = raw::WGPURequestAdapterStatus_WGPURequestAdapterStatus_Success,
863    CallbackCancelled = raw::WGPURequestAdapterStatus_WGPURequestAdapterStatus_CallbackCancelled,
864    Unavailable = raw::WGPURequestAdapterStatus_WGPURequestAdapterStatus_Unavailable,
865    Error = raw::WGPURequestAdapterStatus_WGPURequestAdapterStatus_Error,
866}
867impl WGPURequestAdapterStatus {
868    pub fn to_str(self) -> &'static str {
869        self.into()
870    }
871}
872#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
873#[cfg_attr(
874    feature = "strum",
875    derive(
876        strum::Display,
877        strum::EnumString,
878        strum::EnumIter,
879        strum::FromRepr,
880        strum::IntoStaticStr
881    )
882)]
883#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
884#[repr(i32)]
885pub enum WGPURequestDeviceStatus {
886    Success = raw::WGPURequestDeviceStatus_WGPURequestDeviceStatus_Success,
887    CallbackCancelled = raw::WGPURequestDeviceStatus_WGPURequestDeviceStatus_CallbackCancelled,
888    Error = raw::WGPURequestDeviceStatus_WGPURequestDeviceStatus_Error,
889}
890impl WGPURequestDeviceStatus {
891    pub fn to_str(self) -> &'static str {
892        self.into()
893    }
894}
895#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
896#[cfg_attr(
897    feature = "strum",
898    derive(
899        strum::Display,
900        strum::EnumString,
901        strum::EnumIter,
902        strum::FromRepr,
903        strum::IntoStaticStr
904    )
905)]
906#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
907#[repr(i32)]
908pub enum WGPUSType {
909    ShaderSourceSPIRV = raw::WGPUSType_WGPUSType_ShaderSourceSPIRV,
910    ShaderSourceWGSL = raw::WGPUSType_WGPUSType_ShaderSourceWGSL,
911    RenderPassMaxDrawCount = raw::WGPUSType_WGPUSType_RenderPassMaxDrawCount,
912    SurfaceSourceMetalLayer = raw::WGPUSType_WGPUSType_SurfaceSourceMetalLayer,
913    SurfaceSourceWindowsHWND = raw::WGPUSType_WGPUSType_SurfaceSourceWindowsHWND,
914    SurfaceSourceXlibWindow = raw::WGPUSType_WGPUSType_SurfaceSourceXlibWindow,
915    SurfaceSourceWaylandSurface = raw::WGPUSType_WGPUSType_SurfaceSourceWaylandSurface,
916    SurfaceSourceAndroidNativeWindow = raw::WGPUSType_WGPUSType_SurfaceSourceAndroidNativeWindow,
917    SurfaceSourceXCBWindow = raw::WGPUSType_WGPUSType_SurfaceSourceXCBWindow,
918    SurfaceColorManagement = raw::WGPUSType_WGPUSType_SurfaceColorManagement,
919    RequestAdapterWebXROptions = raw::WGPUSType_WGPUSType_RequestAdapterWebXROptions,
920}
921impl WGPUSType {
922    pub fn to_str(self) -> &'static str {
923        self.into()
924    }
925}
926#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
927#[cfg_attr(
928    feature = "strum",
929    derive(
930        strum::Display,
931        strum::EnumString,
932        strum::EnumIter,
933        strum::FromRepr,
934        strum::IntoStaticStr
935    )
936)]
937#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
938#[repr(i32)]
939pub enum WGPUSamplerBindingType {
940    BindingNotUsed = raw::WGPUSamplerBindingType_WGPUSamplerBindingType_BindingNotUsed,
941    Undefined = raw::WGPUSamplerBindingType_WGPUSamplerBindingType_Undefined,
942    Filtering = raw::WGPUSamplerBindingType_WGPUSamplerBindingType_Filtering,
943    NonFiltering = raw::WGPUSamplerBindingType_WGPUSamplerBindingType_NonFiltering,
944    Comparison = raw::WGPUSamplerBindingType_WGPUSamplerBindingType_Comparison,
945}
946impl WGPUSamplerBindingType {
947    pub fn to_str(self) -> &'static str {
948        self.into()
949    }
950}
951#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
952#[cfg_attr(
953    feature = "strum",
954    derive(
955        strum::Display,
956        strum::EnumString,
957        strum::EnumIter,
958        strum::FromRepr,
959        strum::IntoStaticStr
960    )
961)]
962#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
963#[repr(i32)]
964pub enum WGPUStatus {
965    Success = raw::WGPUStatus_WGPUStatus_Success,
966    Error = raw::WGPUStatus_WGPUStatus_Error,
967}
968impl WGPUStatus {
969    pub fn to_str(self) -> &'static str {
970        self.into()
971    }
972}
973#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
974#[cfg_attr(
975    feature = "strum",
976    derive(
977        strum::Display,
978        strum::EnumString,
979        strum::EnumIter,
980        strum::FromRepr,
981        strum::IntoStaticStr
982    )
983)]
984#[repr(i32)]
985pub enum WGPUStencilOperation {
986    Undefined = raw::WGPUStencilOperation_WGPUStencilOperation_Undefined,
987    Keep = raw::WGPUStencilOperation_WGPUStencilOperation_Keep,
988    Zero = raw::WGPUStencilOperation_WGPUStencilOperation_Zero,
989    Replace = raw::WGPUStencilOperation_WGPUStencilOperation_Replace,
990    Invert = raw::WGPUStencilOperation_WGPUStencilOperation_Invert,
991    IncrementClamp = raw::WGPUStencilOperation_WGPUStencilOperation_IncrementClamp,
992    DecrementClamp = raw::WGPUStencilOperation_WGPUStencilOperation_DecrementClamp,
993    IncrementWrap = raw::WGPUStencilOperation_WGPUStencilOperation_IncrementWrap,
994    DecrementWrap = raw::WGPUStencilOperation_WGPUStencilOperation_DecrementWrap,
995}
996impl WGPUStencilOperation {
997    pub fn to_str(self) -> &'static str {
998        self.into()
999    }
1000}
1001#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1002#[cfg_attr(
1003    feature = "strum",
1004    derive(
1005        strum::Display,
1006        strum::EnumString,
1007        strum::EnumIter,
1008        strum::FromRepr,
1009        strum::IntoStaticStr
1010    )
1011)]
1012#[repr(i32)]
1013pub enum WGPUStorageTextureAccess {
1014    BindingNotUsed = raw::WGPUStorageTextureAccess_WGPUStorageTextureAccess_BindingNotUsed,
1015    Undefined = raw::WGPUStorageTextureAccess_WGPUStorageTextureAccess_Undefined,
1016    WriteOnly = raw::WGPUStorageTextureAccess_WGPUStorageTextureAccess_WriteOnly,
1017    ReadOnly = raw::WGPUStorageTextureAccess_WGPUStorageTextureAccess_ReadOnly,
1018    ReadWrite = raw::WGPUStorageTextureAccess_WGPUStorageTextureAccess_ReadWrite,
1019}
1020impl WGPUStorageTextureAccess {
1021    pub fn to_str(self) -> &'static str {
1022        self.into()
1023    }
1024}
1025#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1026#[cfg_attr(
1027    feature = "strum",
1028    derive(
1029        strum::Display,
1030        strum::EnumString,
1031        strum::EnumIter,
1032        strum::FromRepr,
1033        strum::IntoStaticStr
1034    )
1035)]
1036#[repr(i32)]
1037pub enum WGPUStoreOp {
1038    Undefined = raw::WGPUStoreOp_WGPUStoreOp_Undefined,
1039    Store = raw::WGPUStoreOp_WGPUStoreOp_Store,
1040    Discard = raw::WGPUStoreOp_WGPUStoreOp_Discard,
1041}
1042impl WGPUStoreOp {
1043    pub fn to_str(self) -> &'static str {
1044        self.into()
1045    }
1046}
1047#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1048#[cfg_attr(
1049    feature = "strum",
1050    derive(
1051        strum::Display,
1052        strum::EnumString,
1053        strum::EnumIter,
1054        strum::FromRepr,
1055        strum::IntoStaticStr
1056    )
1057)]
1058#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
1059#[repr(i32)]
1060pub enum WGPUSurfaceGetCurrentTextureStatus {
1061    SuccessOptimal = raw::WGPUSurfaceGetCurrentTextureStatus_WGPUSurfaceGetCurrentTextureStatus_SuccessOptimal,
1062    SuccessSuboptimal = raw::WGPUSurfaceGetCurrentTextureStatus_WGPUSurfaceGetCurrentTextureStatus_SuccessSuboptimal,
1063    Timeout = raw::WGPUSurfaceGetCurrentTextureStatus_WGPUSurfaceGetCurrentTextureStatus_Timeout,
1064    Outdated = raw::WGPUSurfaceGetCurrentTextureStatus_WGPUSurfaceGetCurrentTextureStatus_Outdated,
1065    Lost = raw::WGPUSurfaceGetCurrentTextureStatus_WGPUSurfaceGetCurrentTextureStatus_Lost,
1066    Error = raw::WGPUSurfaceGetCurrentTextureStatus_WGPUSurfaceGetCurrentTextureStatus_Error,
1067}
1068impl WGPUSurfaceGetCurrentTextureStatus {
1069    pub fn to_str(self) -> &'static str {
1070        self.into()
1071    }
1072}
1073#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1074#[cfg_attr(
1075    feature = "strum",
1076    derive(
1077        strum::Display,
1078        strum::EnumString,
1079        strum::EnumIter,
1080        strum::FromRepr,
1081        strum::IntoStaticStr
1082    )
1083)]
1084#[repr(i32)]
1085pub enum WGPUTextureAspect {
1086    Undefined = raw::WGPUTextureAspect_WGPUTextureAspect_Undefined,
1087    All = raw::WGPUTextureAspect_WGPUTextureAspect_All,
1088    StencilOnly = raw::WGPUTextureAspect_WGPUTextureAspect_StencilOnly,
1089    DepthOnly = raw::WGPUTextureAspect_WGPUTextureAspect_DepthOnly,
1090}
1091impl WGPUTextureAspect {
1092    pub fn to_str(self) -> &'static str {
1093        self.into()
1094    }
1095}
1096#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1097#[cfg_attr(
1098    feature = "strum",
1099    derive(
1100        strum::Display,
1101        strum::EnumString,
1102        strum::EnumIter,
1103        strum::FromRepr,
1104        strum::IntoStaticStr
1105    )
1106)]
1107#[repr(i32)]
1108pub enum WGPUTextureDimension {
1109    Undefined = raw::WGPUTextureDimension_WGPUTextureDimension_Undefined,
1110    D1 = raw::WGPUTextureDimension_WGPUTextureDimension_1D,
1111    D2 = raw::WGPUTextureDimension_WGPUTextureDimension_2D,
1112    D3 = raw::WGPUTextureDimension_WGPUTextureDimension_3D,
1113}
1114impl WGPUTextureDimension {
1115    pub fn to_str(self) -> &'static str {
1116        self.into()
1117    }
1118}
1119#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1120#[cfg_attr(
1121    feature = "strum",
1122    derive(
1123        strum::Display,
1124        strum::EnumString,
1125        strum::EnumIter,
1126        strum::FromRepr,
1127        strum::IntoStaticStr
1128    )
1129)]
1130#[repr(i32)]
1131pub enum WGPUTextureFormat {
1132    Undefined = raw::WGPUTextureFormat_WGPUTextureFormat_Undefined,
1133    R8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_R8Unorm,
1134    R8Snorm = raw::WGPUTextureFormat_WGPUTextureFormat_R8Snorm,
1135    R8Uint = raw::WGPUTextureFormat_WGPUTextureFormat_R8Uint,
1136    R8Sint = raw::WGPUTextureFormat_WGPUTextureFormat_R8Sint,
1137    R16Uint = raw::WGPUTextureFormat_WGPUTextureFormat_R16Uint,
1138    R16Sint = raw::WGPUTextureFormat_WGPUTextureFormat_R16Sint,
1139    R16Float = raw::WGPUTextureFormat_WGPUTextureFormat_R16Float,
1140    RG8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_RG8Unorm,
1141    RG8Snorm = raw::WGPUTextureFormat_WGPUTextureFormat_RG8Snorm,
1142    RG8Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RG8Uint,
1143    RG8Sint = raw::WGPUTextureFormat_WGPUTextureFormat_RG8Sint,
1144    R32Float = raw::WGPUTextureFormat_WGPUTextureFormat_R32Float,
1145    R32Uint = raw::WGPUTextureFormat_WGPUTextureFormat_R32Uint,
1146    R32Sint = raw::WGPUTextureFormat_WGPUTextureFormat_R32Sint,
1147    RG16Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RG16Uint,
1148    RG16Sint = raw::WGPUTextureFormat_WGPUTextureFormat_RG16Sint,
1149    RG16Float = raw::WGPUTextureFormat_WGPUTextureFormat_RG16Float,
1150    RGBA8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA8Unorm,
1151    RGBA8UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA8UnormSrgb,
1152    RGBA8Snorm = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA8Snorm,
1153    RGBA8Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA8Uint,
1154    RGBA8Sint = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA8Sint,
1155    BGRA8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_BGRA8Unorm,
1156    BGRA8UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_BGRA8UnormSrgb,
1157    RGB10A2Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RGB10A2Uint,
1158    RGB10A2Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_RGB10A2Unorm,
1159    RG11B10Ufloat = raw::WGPUTextureFormat_WGPUTextureFormat_RG11B10Ufloat,
1160    RGB9E5Ufloat = raw::WGPUTextureFormat_WGPUTextureFormat_RGB9E5Ufloat,
1161    RG32Float = raw::WGPUTextureFormat_WGPUTextureFormat_RG32Float,
1162    RG32Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RG32Uint,
1163    RG32Sint = raw::WGPUTextureFormat_WGPUTextureFormat_RG32Sint,
1164    RGBA16Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA16Uint,
1165    RGBA16Sint = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA16Sint,
1166    RGBA16Float = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA16Float,
1167    RGBA32Float = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA32Float,
1168    RGBA32Uint = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA32Uint,
1169    RGBA32Sint = raw::WGPUTextureFormat_WGPUTextureFormat_RGBA32Sint,
1170    Stencil8 = raw::WGPUTextureFormat_WGPUTextureFormat_Stencil8,
1171    Depth16Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_Depth16Unorm,
1172    Depth24Plus = raw::WGPUTextureFormat_WGPUTextureFormat_Depth24Plus,
1173    Depth24PlusStencil8 = raw::WGPUTextureFormat_WGPUTextureFormat_Depth24PlusStencil8,
1174    Depth32Float = raw::WGPUTextureFormat_WGPUTextureFormat_Depth32Float,
1175    Depth32FloatStencil8 = raw::WGPUTextureFormat_WGPUTextureFormat_Depth32FloatStencil8,
1176    BC1RGBAUnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC1RGBAUnorm,
1177    BC1RGBAUnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_BC1RGBAUnormSrgb,
1178    BC2RGBAUnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC2RGBAUnorm,
1179    BC2RGBAUnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_BC2RGBAUnormSrgb,
1180    BC3RGBAUnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC3RGBAUnorm,
1181    BC3RGBAUnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_BC3RGBAUnormSrgb,
1182    BC4RUnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC4RUnorm,
1183    BC4RSnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC4RSnorm,
1184    BC5RGUnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC5RGUnorm,
1185    BC5RGSnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC5RGSnorm,
1186    BC6HRGBUfloat = raw::WGPUTextureFormat_WGPUTextureFormat_BC6HRGBUfloat,
1187    BC6HRGBFloat = raw::WGPUTextureFormat_WGPUTextureFormat_BC6HRGBFloat,
1188    BC7RGBAUnorm = raw::WGPUTextureFormat_WGPUTextureFormat_BC7RGBAUnorm,
1189    BC7RGBAUnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_BC7RGBAUnormSrgb,
1190    ETC2RGB8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ETC2RGB8Unorm,
1191    ETC2RGB8UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ETC2RGB8UnormSrgb,
1192    ETC2RGB8A1Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ETC2RGB8A1Unorm,
1193    ETC2RGB8A1UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ETC2RGB8A1UnormSrgb,
1194    ETC2RGBA8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ETC2RGBA8Unorm,
1195    ETC2RGBA8UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ETC2RGBA8UnormSrgb,
1196    EACR11Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_EACR11Unorm,
1197    EACR11Snorm = raw::WGPUTextureFormat_WGPUTextureFormat_EACR11Snorm,
1198    EACRG11Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_EACRG11Unorm,
1199    EACRG11Snorm = raw::WGPUTextureFormat_WGPUTextureFormat_EACRG11Snorm,
1200    ASTC4x4Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC4x4Unorm,
1201    ASTC4x4UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC4x4UnormSrgb,
1202    ASTC5x4Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC5x4Unorm,
1203    ASTC5x4UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC5x4UnormSrgb,
1204    ASTC5x5Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC5x5Unorm,
1205    ASTC5x5UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC5x5UnormSrgb,
1206    ASTC6x5Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC6x5Unorm,
1207    ASTC6x5UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC6x5UnormSrgb,
1208    ASTC6x6Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC6x6Unorm,
1209    ASTC6x6UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC6x6UnormSrgb,
1210    ASTC8x5Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC8x5Unorm,
1211    ASTC8x5UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC8x5UnormSrgb,
1212    ASTC8x6Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC8x6Unorm,
1213    ASTC8x6UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC8x6UnormSrgb,
1214    ASTC8x8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC8x8Unorm,
1215    ASTC8x8UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC8x8UnormSrgb,
1216    ASTC10x5Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x5Unorm,
1217    ASTC10x5UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x5UnormSrgb,
1218    ASTC10x6Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x6Unorm,
1219    ASTC10x6UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x6UnormSrgb,
1220    ASTC10x8Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x8Unorm,
1221    ASTC10x8UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x8UnormSrgb,
1222    ASTC10x10Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x10Unorm,
1223    ASTC10x10UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC10x10UnormSrgb,
1224    ASTC12x10Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC12x10Unorm,
1225    ASTC12x10UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC12x10UnormSrgb,
1226    ASTC12x12Unorm = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC12x12Unorm,
1227    ASTC12x12UnormSrgb = raw::WGPUTextureFormat_WGPUTextureFormat_ASTC12x12UnormSrgb,
1228}
1229impl WGPUTextureFormat {
1230    pub fn to_str(self) -> &'static str {
1231        self.into()
1232    }
1233}
1234#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1235#[cfg_attr(
1236    feature = "strum",
1237    derive(
1238        strum::Display,
1239        strum::EnumString,
1240        strum::EnumIter,
1241        strum::FromRepr,
1242        strum::IntoStaticStr
1243    )
1244)]
1245#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
1246#[repr(i32)]
1247pub enum WGPUTextureSampleType {
1248    BindingNotUsed = raw::WGPUTextureSampleType_WGPUTextureSampleType_BindingNotUsed,
1249    Undefined = raw::WGPUTextureSampleType_WGPUTextureSampleType_Undefined,
1250    Float = raw::WGPUTextureSampleType_WGPUTextureSampleType_Float,
1251    UnfilterableFloat = raw::WGPUTextureSampleType_WGPUTextureSampleType_UnfilterableFloat,
1252    Depth = raw::WGPUTextureSampleType_WGPUTextureSampleType_Depth,
1253    Sint = raw::WGPUTextureSampleType_WGPUTextureSampleType_Sint,
1254    Uint = raw::WGPUTextureSampleType_WGPUTextureSampleType_Uint,
1255}
1256impl WGPUTextureSampleType {
1257    pub fn to_str(self) -> &'static str {
1258        self.into()
1259    }
1260}
1261#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1262#[cfg_attr(
1263    feature = "strum",
1264    derive(
1265        strum::Display,
1266        strum::EnumString,
1267        strum::EnumIter,
1268        strum::FromRepr,
1269        strum::IntoStaticStr
1270    )
1271)]
1272#[repr(i32)]
1273pub enum WGPUTextureViewDimension {
1274    Undefined = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_Undefined,
1275    D1 = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_1D,
1276    D2 = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_2D,
1277    D2Array = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_2DArray,
1278    Cube = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_Cube,
1279    CubeArray = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_CubeArray,
1280    D3 = raw::WGPUTextureViewDimension_WGPUTextureViewDimension_3D,
1281}
1282impl WGPUTextureViewDimension {
1283    pub fn to_str(self) -> &'static str {
1284        self.into()
1285    }
1286}
1287#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1288#[cfg_attr(
1289    feature = "strum",
1290    derive(
1291        strum::Display,
1292        strum::EnumString,
1293        strum::EnumIter,
1294        strum::FromRepr,
1295        strum::IntoStaticStr
1296    )
1297)]
1298#[repr(i32)]
1299pub enum WGPUToneMappingMode {
1300    Standard = raw::WGPUToneMappingMode_WGPUToneMappingMode_Standard,
1301    Extended = raw::WGPUToneMappingMode_WGPUToneMappingMode_Extended,
1302}
1303impl WGPUToneMappingMode {
1304    pub fn to_str(self) -> &'static str {
1305        self.into()
1306    }
1307}
1308#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1309#[cfg_attr(
1310    feature = "strum",
1311    derive(
1312        strum::Display,
1313        strum::EnumString,
1314        strum::EnumIter,
1315        strum::FromRepr,
1316        strum::IntoStaticStr
1317    )
1318)]
1319#[repr(i32)]
1320pub enum WGPUVertexFormat {
1321    Uint8 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint8,
1322    Uint8x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint8x2,
1323    Uint8x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint8x4,
1324    Sint8 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint8,
1325    Sint8x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint8x2,
1326    Sint8x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint8x4,
1327    Unorm8 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm8,
1328    Unorm8x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm8x2,
1329    Unorm8x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm8x4,
1330    Snorm8 = raw::WGPUVertexFormat_WGPUVertexFormat_Snorm8,
1331    Snorm8x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Snorm8x2,
1332    Snorm8x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Snorm8x4,
1333    Uint16 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint16,
1334    Uint16x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint16x2,
1335    Uint16x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint16x4,
1336    Sint16 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint16,
1337    Sint16x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint16x2,
1338    Sint16x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint16x4,
1339    Unorm16 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm16,
1340    Unorm16x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm16x2,
1341    Unorm16x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm16x4,
1342    Snorm16 = raw::WGPUVertexFormat_WGPUVertexFormat_Snorm16,
1343    Snorm16x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Snorm16x2,
1344    Snorm16x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Snorm16x4,
1345    Float16 = raw::WGPUVertexFormat_WGPUVertexFormat_Float16,
1346    Float16x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Float16x2,
1347    Float16x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Float16x4,
1348    Float32 = raw::WGPUVertexFormat_WGPUVertexFormat_Float32,
1349    Float32x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Float32x2,
1350    Float32x3 = raw::WGPUVertexFormat_WGPUVertexFormat_Float32x3,
1351    Float32x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Float32x4,
1352    Uint32 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint32,
1353    Uint32x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint32x2,
1354    Uint32x3 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint32x3,
1355    Uint32x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Uint32x4,
1356    Sint32 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint32,
1357    Sint32x2 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint32x2,
1358    Sint32x3 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint32x3,
1359    Sint32x4 = raw::WGPUVertexFormat_WGPUVertexFormat_Sint32x4,
1360    Unorm10_10_10_2 = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm10_10_10_2,
1361    Unorm8x4BGRA = raw::WGPUVertexFormat_WGPUVertexFormat_Unorm8x4BGRA,
1362}
1363impl WGPUVertexFormat {
1364    pub fn to_str(self) -> &'static str {
1365        self.into()
1366    }
1367}
1368#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1369#[cfg_attr(
1370    feature = "strum",
1371    derive(
1372        strum::Display,
1373        strum::EnumString,
1374        strum::EnumIter,
1375        strum::FromRepr,
1376        strum::IntoStaticStr
1377    )
1378)]
1379#[repr(i32)]
1380pub enum WGPUVertexStepMode {
1381    Undefined = raw::WGPUVertexStepMode_WGPUVertexStepMode_Undefined,
1382    Vertex = raw::WGPUVertexStepMode_WGPUVertexStepMode_Vertex,
1383    Instance = raw::WGPUVertexStepMode_WGPUVertexStepMode_Instance,
1384}
1385impl WGPUVertexStepMode {
1386    pub fn to_str(self) -> &'static str {
1387        self.into()
1388    }
1389}
1390#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1391#[cfg_attr(
1392    feature = "strum",
1393    derive(
1394        strum::Display,
1395        strum::EnumString,
1396        strum::EnumIter,
1397        strum::FromRepr,
1398        strum::IntoStaticStr
1399    )
1400)]
1401#[cfg_attr(feature = "strum", derive(strum::EnumIs))]
1402#[repr(i32)]
1403pub enum WGPUWaitStatus {
1404    Success = raw::WGPUWaitStatus_WGPUWaitStatus_Success,
1405    TimedOut = raw::WGPUWaitStatus_WGPUWaitStatus_TimedOut,
1406    Error = raw::WGPUWaitStatus_WGPUWaitStatus_Error,
1407}
1408impl WGPUWaitStatus {
1409    pub fn to_str(self) -> &'static str {
1410        self.into()
1411    }
1412}
1413#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1414#[cfg_attr(
1415    feature = "strum",
1416    derive(
1417        strum::Display,
1418        strum::EnumString,
1419        strum::EnumIter,
1420        strum::FromRepr,
1421        strum::IntoStaticStr
1422    )
1423)]
1424#[repr(i32)]
1425pub enum WGPUWGSLLanguageFeatureName {
1426    ReadonlyAndReadwriteStorageTextures = raw::WGPUWGSLLanguageFeatureName_WGPUWGSLLanguageFeatureName_ReadonlyAndReadwriteStorageTextures,
1427    Packed4x8IntegerDotProduct = raw::WGPUWGSLLanguageFeatureName_WGPUWGSLLanguageFeatureName_Packed4x8IntegerDotProduct,
1428    UnrestrictedPointerParameters = raw::WGPUWGSLLanguageFeatureName_WGPUWGSLLanguageFeatureName_UnrestrictedPointerParameters,
1429    PointerCompositeAccess = raw::WGPUWGSLLanguageFeatureName_WGPUWGSLLanguageFeatureName_PointerCompositeAccess,
1430}
1431impl WGPUWGSLLanguageFeatureName {
1432    pub fn to_str(self) -> &'static str {
1433        self.into()
1434    }
1435}
1436bitflags::bitflags! {
1437    #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[repr(transparent)] pub struct
1438    WGPUBufferUsage : WGPUFlags { const NONE = raw::WGPUBufferUsage_None; const MAP_READ
1439    = raw::WGPUBufferUsage_MapRead; const MAP_WRITE = raw::WGPUBufferUsage_MapWrite;
1440    const COPY_SRC = raw::WGPUBufferUsage_CopySrc; const COPY_DST =
1441    raw::WGPUBufferUsage_CopyDst; const INDEX = raw::WGPUBufferUsage_Index; const VERTEX
1442    = raw::WGPUBufferUsage_Vertex; const UNIFORM = raw::WGPUBufferUsage_Uniform; const
1443    STORAGE = raw::WGPUBufferUsage_Storage; const INDIRECT =
1444    raw::WGPUBufferUsage_Indirect; const QUERY_RESOLVE =
1445    raw::WGPUBufferUsage_QueryResolve; }
1446}
1447bitflags::bitflags! {
1448    #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[repr(transparent)] pub struct
1449    WGPUColorWriteMask : WGPUFlags { const NONE = raw::WGPUColorWriteMask_None; const RED
1450    = raw::WGPUColorWriteMask_Red; const GREEN = raw::WGPUColorWriteMask_Green; const
1451    BLUE = raw::WGPUColorWriteMask_Blue; const ALPHA = raw::WGPUColorWriteMask_Alpha;
1452    const ALL = raw::WGPUColorWriteMask_All; }
1453}
1454bitflags::bitflags! {
1455    #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[repr(transparent)] pub struct
1456    WGPUMapMode : WGPUFlags { const NONE = raw::WGPUMapMode_None; const READ =
1457    raw::WGPUMapMode_Read; const WRITE = raw::WGPUMapMode_Write; }
1458}
1459bitflags::bitflags! {
1460    #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[repr(transparent)] pub struct
1461    WGPUShaderStage : WGPUFlags { const NONE = raw::WGPUShaderStage_None; const VERTEX =
1462    raw::WGPUShaderStage_Vertex; const FRAGMENT = raw::WGPUShaderStage_Fragment; const
1463    COMPUTE = raw::WGPUShaderStage_Compute; }
1464}
1465bitflags::bitflags! {
1466    #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[repr(transparent)] pub struct
1467    WGPUTextureUsage : WGPUFlags { const NONE = raw::WGPUTextureUsage_None; const
1468    COPY_SRC = raw::WGPUTextureUsage_CopySrc; const COPY_DST =
1469    raw::WGPUTextureUsage_CopyDst; const TEXTURE_BINDING =
1470    raw::WGPUTextureUsage_TextureBinding; const STORAGE_BINDING =
1471    raw::WGPUTextureUsage_StorageBinding; const RENDER_ATTACHMENT =
1472    raw::WGPUTextureUsage_RenderAttachment; }
1473}
1474pub use raw::WGPUAdapterInfo;
1475pub use raw::WGPUBindGroupDescriptor;
1476pub use raw::WGPUBindGroupEntry;
1477pub use raw::WGPUBindGroupLayoutDescriptor;
1478pub use raw::WGPUBindGroupLayoutEntry;
1479pub use raw::WGPUBlendComponent;
1480pub use raw::WGPUBlendState;
1481pub use raw::WGPUBufferBindingLayout;
1482pub use raw::WGPUBufferDescriptor;
1483pub use raw::WGPUColor;
1484pub use raw::WGPUColorTargetState;
1485pub use raw::WGPUCommandBufferDescriptor;
1486pub use raw::WGPUCommandEncoderDescriptor;
1487pub use raw::WGPUCompilationInfo;
1488pub use raw::WGPUCompilationMessage;
1489pub use raw::WGPUComputePassDescriptor;
1490pub use raw::WGPUComputePipelineDescriptor;
1491pub use raw::WGPUComputeState;
1492pub use raw::WGPUConstantEntry;
1493pub use raw::WGPUDepthStencilState;
1494pub use raw::WGPUDeviceDescriptor;
1495pub use raw::WGPUExtent3D;
1496pub use raw::WGPUFragmentState;
1497pub use raw::WGPUFuture;
1498pub use raw::WGPUFutureWaitInfo;
1499pub use raw::WGPUInstanceDescriptor;
1500pub use raw::WGPUInstanceLimits;
1501pub use raw::WGPULimits;
1502pub use raw::WGPUMultisampleState;
1503pub use raw::WGPUOrigin3D;
1504pub use raw::WGPUPassTimestampWrites;
1505pub use raw::WGPUPipelineLayoutDescriptor;
1506pub use raw::WGPUPrimitiveState;
1507pub use raw::WGPUQuerySetDescriptor;
1508pub use raw::WGPUQueueDescriptor;
1509pub use raw::WGPURenderBundleDescriptor;
1510pub use raw::WGPURenderBundleEncoderDescriptor;
1511pub use raw::WGPURenderPassColorAttachment;
1512pub use raw::WGPURenderPassDepthStencilAttachment;
1513pub use raw::WGPURenderPassDescriptor;
1514pub use raw::WGPURenderPassMaxDrawCount;
1515pub use raw::WGPURenderPipelineDescriptor;
1516pub use raw::WGPURequestAdapterOptions;
1517pub use raw::WGPURequestAdapterWebXROptions;
1518pub use raw::WGPUSamplerBindingLayout;
1519pub use raw::WGPUSamplerDescriptor;
1520pub use raw::WGPUShaderModuleDescriptor;
1521pub use raw::WGPUShaderSourceSPIRV;
1522pub use raw::WGPUShaderSourceWGSL;
1523pub use raw::WGPUStencilFaceState;
1524pub use raw::WGPUStorageTextureBindingLayout;
1525pub use raw::WGPUSupportedFeatures;
1526pub use raw::WGPUSupportedInstanceFeatures;
1527pub use raw::WGPUSupportedWGSLLanguageFeatures;
1528pub use raw::WGPUSurfaceCapabilities;
1529pub use raw::WGPUSurfaceColorManagement;
1530pub use raw::WGPUSurfaceConfiguration;
1531pub use raw::WGPUSurfaceDescriptor;
1532pub use raw::WGPUSurfaceSourceAndroidNativeWindow;
1533pub use raw::WGPUSurfaceSourceMetalLayer;
1534pub use raw::WGPUSurfaceSourceWaylandSurface;
1535pub use raw::WGPUSurfaceSourceWindowsHWND;
1536pub use raw::WGPUSurfaceSourceXCBWindow;
1537pub use raw::WGPUSurfaceSourceXlibWindow;
1538pub use raw::WGPUSurfaceTexture;
1539pub use raw::WGPUTexelCopyBufferInfo;
1540pub use raw::WGPUTexelCopyBufferLayout;
1541pub use raw::WGPUTexelCopyTextureInfo;
1542pub use raw::WGPUTextureBindingLayout;
1543pub use raw::WGPUTextureDescriptor;
1544pub use raw::WGPUTextureViewDescriptor;
1545pub use raw::WGPUVertexAttribute;
1546pub use raw::WGPUVertexBufferLayout;
1547pub use raw::WGPUVertexState;
1548pub use raw::WGPUBufferMapCallback;
1549pub use raw::WGPUBufferMapCallbackInfo;
1550pub use raw::WGPUCompilationInfoCallback;
1551pub use raw::WGPUCompilationInfoCallbackInfo;
1552pub use raw::WGPUCreateComputePipelineAsyncCallback;
1553pub use raw::WGPUCreateComputePipelineAsyncCallbackInfo;
1554pub use raw::WGPUCreateRenderPipelineAsyncCallback;
1555pub use raw::WGPUCreateRenderPipelineAsyncCallbackInfo;
1556pub use raw::WGPUDeviceLostCallback;
1557pub use raw::WGPUDeviceLostCallbackInfo;
1558pub use raw::WGPUPopErrorScopeCallback;
1559pub use raw::WGPUPopErrorScopeCallbackInfo;
1560pub use raw::WGPUQueueWorkDoneCallback;
1561pub use raw::WGPUQueueWorkDoneCallbackInfo;
1562pub use raw::WGPURequestAdapterCallback;
1563pub use raw::WGPURequestAdapterCallbackInfo;
1564pub use raw::WGPURequestDeviceCallback;
1565pub use raw::WGPURequestDeviceCallbackInfo;
1566pub use raw::WGPUUncapturedErrorCallback;
1567pub use raw::WGPUUncapturedErrorCallbackInfo;
1568pub use raw::wgpuCreateInstance;
1569pub use raw::wgpuGetInstanceFeatures;
1570pub use raw::wgpuGetInstanceLimits;
1571pub use raw::wgpuHasInstanceFeature;
1572pub use raw::WGPUAdapter;
1573pub use raw::wgpuAdapterAddRef;
1574pub use raw::wgpuAdapterRelease;
1575pub use raw::wgpuAdapterGetLimits;
1576pub use raw::wgpuAdapterHasFeature;
1577pub use raw::wgpuAdapterGetFeatures;
1578pub use raw::wgpuAdapterGetInfo;
1579pub use raw::wgpuAdapterRequestDevice;
1580pub use raw::WGPUBindGroup;
1581pub use raw::wgpuBindGroupAddRef;
1582pub use raw::wgpuBindGroupRelease;
1583pub use raw::wgpuBindGroupSetLabel;
1584pub use raw::WGPUBindGroupLayout;
1585pub use raw::wgpuBindGroupLayoutAddRef;
1586pub use raw::wgpuBindGroupLayoutRelease;
1587pub use raw::wgpuBindGroupLayoutSetLabel;
1588pub use raw::WGPUBuffer;
1589pub use raw::wgpuBufferAddRef;
1590pub use raw::wgpuBufferRelease;
1591pub use raw::wgpuBufferMapAsync;
1592pub use raw::wgpuBufferGetMappedRange;
1593pub use raw::wgpuBufferGetConstMappedRange;
1594pub use raw::wgpuBufferReadMappedRange;
1595pub use raw::wgpuBufferWriteMappedRange;
1596pub use raw::wgpuBufferSetLabel;
1597pub use raw::wgpuBufferGetUsage;
1598pub use raw::wgpuBufferGetSize;
1599pub use raw::wgpuBufferGetMapState;
1600pub use raw::wgpuBufferUnmap;
1601pub use raw::wgpuBufferDestroy;
1602pub use raw::WGPUCommandBuffer;
1603pub use raw::wgpuCommandBufferAddRef;
1604pub use raw::wgpuCommandBufferRelease;
1605pub use raw::wgpuCommandBufferSetLabel;
1606pub use raw::WGPUCommandEncoder;
1607pub use raw::wgpuCommandEncoderAddRef;
1608pub use raw::wgpuCommandEncoderRelease;
1609pub use raw::wgpuCommandEncoderFinish;
1610pub use raw::wgpuCommandEncoderBeginComputePass;
1611pub use raw::wgpuCommandEncoderBeginRenderPass;
1612pub use raw::wgpuCommandEncoderCopyBufferToBuffer;
1613pub use raw::wgpuCommandEncoderCopyBufferToTexture;
1614pub use raw::wgpuCommandEncoderCopyTextureToBuffer;
1615pub use raw::wgpuCommandEncoderCopyTextureToTexture;
1616pub use raw::wgpuCommandEncoderClearBuffer;
1617pub use raw::wgpuCommandEncoderInsertDebugMarker;
1618pub use raw::wgpuCommandEncoderPopDebugGroup;
1619pub use raw::wgpuCommandEncoderPushDebugGroup;
1620pub use raw::wgpuCommandEncoderResolveQuerySet;
1621pub use raw::wgpuCommandEncoderWriteTimestamp;
1622pub use raw::wgpuCommandEncoderSetLabel;
1623pub use raw::WGPUComputePassEncoder;
1624pub use raw::wgpuComputePassEncoderAddRef;
1625pub use raw::wgpuComputePassEncoderRelease;
1626pub use raw::wgpuComputePassEncoderInsertDebugMarker;
1627pub use raw::wgpuComputePassEncoderPopDebugGroup;
1628pub use raw::wgpuComputePassEncoderPushDebugGroup;
1629pub use raw::wgpuComputePassEncoderSetPipeline;
1630pub use raw::wgpuComputePassEncoderSetBindGroup;
1631pub use raw::wgpuComputePassEncoderDispatchWorkgroups;
1632pub use raw::wgpuComputePassEncoderDispatchWorkgroupsIndirect;
1633pub use raw::wgpuComputePassEncoderEnd;
1634pub use raw::wgpuComputePassEncoderSetLabel;
1635pub use raw::WGPUComputePipeline;
1636pub use raw::wgpuComputePipelineAddRef;
1637pub use raw::wgpuComputePipelineRelease;
1638pub use raw::wgpuComputePipelineGetBindGroupLayout;
1639pub use raw::wgpuComputePipelineSetLabel;
1640pub use raw::WGPUDevice;
1641pub use raw::wgpuDeviceAddRef;
1642pub use raw::wgpuDeviceRelease;
1643pub use raw::wgpuDeviceCreateBindGroup;
1644pub use raw::wgpuDeviceCreateBindGroupLayout;
1645pub use raw::wgpuDeviceCreateBuffer;
1646pub use raw::wgpuDeviceCreateCommandEncoder;
1647pub use raw::wgpuDeviceCreateComputePipeline;
1648pub use raw::wgpuDeviceCreateComputePipelineAsync;
1649pub use raw::wgpuDeviceCreatePipelineLayout;
1650pub use raw::wgpuDeviceCreateQuerySet;
1651pub use raw::wgpuDeviceCreateRenderPipelineAsync;
1652pub use raw::wgpuDeviceCreateRenderBundleEncoder;
1653pub use raw::wgpuDeviceCreateRenderPipeline;
1654pub use raw::wgpuDeviceCreateSampler;
1655pub use raw::wgpuDeviceCreateShaderModule;
1656pub use raw::wgpuDeviceCreateTexture;
1657pub use raw::wgpuDeviceDestroy;
1658pub use raw::wgpuDeviceGetLostFuture;
1659pub use raw::wgpuDeviceGetLimits;
1660pub use raw::wgpuDeviceHasFeature;
1661pub use raw::wgpuDeviceGetFeatures;
1662pub use raw::wgpuDeviceGetAdapterInfo;
1663pub use raw::wgpuDeviceGetQueue;
1664pub use raw::wgpuDevicePushErrorScope;
1665pub use raw::wgpuDevicePopErrorScope;
1666pub use raw::wgpuDeviceSetLabel;
1667pub use raw::WGPUInstance;
1668pub use raw::wgpuInstanceAddRef;
1669pub use raw::wgpuInstanceRelease;
1670pub use raw::wgpuInstanceCreateSurface;
1671pub use raw::wgpuInstanceGetWGSLLanguageFeatures;
1672pub use raw::wgpuInstanceHasWGSLLanguageFeature;
1673pub use raw::wgpuInstanceProcessEvents;
1674pub use raw::wgpuInstanceRequestAdapter;
1675pub use raw::wgpuInstanceWaitAny;
1676pub use raw::WGPUPipelineLayout;
1677pub use raw::wgpuPipelineLayoutAddRef;
1678pub use raw::wgpuPipelineLayoutRelease;
1679pub use raw::wgpuPipelineLayoutSetLabel;
1680pub use raw::WGPUQuerySet;
1681pub use raw::wgpuQuerySetAddRef;
1682pub use raw::wgpuQuerySetRelease;
1683pub use raw::wgpuQuerySetSetLabel;
1684pub use raw::wgpuQuerySetGetType;
1685pub use raw::wgpuQuerySetGetCount;
1686pub use raw::wgpuQuerySetDestroy;
1687pub use raw::WGPUQueue;
1688pub use raw::wgpuQueueAddRef;
1689pub use raw::wgpuQueueRelease;
1690pub use raw::wgpuQueueSubmit;
1691pub use raw::wgpuQueueOnSubmittedWorkDone;
1692pub use raw::wgpuQueueWriteBuffer;
1693pub use raw::wgpuQueueWriteTexture;
1694pub use raw::wgpuQueueSetLabel;
1695pub use raw::WGPURenderBundle;
1696pub use raw::wgpuRenderBundleAddRef;
1697pub use raw::wgpuRenderBundleRelease;
1698pub use raw::wgpuRenderBundleSetLabel;
1699pub use raw::WGPURenderBundleEncoder;
1700pub use raw::wgpuRenderBundleEncoderAddRef;
1701pub use raw::wgpuRenderBundleEncoderRelease;
1702pub use raw::wgpuRenderBundleEncoderSetPipeline;
1703pub use raw::wgpuRenderBundleEncoderSetBindGroup;
1704pub use raw::wgpuRenderBundleEncoderDraw;
1705pub use raw::wgpuRenderBundleEncoderDrawIndexed;
1706pub use raw::wgpuRenderBundleEncoderDrawIndirect;
1707pub use raw::wgpuRenderBundleEncoderDrawIndexedIndirect;
1708pub use raw::wgpuRenderBundleEncoderInsertDebugMarker;
1709pub use raw::wgpuRenderBundleEncoderPopDebugGroup;
1710pub use raw::wgpuRenderBundleEncoderPushDebugGroup;
1711pub use raw::wgpuRenderBundleEncoderSetVertexBuffer;
1712pub use raw::wgpuRenderBundleEncoderSetIndexBuffer;
1713pub use raw::wgpuRenderBundleEncoderFinish;
1714pub use raw::wgpuRenderBundleEncoderSetLabel;
1715pub use raw::WGPURenderPassEncoder;
1716pub use raw::wgpuRenderPassEncoderAddRef;
1717pub use raw::wgpuRenderPassEncoderRelease;
1718pub use raw::wgpuRenderPassEncoderSetPipeline;
1719pub use raw::wgpuRenderPassEncoderSetBindGroup;
1720pub use raw::wgpuRenderPassEncoderDraw;
1721pub use raw::wgpuRenderPassEncoderDrawIndexed;
1722pub use raw::wgpuRenderPassEncoderDrawIndirect;
1723pub use raw::wgpuRenderPassEncoderDrawIndexedIndirect;
1724pub use raw::wgpuRenderPassEncoderExecuteBundles;
1725pub use raw::wgpuRenderPassEncoderInsertDebugMarker;
1726pub use raw::wgpuRenderPassEncoderPopDebugGroup;
1727pub use raw::wgpuRenderPassEncoderPushDebugGroup;
1728pub use raw::wgpuRenderPassEncoderSetStencilReference;
1729pub use raw::wgpuRenderPassEncoderSetBlendConstant;
1730pub use raw::wgpuRenderPassEncoderSetViewport;
1731pub use raw::wgpuRenderPassEncoderSetScissorRect;
1732pub use raw::wgpuRenderPassEncoderSetVertexBuffer;
1733pub use raw::wgpuRenderPassEncoderSetIndexBuffer;
1734pub use raw::wgpuRenderPassEncoderBeginOcclusionQuery;
1735pub use raw::wgpuRenderPassEncoderEndOcclusionQuery;
1736pub use raw::wgpuRenderPassEncoderEnd;
1737pub use raw::wgpuRenderPassEncoderSetLabel;
1738pub use raw::WGPURenderPipeline;
1739pub use raw::wgpuRenderPipelineAddRef;
1740pub use raw::wgpuRenderPipelineRelease;
1741pub use raw::wgpuRenderPipelineGetBindGroupLayout;
1742pub use raw::wgpuRenderPipelineSetLabel;
1743pub use raw::WGPUSampler;
1744pub use raw::wgpuSamplerAddRef;
1745pub use raw::wgpuSamplerRelease;
1746pub use raw::wgpuSamplerSetLabel;
1747pub use raw::WGPUShaderModule;
1748pub use raw::wgpuShaderModuleAddRef;
1749pub use raw::wgpuShaderModuleRelease;
1750pub use raw::wgpuShaderModuleGetCompilationInfo;
1751pub use raw::wgpuShaderModuleSetLabel;
1752pub use raw::WGPUSurface;
1753pub use raw::wgpuSurfaceAddRef;
1754pub use raw::wgpuSurfaceRelease;
1755pub use raw::wgpuSurfaceConfigure;
1756pub use raw::wgpuSurfaceGetCapabilities;
1757pub use raw::wgpuSurfaceGetCurrentTexture;
1758pub use raw::wgpuSurfacePresent;
1759pub use raw::wgpuSurfaceUnconfigure;
1760pub use raw::wgpuSurfaceSetLabel;
1761pub use raw::WGPUTexture;
1762pub use raw::wgpuTextureAddRef;
1763pub use raw::wgpuTextureRelease;
1764pub use raw::wgpuTextureCreateView;
1765pub use raw::wgpuTextureSetLabel;
1766pub use raw::wgpuTextureGetWidth;
1767pub use raw::wgpuTextureGetHeight;
1768pub use raw::wgpuTextureGetDepthOrArrayLayers;
1769pub use raw::wgpuTextureGetMipLevelCount;
1770pub use raw::wgpuTextureGetSampleCount;
1771pub use raw::wgpuTextureGetDimension;
1772pub use raw::wgpuTextureGetFormat;
1773pub use raw::wgpuTextureGetUsage;
1774pub use raw::wgpuTextureDestroy;
1775pub use raw::WGPUTextureView;
1776pub use raw::wgpuTextureViewAddRef;
1777pub use raw::wgpuTextureViewRelease;
1778pub use raw::wgpuTextureViewSetLabel;