WebGPU Native  v0.1.0
The WebGPU C API
Loading...
Searching...
No Matches
webgpu.h
Go to the documentation of this file.
1
18#ifndef WEBGPU_H_
19#define WEBGPU_H_
20
21#if defined(WGPU_SHARED_LIBRARY)
22# if defined(_WIN32)
23# if defined(WGPU_IMPLEMENTATION)
24# define WGPU_EXPORT __declspec(dllexport)
25# else
26# define WGPU_EXPORT __declspec(dllimport)
27# endif
28# else // defined(_WIN32)
29# if defined(WGPU_IMPLEMENTATION)
30# define WGPU_EXPORT __attribute__((visibility("default")))
31# else
32# define WGPU_EXPORT
33# endif
34# endif // defined(_WIN32)
35#else // defined(WGPU_SHARED_LIBRARY)
36# define WGPU_EXPORT
37#endif // defined(WGPU_SHARED_LIBRARY)
38
39#if !defined(WGPU_OBJECT_ATTRIBUTE)
40#define WGPU_OBJECT_ATTRIBUTE
41#endif
42#if !defined(WGPU_ENUM_ATTRIBUTE)
43#define WGPU_ENUM_ATTRIBUTE
44#endif
45#if !defined(WGPU_STRUCTURE_ATTRIBUTE)
46#define WGPU_STRUCTURE_ATTRIBUTE
47#endif
48#if !defined(WGPU_FUNCTION_ATTRIBUTE)
49#define WGPU_FUNCTION_ATTRIBUTE
50#endif
51#if !defined(WGPU_NULLABLE)
52#define WGPU_NULLABLE
53#endif
54
55#include <stdint.h>
56#include <stddef.h>
57
58
65#define WGPU_ARRAY_LAYER_COUNT_UNDEFINED (0xffffffffUL)
66#define WGPU_COPY_STRIDE_UNDEFINED (0xffffffffUL)
67#define WGPU_DEPTH_SLICE_UNDEFINED (0xffffffffUL)
68#define WGPU_LIMIT_U32_UNDEFINED (0xffffffffUL)
69#define WGPU_LIMIT_U64_UNDEFINED (0xffffffffffffffffULL)
70#define WGPU_MIP_LEVEL_COUNT_UNDEFINED (0xffffffffUL)
71#define WGPU_QUERY_SET_INDEX_UNDEFINED (0xffffffffUL)
72#define WGPU_WHOLE_MAP_SIZE (SIZE_MAX)
73#define WGPU_WHOLE_SIZE (0xffffffffffffffffULL)
74
75
84typedef uint32_t WGPUFlags;
85typedef uint32_t WGPUBool;
86
87
96typedef struct WGPUAdapterImpl* WGPUAdapter WGPU_OBJECT_ATTRIBUTE;
97typedef struct WGPUBindGroupImpl* WGPUBindGroup WGPU_OBJECT_ATTRIBUTE;
98typedef struct WGPUBindGroupLayoutImpl* WGPUBindGroupLayout WGPU_OBJECT_ATTRIBUTE;
99typedef struct WGPUBufferImpl* WGPUBuffer WGPU_OBJECT_ATTRIBUTE;
100typedef struct WGPUCommandBufferImpl* WGPUCommandBuffer WGPU_OBJECT_ATTRIBUTE;
101typedef struct WGPUCommandEncoderImpl* WGPUCommandEncoder WGPU_OBJECT_ATTRIBUTE;
102typedef struct WGPUComputePassEncoderImpl* WGPUComputePassEncoder WGPU_OBJECT_ATTRIBUTE;
103typedef struct WGPUComputePipelineImpl* WGPUComputePipeline WGPU_OBJECT_ATTRIBUTE;
104typedef struct WGPUDeviceImpl* WGPUDevice WGPU_OBJECT_ATTRIBUTE;
105typedef struct WGPUInstanceImpl* WGPUInstance WGPU_OBJECT_ATTRIBUTE;
106typedef struct WGPUPipelineLayoutImpl* WGPUPipelineLayout WGPU_OBJECT_ATTRIBUTE;
107typedef struct WGPUQuerySetImpl* WGPUQuerySet WGPU_OBJECT_ATTRIBUTE;
108typedef struct WGPUQueueImpl* WGPUQueue WGPU_OBJECT_ATTRIBUTE;
109typedef struct WGPURenderBundleImpl* WGPURenderBundle WGPU_OBJECT_ATTRIBUTE;
110typedef struct WGPURenderBundleEncoderImpl* WGPURenderBundleEncoder WGPU_OBJECT_ATTRIBUTE;
111typedef struct WGPURenderPassEncoderImpl* WGPURenderPassEncoder WGPU_OBJECT_ATTRIBUTE;
112typedef struct WGPURenderPipelineImpl* WGPURenderPipeline WGPU_OBJECT_ATTRIBUTE;
113typedef struct WGPUSamplerImpl* WGPUSampler WGPU_OBJECT_ATTRIBUTE;
114typedef struct WGPUShaderModuleImpl* WGPUShaderModule WGPU_OBJECT_ATTRIBUTE;
115typedef struct WGPUSurfaceImpl* WGPUSurface WGPU_OBJECT_ATTRIBUTE;
116typedef struct WGPUTextureImpl* WGPUTexture WGPU_OBJECT_ATTRIBUTE;
117typedef struct WGPUTextureViewImpl* WGPUTextureView WGPU_OBJECT_ATTRIBUTE;
118
119
121// Structure forward declarations
122struct WGPUAdapterInfo;
124struct WGPUBindGroupEntry;
125struct WGPUBlendComponent;
128struct WGPUColor;
133struct WGPUConstantEntry;
134struct WGPUExtent3D;
136struct WGPULimits;
138struct WGPUOrigin3D;
141struct WGPUPrimitiveState;
167struct WGPUSurfaceTexture;
174struct WGPUBlendState;
182struct WGPURequiredLimits;
192struct WGPUVertexState;
193struct WGPUFragmentState;
195
196
203typedef enum WGPUAdapterType {
204 WGPUAdapterType_DiscreteGPU = 0x00000000,
205 WGPUAdapterType_IntegratedGPU = 0x00000001,
206 WGPUAdapterType_CPU = 0x00000002,
207 WGPUAdapterType_Unknown = 0x00000003,
208 WGPUAdapterType_Force32 = 0x7FFFFFFF
209} WGPUAdapterType WGPU_ENUM_ATTRIBUTE;
210
211typedef enum WGPUAddressMode {
212 WGPUAddressMode_Repeat = 0x00000000,
213 WGPUAddressMode_MirrorRepeat = 0x00000001,
214 WGPUAddressMode_ClampToEdge = 0x00000002,
215 WGPUAddressMode_Force32 = 0x7FFFFFFF
216} WGPUAddressMode WGPU_ENUM_ATTRIBUTE;
217
218typedef enum WGPUBackendType {
219 WGPUBackendType_Undefined = 0x00000000,
220 WGPUBackendType_Null = 0x00000001,
221 WGPUBackendType_WebGPU = 0x00000002,
222 WGPUBackendType_D3D11 = 0x00000003,
223 WGPUBackendType_D3D12 = 0x00000004,
224 WGPUBackendType_Metal = 0x00000005,
225 WGPUBackendType_Vulkan = 0x00000006,
226 WGPUBackendType_OpenGL = 0x00000007,
227 WGPUBackendType_OpenGLES = 0x00000008,
228 WGPUBackendType_Force32 = 0x7FFFFFFF
229} WGPUBackendType WGPU_ENUM_ATTRIBUTE;
230
231typedef enum WGPUBlendFactor {
232 WGPUBlendFactor_Zero = 0x00000000,
233 WGPUBlendFactor_One = 0x00000001,
234 WGPUBlendFactor_Src = 0x00000002,
235 WGPUBlendFactor_OneMinusSrc = 0x00000003,
236 WGPUBlendFactor_SrcAlpha = 0x00000004,
237 WGPUBlendFactor_OneMinusSrcAlpha = 0x00000005,
238 WGPUBlendFactor_Dst = 0x00000006,
239 WGPUBlendFactor_OneMinusDst = 0x00000007,
240 WGPUBlendFactor_DstAlpha = 0x00000008,
241 WGPUBlendFactor_OneMinusDstAlpha = 0x00000009,
242 WGPUBlendFactor_SrcAlphaSaturated = 0x0000000A,
243 WGPUBlendFactor_Constant = 0x0000000B,
244 WGPUBlendFactor_OneMinusConstant = 0x0000000C,
245 WGPUBlendFactor_Force32 = 0x7FFFFFFF
246} WGPUBlendFactor WGPU_ENUM_ATTRIBUTE;
247
248typedef enum WGPUBlendOperation {
249 WGPUBlendOperation_Add = 0x00000000,
250 WGPUBlendOperation_Subtract = 0x00000001,
251 WGPUBlendOperation_ReverseSubtract = 0x00000002,
252 WGPUBlendOperation_Min = 0x00000003,
253 WGPUBlendOperation_Max = 0x00000004,
254 WGPUBlendOperation_Force32 = 0x7FFFFFFF
255} WGPUBlendOperation WGPU_ENUM_ATTRIBUTE;
256
257typedef enum WGPUBufferBindingType {
258 WGPUBufferBindingType_Undefined = 0x00000000,
259 WGPUBufferBindingType_Uniform = 0x00000001,
260 WGPUBufferBindingType_Storage = 0x00000002,
261 WGPUBufferBindingType_ReadOnlyStorage = 0x00000003,
262 WGPUBufferBindingType_Force32 = 0x7FFFFFFF
263} WGPUBufferBindingType WGPU_ENUM_ATTRIBUTE;
264
265typedef enum WGPUBufferMapAsyncStatus {
266 WGPUBufferMapAsyncStatus_Success = 0x00000000,
267 WGPUBufferMapAsyncStatus_ValidationError = 0x00000001,
268 WGPUBufferMapAsyncStatus_Unknown = 0x00000002,
269 WGPUBufferMapAsyncStatus_DeviceLost = 0x00000003,
270 WGPUBufferMapAsyncStatus_DestroyedBeforeCallback = 0x00000004,
271 WGPUBufferMapAsyncStatus_UnmappedBeforeCallback = 0x00000005,
272 WGPUBufferMapAsyncStatus_MappingAlreadyPending = 0x00000006,
273 WGPUBufferMapAsyncStatus_OffsetOutOfRange = 0x00000007,
274 WGPUBufferMapAsyncStatus_SizeOutOfRange = 0x00000008,
275 WGPUBufferMapAsyncStatus_Force32 = 0x7FFFFFFF
276} WGPUBufferMapAsyncStatus WGPU_ENUM_ATTRIBUTE;
277
278typedef enum WGPUBufferMapState {
279 WGPUBufferMapState_Unmapped = 0x00000000,
280 WGPUBufferMapState_Pending = 0x00000001,
281 WGPUBufferMapState_Mapped = 0x00000002,
282 WGPUBufferMapState_Force32 = 0x7FFFFFFF
283} WGPUBufferMapState WGPU_ENUM_ATTRIBUTE;
284
285typedef enum WGPUCompareFunction {
286 WGPUCompareFunction_Undefined = 0x00000000,
287 WGPUCompareFunction_Never = 0x00000001,
288 WGPUCompareFunction_Less = 0x00000002,
289 WGPUCompareFunction_LessEqual = 0x00000003,
290 WGPUCompareFunction_Greater = 0x00000004,
291 WGPUCompareFunction_GreaterEqual = 0x00000005,
292 WGPUCompareFunction_Equal = 0x00000006,
293 WGPUCompareFunction_NotEqual = 0x00000007,
294 WGPUCompareFunction_Always = 0x00000008,
295 WGPUCompareFunction_Force32 = 0x7FFFFFFF
296} WGPUCompareFunction WGPU_ENUM_ATTRIBUTE;
297
298typedef enum WGPUCompilationInfoRequestStatus {
299 WGPUCompilationInfoRequestStatus_Success = 0x00000000,
300 WGPUCompilationInfoRequestStatus_Error = 0x00000001,
301 WGPUCompilationInfoRequestStatus_DeviceLost = 0x00000002,
302 WGPUCompilationInfoRequestStatus_Unknown = 0x00000003,
303 WGPUCompilationInfoRequestStatus_Force32 = 0x7FFFFFFF
304} WGPUCompilationInfoRequestStatus WGPU_ENUM_ATTRIBUTE;
305
306typedef enum WGPUCompilationMessageType {
307 WGPUCompilationMessageType_Error = 0x00000000,
308 WGPUCompilationMessageType_Warning = 0x00000001,
309 WGPUCompilationMessageType_Info = 0x00000002,
310 WGPUCompilationMessageType_Force32 = 0x7FFFFFFF
311} WGPUCompilationMessageType WGPU_ENUM_ATTRIBUTE;
312
313typedef enum WGPUCompositeAlphaMode {
314 WGPUCompositeAlphaMode_Auto = 0x00000000,
315 WGPUCompositeAlphaMode_Opaque = 0x00000001,
316 WGPUCompositeAlphaMode_Premultiplied = 0x00000002,
317 WGPUCompositeAlphaMode_Unpremultiplied = 0x00000003,
318 WGPUCompositeAlphaMode_Inherit = 0x00000004,
319 WGPUCompositeAlphaMode_Force32 = 0x7FFFFFFF
320} WGPUCompositeAlphaMode WGPU_ENUM_ATTRIBUTE;
321
322typedef enum WGPUCreatePipelineAsyncStatus {
323 WGPUCreatePipelineAsyncStatus_Success = 0x00000000,
324 WGPUCreatePipelineAsyncStatus_ValidationError = 0x00000001,
325 WGPUCreatePipelineAsyncStatus_InternalError = 0x00000002,
326 WGPUCreatePipelineAsyncStatus_DeviceLost = 0x00000003,
327 WGPUCreatePipelineAsyncStatus_DeviceDestroyed = 0x00000004,
328 WGPUCreatePipelineAsyncStatus_Unknown = 0x00000005,
329 WGPUCreatePipelineAsyncStatus_Force32 = 0x7FFFFFFF
330} WGPUCreatePipelineAsyncStatus WGPU_ENUM_ATTRIBUTE;
331
332typedef enum WGPUCullMode {
333 WGPUCullMode_None = 0x00000000,
334 WGPUCullMode_Front = 0x00000001,
335 WGPUCullMode_Back = 0x00000002,
336 WGPUCullMode_Force32 = 0x7FFFFFFF
337} WGPUCullMode WGPU_ENUM_ATTRIBUTE;
338
339typedef enum WGPUDeviceLostReason {
340 WGPUDeviceLostReason_Undefined = 0x00000000,
341 WGPUDeviceLostReason_Destroyed = 0x00000001,
342 WGPUDeviceLostReason_Force32 = 0x7FFFFFFF
343} WGPUDeviceLostReason WGPU_ENUM_ATTRIBUTE;
344
345typedef enum WGPUErrorFilter {
346 WGPUErrorFilter_Validation = 0x00000000,
347 WGPUErrorFilter_OutOfMemory = 0x00000001,
348 WGPUErrorFilter_Internal = 0x00000002,
349 WGPUErrorFilter_Force32 = 0x7FFFFFFF
350} WGPUErrorFilter WGPU_ENUM_ATTRIBUTE;
351
352typedef enum WGPUErrorType {
353 WGPUErrorType_NoError = 0x00000000,
354 WGPUErrorType_Validation = 0x00000001,
355 WGPUErrorType_OutOfMemory = 0x00000002,
356 WGPUErrorType_Internal = 0x00000003,
357 WGPUErrorType_Unknown = 0x00000004,
358 WGPUErrorType_DeviceLost = 0x00000005,
359 WGPUErrorType_Force32 = 0x7FFFFFFF
360} WGPUErrorType WGPU_ENUM_ATTRIBUTE;
361
362typedef enum WGPUFeatureName {
363 WGPUFeatureName_Undefined = 0x00000000,
364 WGPUFeatureName_DepthClipControl = 0x00000001,
365 WGPUFeatureName_Depth32FloatStencil8 = 0x00000002,
366 WGPUFeatureName_TimestampQuery = 0x00000003,
367 WGPUFeatureName_TextureCompressionBC = 0x00000004,
368 WGPUFeatureName_TextureCompressionETC2 = 0x00000005,
369 WGPUFeatureName_TextureCompressionASTC = 0x00000006,
370 WGPUFeatureName_IndirectFirstInstance = 0x00000007,
371 WGPUFeatureName_ShaderF16 = 0x00000008,
372 WGPUFeatureName_RG11B10UfloatRenderable = 0x00000009,
373 WGPUFeatureName_BGRA8UnormStorage = 0x0000000A,
374 WGPUFeatureName_Float32Filterable = 0x0000000B,
375 WGPUFeatureName_Force32 = 0x7FFFFFFF
376} WGPUFeatureName WGPU_ENUM_ATTRIBUTE;
377
378typedef enum WGPUFilterMode {
379 WGPUFilterMode_Nearest = 0x00000000,
380 WGPUFilterMode_Linear = 0x00000001,
381 WGPUFilterMode_Force32 = 0x7FFFFFFF
382} WGPUFilterMode WGPU_ENUM_ATTRIBUTE;
383
384typedef enum WGPUFrontFace {
385 WGPUFrontFace_CCW = 0x00000000,
386 WGPUFrontFace_CW = 0x00000001,
387 WGPUFrontFace_Force32 = 0x7FFFFFFF
388} WGPUFrontFace WGPU_ENUM_ATTRIBUTE;
389
390typedef enum WGPUIndexFormat {
391 WGPUIndexFormat_Undefined = 0x00000000,
392 WGPUIndexFormat_Uint16 = 0x00000001,
393 WGPUIndexFormat_Uint32 = 0x00000002,
394 WGPUIndexFormat_Force32 = 0x7FFFFFFF
395} WGPUIndexFormat WGPU_ENUM_ATTRIBUTE;
396
397typedef enum WGPULoadOp {
398 WGPULoadOp_Undefined = 0x00000000,
399 WGPULoadOp_Clear = 0x00000001,
400 WGPULoadOp_Load = 0x00000002,
401 WGPULoadOp_Force32 = 0x7FFFFFFF
402} WGPULoadOp WGPU_ENUM_ATTRIBUTE;
403
404typedef enum WGPUMipmapFilterMode {
405 WGPUMipmapFilterMode_Nearest = 0x00000000,
406 WGPUMipmapFilterMode_Linear = 0x00000001,
407 WGPUMipmapFilterMode_Force32 = 0x7FFFFFFF
408} WGPUMipmapFilterMode WGPU_ENUM_ATTRIBUTE;
409
410typedef enum WGPUPowerPreference {
411 WGPUPowerPreference_Undefined = 0x00000000,
412 WGPUPowerPreference_LowPower = 0x00000001,
413 WGPUPowerPreference_HighPerformance = 0x00000002,
414 WGPUPowerPreference_Force32 = 0x7FFFFFFF
415} WGPUPowerPreference WGPU_ENUM_ATTRIBUTE;
416
417typedef enum WGPUPresentMode {
418 WGPUPresentMode_Fifo = 0x00000000,
419 WGPUPresentMode_FifoRelaxed = 0x00000001,
420 WGPUPresentMode_Immediate = 0x00000002,
421 WGPUPresentMode_Mailbox = 0x00000003,
422 WGPUPresentMode_Force32 = 0x7FFFFFFF
423} WGPUPresentMode WGPU_ENUM_ATTRIBUTE;
424
425typedef enum WGPUPrimitiveTopology {
426 WGPUPrimitiveTopology_PointList = 0x00000000,
427 WGPUPrimitiveTopology_LineList = 0x00000001,
428 WGPUPrimitiveTopology_LineStrip = 0x00000002,
429 WGPUPrimitiveTopology_TriangleList = 0x00000003,
430 WGPUPrimitiveTopology_TriangleStrip = 0x00000004,
431 WGPUPrimitiveTopology_Force32 = 0x7FFFFFFF
432} WGPUPrimitiveTopology WGPU_ENUM_ATTRIBUTE;
433
434typedef enum WGPUQueryType {
435 WGPUQueryType_Occlusion = 0x00000000,
436 WGPUQueryType_Timestamp = 0x00000001,
437 WGPUQueryType_Force32 = 0x7FFFFFFF
438} WGPUQueryType WGPU_ENUM_ATTRIBUTE;
439
440typedef enum WGPUQueueWorkDoneStatus {
441 WGPUQueueWorkDoneStatus_Success = 0x00000000,
442 WGPUQueueWorkDoneStatus_Error = 0x00000001,
443 WGPUQueueWorkDoneStatus_Unknown = 0x00000002,
444 WGPUQueueWorkDoneStatus_DeviceLost = 0x00000003,
445 WGPUQueueWorkDoneStatus_Force32 = 0x7FFFFFFF
446} WGPUQueueWorkDoneStatus WGPU_ENUM_ATTRIBUTE;
447
448typedef enum WGPURequestAdapterStatus {
449 WGPURequestAdapterStatus_Success = 0x00000000,
450 WGPURequestAdapterStatus_Unavailable = 0x00000001,
451 WGPURequestAdapterStatus_Error = 0x00000002,
452 WGPURequestAdapterStatus_Unknown = 0x00000003,
453 WGPURequestAdapterStatus_Force32 = 0x7FFFFFFF
454} WGPURequestAdapterStatus WGPU_ENUM_ATTRIBUTE;
455
456typedef enum WGPURequestDeviceStatus {
457 WGPURequestDeviceStatus_Success = 0x00000000,
458 WGPURequestDeviceStatus_Error = 0x00000001,
459 WGPURequestDeviceStatus_Unknown = 0x00000002,
460 WGPURequestDeviceStatus_Force32 = 0x7FFFFFFF
461} WGPURequestDeviceStatus WGPU_ENUM_ATTRIBUTE;
462
463typedef enum WGPUSType {
464 WGPUSType_Invalid = 0x00000000,
465 WGPUSType_SurfaceDescriptorFromMetalLayer = 0x00000001,
466 WGPUSType_SurfaceDescriptorFromWindowsHWND = 0x00000002,
467 WGPUSType_SurfaceDescriptorFromXlibWindow = 0x00000003,
468 WGPUSType_SurfaceDescriptorFromCanvasHTMLSelector = 0x00000004,
469 WGPUSType_ShaderModuleSPIRVDescriptor = 0x00000005,
470 WGPUSType_ShaderModuleWGSLDescriptor = 0x00000006,
471 WGPUSType_PrimitiveDepthClipControl = 0x00000007,
472 WGPUSType_SurfaceDescriptorFromWaylandSurface = 0x00000008,
473 WGPUSType_SurfaceDescriptorFromAndroidNativeWindow = 0x00000009,
474 WGPUSType_SurfaceDescriptorFromXcbWindow = 0x0000000A,
475 WGPUSType_RenderPassDescriptorMaxDrawCount = 0x0000000F,
476 WGPUSType_Force32 = 0x7FFFFFFF
477} WGPUSType WGPU_ENUM_ATTRIBUTE;
478
479typedef enum WGPUSamplerBindingType {
480 WGPUSamplerBindingType_Undefined = 0x00000000,
481 WGPUSamplerBindingType_Filtering = 0x00000001,
482 WGPUSamplerBindingType_NonFiltering = 0x00000002,
483 WGPUSamplerBindingType_Comparison = 0x00000003,
484 WGPUSamplerBindingType_Force32 = 0x7FFFFFFF
485} WGPUSamplerBindingType WGPU_ENUM_ATTRIBUTE;
486
487typedef enum WGPUStencilOperation {
488 WGPUStencilOperation_Keep = 0x00000000,
489 WGPUStencilOperation_Zero = 0x00000001,
490 WGPUStencilOperation_Replace = 0x00000002,
491 WGPUStencilOperation_Invert = 0x00000003,
492 WGPUStencilOperation_IncrementClamp = 0x00000004,
493 WGPUStencilOperation_DecrementClamp = 0x00000005,
494 WGPUStencilOperation_IncrementWrap = 0x00000006,
495 WGPUStencilOperation_DecrementWrap = 0x00000007,
496 WGPUStencilOperation_Force32 = 0x7FFFFFFF
497} WGPUStencilOperation WGPU_ENUM_ATTRIBUTE;
498
499typedef enum WGPUStorageTextureAccess {
500 WGPUStorageTextureAccess_Undefined = 0x00000000,
501 WGPUStorageTextureAccess_WriteOnly = 0x00000001,
502 WGPUStorageTextureAccess_ReadOnly = 0x00000002,
503 WGPUStorageTextureAccess_ReadWrite = 0x00000003,
504 WGPUStorageTextureAccess_Force32 = 0x7FFFFFFF
505} WGPUStorageTextureAccess WGPU_ENUM_ATTRIBUTE;
506
507typedef enum WGPUStoreOp {
508 WGPUStoreOp_Undefined = 0x00000000,
509 WGPUStoreOp_Store = 0x00000001,
510 WGPUStoreOp_Discard = 0x00000002,
511 WGPUStoreOp_Force32 = 0x7FFFFFFF
512} WGPUStoreOp WGPU_ENUM_ATTRIBUTE;
513
514typedef enum WGPUSurfaceGetCurrentTextureStatus {
515 WGPUSurfaceGetCurrentTextureStatus_Success = 0x00000000,
516 WGPUSurfaceGetCurrentTextureStatus_Timeout = 0x00000001,
517 WGPUSurfaceGetCurrentTextureStatus_Outdated = 0x00000002,
518 WGPUSurfaceGetCurrentTextureStatus_Lost = 0x00000003,
519 WGPUSurfaceGetCurrentTextureStatus_OutOfMemory = 0x00000004,
520 WGPUSurfaceGetCurrentTextureStatus_DeviceLost = 0x00000005,
521 WGPUSurfaceGetCurrentTextureStatus_Force32 = 0x7FFFFFFF
522} WGPUSurfaceGetCurrentTextureStatus WGPU_ENUM_ATTRIBUTE;
523
524typedef enum WGPUTextureAspect {
525 WGPUTextureAspect_All = 0x00000000,
526 WGPUTextureAspect_StencilOnly = 0x00000001,
527 WGPUTextureAspect_DepthOnly = 0x00000002,
528 WGPUTextureAspect_Force32 = 0x7FFFFFFF
529} WGPUTextureAspect WGPU_ENUM_ATTRIBUTE;
530
531typedef enum WGPUTextureDimension {
532 WGPUTextureDimension_1D = 0x00000000,
533 WGPUTextureDimension_2D = 0x00000001,
534 WGPUTextureDimension_3D = 0x00000002,
535 WGPUTextureDimension_Force32 = 0x7FFFFFFF
536} WGPUTextureDimension WGPU_ENUM_ATTRIBUTE;
537
538typedef enum WGPUTextureFormat {
539 WGPUTextureFormat_Undefined = 0x00000000,
540 WGPUTextureFormat_R8Unorm = 0x00000001,
541 WGPUTextureFormat_R8Snorm = 0x00000002,
542 WGPUTextureFormat_R8Uint = 0x00000003,
543 WGPUTextureFormat_R8Sint = 0x00000004,
544 WGPUTextureFormat_R16Uint = 0x00000005,
545 WGPUTextureFormat_R16Sint = 0x00000006,
546 WGPUTextureFormat_R16Float = 0x00000007,
547 WGPUTextureFormat_RG8Unorm = 0x00000008,
548 WGPUTextureFormat_RG8Snorm = 0x00000009,
549 WGPUTextureFormat_RG8Uint = 0x0000000A,
550 WGPUTextureFormat_RG8Sint = 0x0000000B,
551 WGPUTextureFormat_R32Float = 0x0000000C,
552 WGPUTextureFormat_R32Uint = 0x0000000D,
553 WGPUTextureFormat_R32Sint = 0x0000000E,
554 WGPUTextureFormat_RG16Uint = 0x0000000F,
555 WGPUTextureFormat_RG16Sint = 0x00000010,
556 WGPUTextureFormat_RG16Float = 0x00000011,
557 WGPUTextureFormat_RGBA8Unorm = 0x00000012,
558 WGPUTextureFormat_RGBA8UnormSrgb = 0x00000013,
559 WGPUTextureFormat_RGBA8Snorm = 0x00000014,
560 WGPUTextureFormat_RGBA8Uint = 0x00000015,
561 WGPUTextureFormat_RGBA8Sint = 0x00000016,
562 WGPUTextureFormat_BGRA8Unorm = 0x00000017,
563 WGPUTextureFormat_BGRA8UnormSrgb = 0x00000018,
564 WGPUTextureFormat_RGB10A2Uint = 0x00000019,
565 WGPUTextureFormat_RGB10A2Unorm = 0x0000001A,
566 WGPUTextureFormat_RG11B10Ufloat = 0x0000001B,
567 WGPUTextureFormat_RGB9E5Ufloat = 0x0000001C,
568 WGPUTextureFormat_RG32Float = 0x0000001D,
569 WGPUTextureFormat_RG32Uint = 0x0000001E,
570 WGPUTextureFormat_RG32Sint = 0x0000001F,
571 WGPUTextureFormat_RGBA16Uint = 0x00000020,
572 WGPUTextureFormat_RGBA16Sint = 0x00000021,
573 WGPUTextureFormat_RGBA16Float = 0x00000022,
574 WGPUTextureFormat_RGBA32Float = 0x00000023,
575 WGPUTextureFormat_RGBA32Uint = 0x00000024,
576 WGPUTextureFormat_RGBA32Sint = 0x00000025,
577 WGPUTextureFormat_Stencil8 = 0x00000026,
578 WGPUTextureFormat_Depth16Unorm = 0x00000027,
579 WGPUTextureFormat_Depth24Plus = 0x00000028,
580 WGPUTextureFormat_Depth24PlusStencil8 = 0x00000029,
581 WGPUTextureFormat_Depth32Float = 0x0000002A,
582 WGPUTextureFormat_Depth32FloatStencil8 = 0x0000002B,
583 WGPUTextureFormat_BC1RGBAUnorm = 0x0000002C,
584 WGPUTextureFormat_BC1RGBAUnormSrgb = 0x0000002D,
585 WGPUTextureFormat_BC2RGBAUnorm = 0x0000002E,
586 WGPUTextureFormat_BC2RGBAUnormSrgb = 0x0000002F,
587 WGPUTextureFormat_BC3RGBAUnorm = 0x00000030,
588 WGPUTextureFormat_BC3RGBAUnormSrgb = 0x00000031,
589 WGPUTextureFormat_BC4RUnorm = 0x00000032,
590 WGPUTextureFormat_BC4RSnorm = 0x00000033,
591 WGPUTextureFormat_BC5RGUnorm = 0x00000034,
592 WGPUTextureFormat_BC5RGSnorm = 0x00000035,
593 WGPUTextureFormat_BC6HRGBUfloat = 0x00000036,
594 WGPUTextureFormat_BC6HRGBFloat = 0x00000037,
595 WGPUTextureFormat_BC7RGBAUnorm = 0x00000038,
596 WGPUTextureFormat_BC7RGBAUnormSrgb = 0x00000039,
597 WGPUTextureFormat_ETC2RGB8Unorm = 0x0000003A,
598 WGPUTextureFormat_ETC2RGB8UnormSrgb = 0x0000003B,
599 WGPUTextureFormat_ETC2RGB8A1Unorm = 0x0000003C,
600 WGPUTextureFormat_ETC2RGB8A1UnormSrgb = 0x0000003D,
601 WGPUTextureFormat_ETC2RGBA8Unorm = 0x0000003E,
602 WGPUTextureFormat_ETC2RGBA8UnormSrgb = 0x0000003F,
603 WGPUTextureFormat_EACR11Unorm = 0x00000040,
604 WGPUTextureFormat_EACR11Snorm = 0x00000041,
605 WGPUTextureFormat_EACRG11Unorm = 0x00000042,
606 WGPUTextureFormat_EACRG11Snorm = 0x00000043,
607 WGPUTextureFormat_ASTC4x4Unorm = 0x00000044,
608 WGPUTextureFormat_ASTC4x4UnormSrgb = 0x00000045,
609 WGPUTextureFormat_ASTC5x4Unorm = 0x00000046,
610 WGPUTextureFormat_ASTC5x4UnormSrgb = 0x00000047,
611 WGPUTextureFormat_ASTC5x5Unorm = 0x00000048,
612 WGPUTextureFormat_ASTC5x5UnormSrgb = 0x00000049,
613 WGPUTextureFormat_ASTC6x5Unorm = 0x0000004A,
614 WGPUTextureFormat_ASTC6x5UnormSrgb = 0x0000004B,
615 WGPUTextureFormat_ASTC6x6Unorm = 0x0000004C,
616 WGPUTextureFormat_ASTC6x6UnormSrgb = 0x0000004D,
617 WGPUTextureFormat_ASTC8x5Unorm = 0x0000004E,
618 WGPUTextureFormat_ASTC8x5UnormSrgb = 0x0000004F,
619 WGPUTextureFormat_ASTC8x6Unorm = 0x00000050,
620 WGPUTextureFormat_ASTC8x6UnormSrgb = 0x00000051,
621 WGPUTextureFormat_ASTC8x8Unorm = 0x00000052,
622 WGPUTextureFormat_ASTC8x8UnormSrgb = 0x00000053,
623 WGPUTextureFormat_ASTC10x5Unorm = 0x00000054,
624 WGPUTextureFormat_ASTC10x5UnormSrgb = 0x00000055,
625 WGPUTextureFormat_ASTC10x6Unorm = 0x00000056,
626 WGPUTextureFormat_ASTC10x6UnormSrgb = 0x00000057,
627 WGPUTextureFormat_ASTC10x8Unorm = 0x00000058,
628 WGPUTextureFormat_ASTC10x8UnormSrgb = 0x00000059,
629 WGPUTextureFormat_ASTC10x10Unorm = 0x0000005A,
630 WGPUTextureFormat_ASTC10x10UnormSrgb = 0x0000005B,
631 WGPUTextureFormat_ASTC12x10Unorm = 0x0000005C,
632 WGPUTextureFormat_ASTC12x10UnormSrgb = 0x0000005D,
633 WGPUTextureFormat_ASTC12x12Unorm = 0x0000005E,
634 WGPUTextureFormat_ASTC12x12UnormSrgb = 0x0000005F,
635 WGPUTextureFormat_Force32 = 0x7FFFFFFF
636} WGPUTextureFormat WGPU_ENUM_ATTRIBUTE;
637
638typedef enum WGPUTextureSampleType {
639 WGPUTextureSampleType_Undefined = 0x00000000,
640 WGPUTextureSampleType_Float = 0x00000001,
641 WGPUTextureSampleType_UnfilterableFloat = 0x00000002,
642 WGPUTextureSampleType_Depth = 0x00000003,
643 WGPUTextureSampleType_Sint = 0x00000004,
644 WGPUTextureSampleType_Uint = 0x00000005,
645 WGPUTextureSampleType_Force32 = 0x7FFFFFFF
646} WGPUTextureSampleType WGPU_ENUM_ATTRIBUTE;
647
648typedef enum WGPUTextureViewDimension {
649 WGPUTextureViewDimension_Undefined = 0x00000000,
650 WGPUTextureViewDimension_1D = 0x00000001,
651 WGPUTextureViewDimension_2D = 0x00000002,
652 WGPUTextureViewDimension_2DArray = 0x00000003,
653 WGPUTextureViewDimension_Cube = 0x00000004,
654 WGPUTextureViewDimension_CubeArray = 0x00000005,
655 WGPUTextureViewDimension_3D = 0x00000006,
656 WGPUTextureViewDimension_Force32 = 0x7FFFFFFF
657} WGPUTextureViewDimension WGPU_ENUM_ATTRIBUTE;
658
659typedef enum WGPUVertexFormat {
660 WGPUVertexFormat_Undefined = 0x00000000,
661 WGPUVertexFormat_Uint8x2 = 0x00000001,
662 WGPUVertexFormat_Uint8x4 = 0x00000002,
663 WGPUVertexFormat_Sint8x2 = 0x00000003,
664 WGPUVertexFormat_Sint8x4 = 0x00000004,
665 WGPUVertexFormat_Unorm8x2 = 0x00000005,
666 WGPUVertexFormat_Unorm8x4 = 0x00000006,
667 WGPUVertexFormat_Snorm8x2 = 0x00000007,
668 WGPUVertexFormat_Snorm8x4 = 0x00000008,
669 WGPUVertexFormat_Uint16x2 = 0x00000009,
670 WGPUVertexFormat_Uint16x4 = 0x0000000A,
671 WGPUVertexFormat_Sint16x2 = 0x0000000B,
672 WGPUVertexFormat_Sint16x4 = 0x0000000C,
673 WGPUVertexFormat_Unorm16x2 = 0x0000000D,
674 WGPUVertexFormat_Unorm16x4 = 0x0000000E,
675 WGPUVertexFormat_Snorm16x2 = 0x0000000F,
676 WGPUVertexFormat_Snorm16x4 = 0x00000010,
677 WGPUVertexFormat_Float16x2 = 0x00000011,
678 WGPUVertexFormat_Float16x4 = 0x00000012,
679 WGPUVertexFormat_Float32 = 0x00000013,
680 WGPUVertexFormat_Float32x2 = 0x00000014,
681 WGPUVertexFormat_Float32x3 = 0x00000015,
682 WGPUVertexFormat_Float32x4 = 0x00000016,
683 WGPUVertexFormat_Uint32 = 0x00000017,
684 WGPUVertexFormat_Uint32x2 = 0x00000018,
685 WGPUVertexFormat_Uint32x3 = 0x00000019,
686 WGPUVertexFormat_Uint32x4 = 0x0000001A,
687 WGPUVertexFormat_Sint32 = 0x0000001B,
688 WGPUVertexFormat_Sint32x2 = 0x0000001C,
689 WGPUVertexFormat_Sint32x3 = 0x0000001D,
690 WGPUVertexFormat_Sint32x4 = 0x0000001E,
691 WGPUVertexFormat_Force32 = 0x7FFFFFFF
692} WGPUVertexFormat WGPU_ENUM_ATTRIBUTE;
693
694typedef enum WGPUVertexStepMode {
695 WGPUVertexStepMode_Vertex = 0x00000000,
696 WGPUVertexStepMode_Instance = 0x00000001,
697 WGPUVertexStepMode_VertexBufferNotUsed = 0x00000002,
698 WGPUVertexStepMode_Force32 = 0x7FFFFFFF
699} WGPUVertexStepMode WGPU_ENUM_ATTRIBUTE;
700
701typedef enum WGPUWGSLFeatureName {
702 WGPUWGSLFeatureName_Undefined = 0x00000000,
703 WGPUWGSLFeatureName_ReadonlyAndReadwriteStorageTextures = 0x00000001,
704 WGPUWGSLFeatureName_Packed4x8IntegerDotProduct = 0x00000002,
705 WGPUWGSLFeatureName_UnrestrictedPointerParameters = 0x00000003,
706 WGPUWGSLFeatureName_PointerCompositeAccess = 0x00000004,
707 WGPUWGSLFeatureName_Force32 = 0x7FFFFFFF
708} WGPUWGSLFeatureName WGPU_ENUM_ATTRIBUTE;
709
710
719typedef enum WGPUBufferUsage {
720 WGPUBufferUsage_None = 0x00000000,
721 WGPUBufferUsage_MapRead = 0x00000001,
722 WGPUBufferUsage_MapWrite = 0x00000002,
723 WGPUBufferUsage_CopySrc = 0x00000004,
724 WGPUBufferUsage_CopyDst = 0x00000008,
725 WGPUBufferUsage_Index = 0x00000010,
726 WGPUBufferUsage_Vertex = 0x00000020,
727 WGPUBufferUsage_Uniform = 0x00000040,
728 WGPUBufferUsage_Storage = 0x00000080,
729 WGPUBufferUsage_Indirect = 0x00000100,
730 WGPUBufferUsage_QueryResolve = 0x00000200,
731 WGPUBufferUsage_Force32 = 0x7FFFFFFF
732} WGPUBufferUsage WGPU_ENUM_ATTRIBUTE;
733typedef WGPUFlags WGPUBufferUsageFlags WGPU_ENUM_ATTRIBUTE;
734
735typedef enum WGPUColorWriteMask {
736 WGPUColorWriteMask_None = 0x00000000,
737 WGPUColorWriteMask_Red = 0x00000001,
738 WGPUColorWriteMask_Green = 0x00000002,
739 WGPUColorWriteMask_Blue = 0x00000004,
740 WGPUColorWriteMask_Alpha = 0x00000008,
741 WGPUColorWriteMask_All = WGPUColorWriteMask_None | WGPUColorWriteMask_Red | WGPUColorWriteMask_Green | WGPUColorWriteMask_Blue | WGPUColorWriteMask_Alpha,
742 WGPUColorWriteMask_Force32 = 0x7FFFFFFF
743} WGPUColorWriteMask WGPU_ENUM_ATTRIBUTE;
744typedef WGPUFlags WGPUColorWriteMaskFlags WGPU_ENUM_ATTRIBUTE;
745
746typedef enum WGPUMapMode {
747 WGPUMapMode_None = 0x00000000,
748 WGPUMapMode_Read = 0x00000001,
749 WGPUMapMode_Write = 0x00000002,
750 WGPUMapMode_Force32 = 0x7FFFFFFF
751} WGPUMapMode WGPU_ENUM_ATTRIBUTE;
752typedef WGPUFlags WGPUMapModeFlags WGPU_ENUM_ATTRIBUTE;
753
754typedef enum WGPUShaderStage {
755 WGPUShaderStage_None = 0x00000000,
756 WGPUShaderStage_Vertex = 0x00000001,
757 WGPUShaderStage_Fragment = 0x00000002,
758 WGPUShaderStage_Compute = 0x00000004,
759 WGPUShaderStage_Force32 = 0x7FFFFFFF
760} WGPUShaderStage WGPU_ENUM_ATTRIBUTE;
761typedef WGPUFlags WGPUShaderStageFlags WGPU_ENUM_ATTRIBUTE;
762
763typedef enum WGPUTextureUsage {
764 WGPUTextureUsage_None = 0x00000000,
765 WGPUTextureUsage_CopySrc = 0x00000001,
766 WGPUTextureUsage_CopyDst = 0x00000002,
767 WGPUTextureUsage_TextureBinding = 0x00000004,
768 WGPUTextureUsage_StorageBinding = 0x00000008,
769 WGPUTextureUsage_RenderAttachment = 0x00000010,
770 WGPUTextureUsage_Force32 = 0x7FFFFFFF
771} WGPUTextureUsage WGPU_ENUM_ATTRIBUTE;
772typedef WGPUFlags WGPUTextureUsageFlags WGPU_ENUM_ATTRIBUTE;
773
774
776typedef void (*WGPUProc)(void) WGPU_FUNCTION_ATTRIBUTE;
777
778typedef void (*WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, char const * message, void * userdata) WGPU_FUNCTION_ATTRIBUTE;
779typedef void (*WGPUErrorCallback)(WGPUErrorType type, char const * message, void * userdata) WGPU_FUNCTION_ATTRIBUTE;
780
788typedef void (*WGPUAdapterRequestAdapterInfoCallback)(struct WGPUAdapterInfo adapterInfo, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
789typedef void (*WGPUAdapterRequestDeviceCallback)(WGPURequestDeviceStatus status, WGPUDevice device, char const * message, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
790typedef void (*WGPUBufferMapAsyncCallback)(WGPUBufferMapAsyncStatus status, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
791typedef void (*WGPUDeviceCreateComputePipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, char const * message, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
792typedef void (*WGPUDeviceCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, char const * message, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
793typedef void (*WGPUInstanceRequestAdapterCallback)(WGPURequestAdapterStatus status, WGPUAdapter adapter, char const * message, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
794typedef void (*WGPUQueueOnSubmittedWorkDoneCallback)(WGPUQueueWorkDoneStatus status, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
795typedef void (*WGPUShaderModuleGetCompilationInfoCallback)(WGPUCompilationInfoRequestStatus status, struct WGPUCompilationInfo const * compilationInfo, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
796
797
806typedef struct WGPUChainedStruct {
807 struct WGPUChainedStruct const * next;
808 WGPUSType sType;
809} WGPUChainedStruct WGPU_STRUCTURE_ATTRIBUTE;
810
811typedef struct WGPUChainedStructOut {
812 struct WGPUChainedStructOut * next;
813 WGPUSType sType;
814} WGPUChainedStructOut WGPU_STRUCTURE_ATTRIBUTE;
815
825typedef struct WGPUAdapterInfo {
826 char const * vendor;
827 char const * architecture;
828 char const * device;
829 char const * description;
830} WGPUAdapterInfo WGPU_STRUCTURE_ATTRIBUTE;
831
832typedef struct WGPUAdapterProperties {
833 WGPUChainedStructOut * nextInChain;
834 uint32_t vendorID;
835 char const * vendorName;
836 char const * architecture;
837 uint32_t deviceID;
838 char const * name;
839 char const * driverDescription;
840 WGPUAdapterType adapterType;
841 WGPUBackendType backendType;
842} WGPUAdapterProperties WGPU_STRUCTURE_ATTRIBUTE;
843
844typedef struct WGPUBindGroupEntry {
845 WGPUChainedStruct const * nextInChain;
846 uint32_t binding;
847 WGPU_NULLABLE WGPUBuffer buffer;
848 uint64_t offset;
849 uint64_t size;
850 WGPU_NULLABLE WGPUSampler sampler;
851 WGPU_NULLABLE WGPUTextureView textureView;
852} WGPUBindGroupEntry WGPU_STRUCTURE_ATTRIBUTE;
853
854typedef struct WGPUBlendComponent {
855 WGPUBlendOperation operation;
856 WGPUBlendFactor srcFactor;
857 WGPUBlendFactor dstFactor;
858} WGPUBlendComponent WGPU_STRUCTURE_ATTRIBUTE;
859
861 WGPUChainedStruct const * nextInChain;
862 WGPUBufferBindingType type;
863 WGPUBool hasDynamicOffset;
864 uint64_t minBindingSize;
865} WGPUBufferBindingLayout WGPU_STRUCTURE_ATTRIBUTE;
866
867typedef struct WGPUBufferDescriptor {
868 WGPUChainedStruct const * nextInChain;
869 WGPU_NULLABLE char const * label;
870 WGPUBufferUsageFlags usage;
871 uint64_t size;
872 WGPUBool mappedAtCreation;
873} WGPUBufferDescriptor WGPU_STRUCTURE_ATTRIBUTE;
874
875typedef struct WGPUColor {
876 double r;
877 double g;
878 double b;
879 double a;
880} WGPUColor WGPU_STRUCTURE_ATTRIBUTE;
881
883 WGPUChainedStruct const * nextInChain;
884 WGPU_NULLABLE char const * label;
885} WGPUCommandBufferDescriptor WGPU_STRUCTURE_ATTRIBUTE;
886
888 WGPUChainedStruct const * nextInChain;
889 WGPU_NULLABLE char const * label;
890} WGPUCommandEncoderDescriptor WGPU_STRUCTURE_ATTRIBUTE;
891
893 WGPUChainedStruct const * nextInChain;
894 WGPU_NULLABLE char const * message;
895 WGPUCompilationMessageType type;
896 uint64_t lineNum;
897 uint64_t linePos;
898 uint64_t offset;
899 uint64_t length;
900 uint64_t utf16LinePos;
901 uint64_t utf16Offset;
902 uint64_t utf16Length;
903} WGPUCompilationMessage WGPU_STRUCTURE_ATTRIBUTE;
904
906 WGPUQuerySet querySet;
907 uint32_t beginningOfPassWriteIndex;
908 uint32_t endOfPassWriteIndex;
909} WGPUComputePassTimestampWrites WGPU_STRUCTURE_ATTRIBUTE;
910
911typedef struct WGPUConstantEntry {
912 WGPUChainedStruct const * nextInChain;
913 char const * key;
914 double value;
915} WGPUConstantEntry WGPU_STRUCTURE_ATTRIBUTE;
916
917typedef struct WGPUExtent3D {
918 uint32_t width;
919 uint32_t height;
920 uint32_t depthOrArrayLayers;
921} WGPUExtent3D WGPU_STRUCTURE_ATTRIBUTE;
922
924 WGPUChainedStruct const * nextInChain;
925} WGPUInstanceDescriptor WGPU_STRUCTURE_ATTRIBUTE;
926
927typedef struct WGPULimits {
928 uint32_t maxTextureDimension1D;
929 uint32_t maxTextureDimension2D;
930 uint32_t maxTextureDimension3D;
931 uint32_t maxTextureArrayLayers;
932 uint32_t maxBindGroups;
933 uint32_t maxBindGroupsPlusVertexBuffers;
934 uint32_t maxBindingsPerBindGroup;
935 uint32_t maxDynamicUniformBuffersPerPipelineLayout;
936 uint32_t maxDynamicStorageBuffersPerPipelineLayout;
937 uint32_t maxSampledTexturesPerShaderStage;
938 uint32_t maxSamplersPerShaderStage;
939 uint32_t maxStorageBuffersPerShaderStage;
940 uint32_t maxStorageTexturesPerShaderStage;
941 uint32_t maxUniformBuffersPerShaderStage;
942 uint64_t maxUniformBufferBindingSize;
943 uint64_t maxStorageBufferBindingSize;
944 uint32_t minUniformBufferOffsetAlignment;
945 uint32_t minStorageBufferOffsetAlignment;
946 uint32_t maxVertexBuffers;
947 uint64_t maxBufferSize;
948 uint32_t maxVertexAttributes;
949 uint32_t maxVertexBufferArrayStride;
950 uint32_t maxInterStageShaderComponents;
951 uint32_t maxInterStageShaderVariables;
952 uint32_t maxColorAttachments;
953 uint32_t maxColorAttachmentBytesPerSample;
954 uint32_t maxComputeWorkgroupStorageSize;
955 uint32_t maxComputeInvocationsPerWorkgroup;
956 uint32_t maxComputeWorkgroupSizeX;
957 uint32_t maxComputeWorkgroupSizeY;
958 uint32_t maxComputeWorkgroupSizeZ;
959 uint32_t maxComputeWorkgroupsPerDimension;
960} WGPULimits WGPU_STRUCTURE_ATTRIBUTE;
961
962typedef struct WGPUMultisampleState {
963 WGPUChainedStruct const * nextInChain;
964 uint32_t count;
965 uint32_t mask;
966 WGPUBool alphaToCoverageEnabled;
967} WGPUMultisampleState WGPU_STRUCTURE_ATTRIBUTE;
968
969typedef struct WGPUOrigin3D {
970 uint32_t x;
971 uint32_t y;
972 uint32_t z;
973} WGPUOrigin3D WGPU_STRUCTURE_ATTRIBUTE;
974
976 WGPUChainedStruct const * nextInChain;
977 WGPU_NULLABLE char const * label;
978 size_t bindGroupLayoutCount;
979 WGPUBindGroupLayout const * bindGroupLayouts;
980} WGPUPipelineLayoutDescriptor WGPU_STRUCTURE_ATTRIBUTE;
981
983 WGPUChainedStruct chain;
984 WGPUBool unclippedDepth;
985} WGPUPrimitiveDepthClipControl WGPU_STRUCTURE_ATTRIBUTE;
986
987typedef struct WGPUPrimitiveState {
988 WGPUChainedStruct const * nextInChain;
989 WGPUPrimitiveTopology topology;
990 WGPUIndexFormat stripIndexFormat;
991 WGPUFrontFace frontFace;
992 WGPUCullMode cullMode;
993} WGPUPrimitiveState WGPU_STRUCTURE_ATTRIBUTE;
994
996 WGPUChainedStruct const * nextInChain;
997 WGPU_NULLABLE char const * label;
998 WGPUQueryType type;
999 uint32_t count;
1000} WGPUQuerySetDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1001
1002typedef struct WGPUQueueDescriptor {
1003 WGPUChainedStruct const * nextInChain;
1004 WGPU_NULLABLE char const * label;
1005} WGPUQueueDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1006
1008 WGPUChainedStruct const * nextInChain;
1009 WGPU_NULLABLE char const * label;
1010} WGPURenderBundleDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1011
1013 WGPUChainedStruct const * nextInChain;
1014 WGPU_NULLABLE char const * label;
1015 size_t colorFormatCount;
1016 WGPUTextureFormat const * colorFormats;
1017 WGPUTextureFormat depthStencilFormat;
1018 uint32_t sampleCount;
1019 WGPUBool depthReadOnly;
1020 WGPUBool stencilReadOnly;
1021} WGPURenderBundleEncoderDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1022
1024 WGPUTextureView view;
1025 WGPULoadOp depthLoadOp;
1026 WGPUStoreOp depthStoreOp;
1027 float depthClearValue;
1028 WGPUBool depthReadOnly;
1029 WGPULoadOp stencilLoadOp;
1030 WGPUStoreOp stencilStoreOp;
1031 uint32_t stencilClearValue;
1032 WGPUBool stencilReadOnly;
1033} WGPURenderPassDepthStencilAttachment WGPU_STRUCTURE_ATTRIBUTE;
1034
1036 WGPUChainedStruct chain;
1037 uint64_t maxDrawCount;
1038} WGPURenderPassDescriptorMaxDrawCount WGPU_STRUCTURE_ATTRIBUTE;
1039
1041 WGPUQuerySet querySet;
1042 uint32_t beginningOfPassWriteIndex;
1043 uint32_t endOfPassWriteIndex;
1044} WGPURenderPassTimestampWrites WGPU_STRUCTURE_ATTRIBUTE;
1045
1047 WGPUChainedStruct const * nextInChain;
1048 WGPU_NULLABLE WGPUSurface compatibleSurface;
1049 WGPUPowerPreference powerPreference;
1050 WGPUBackendType backendType;
1051 WGPUBool forceFallbackAdapter;
1052} WGPURequestAdapterOptions WGPU_STRUCTURE_ATTRIBUTE;
1053
1055 WGPUChainedStruct const * nextInChain;
1056 WGPUSamplerBindingType type;
1057} WGPUSamplerBindingLayout WGPU_STRUCTURE_ATTRIBUTE;
1058
1060 WGPUChainedStruct const * nextInChain;
1061 WGPU_NULLABLE char const * label;
1062 WGPUAddressMode addressModeU;
1063 WGPUAddressMode addressModeV;
1064 WGPUAddressMode addressModeW;
1065 WGPUFilterMode magFilter;
1066 WGPUFilterMode minFilter;
1067 WGPUMipmapFilterMode mipmapFilter;
1068 float lodMinClamp;
1069 float lodMaxClamp;
1070 WGPUCompareFunction compare;
1071 uint16_t maxAnisotropy;
1072} WGPUSamplerDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1073
1075 WGPUChainedStruct const * nextInChain;
1076 char const * entryPoint;
1077 WGPUPipelineLayout layout;
1078} WGPUShaderModuleCompilationHint WGPU_STRUCTURE_ATTRIBUTE;
1079
1081 WGPUChainedStruct chain;
1082 uint32_t codeSize;
1083 uint32_t const * code;
1084} WGPUShaderModuleSPIRVDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1085
1087 WGPUChainedStruct chain;
1088 char const * code;
1089} WGPUShaderModuleWGSLDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1090
1091typedef struct WGPUStencilFaceState {
1092 WGPUCompareFunction compare;
1093 WGPUStencilOperation failOp;
1094 WGPUStencilOperation depthFailOp;
1095 WGPUStencilOperation passOp;
1096} WGPUStencilFaceState WGPU_STRUCTURE_ATTRIBUTE;
1097
1099 WGPUChainedStruct const * nextInChain;
1100 WGPUStorageTextureAccess access;
1101 WGPUTextureFormat format;
1102 WGPUTextureViewDimension viewDimension;
1103} WGPUStorageTextureBindingLayout WGPU_STRUCTURE_ATTRIBUTE;
1104
1106 WGPUChainedStructOut * nextInChain;
1107 size_t formatCount;
1108 WGPUTextureFormat const * formats;
1109 size_t presentModeCount;
1110 WGPUPresentMode const * presentModes;
1111 size_t alphaModeCount;
1112 WGPUCompositeAlphaMode const * alphaModes;
1113} WGPUSurfaceCapabilities WGPU_STRUCTURE_ATTRIBUTE;
1114
1116 WGPUChainedStruct const * nextInChain;
1117 WGPUDevice device;
1118 WGPUTextureFormat format;
1119 WGPUTextureUsageFlags usage;
1120 size_t viewFormatCount;
1121 WGPUTextureFormat const * viewFormats;
1122 WGPUCompositeAlphaMode alphaMode;
1123 uint32_t width;
1124 uint32_t height;
1125 WGPUPresentMode presentMode;
1126} WGPUSurfaceConfiguration WGPU_STRUCTURE_ATTRIBUTE;
1127
1129 WGPUChainedStruct const * nextInChain;
1130 WGPU_NULLABLE char const * label;
1131} WGPUSurfaceDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1132
1134 WGPUChainedStruct chain;
1135 void * window;
1136} WGPUSurfaceDescriptorFromAndroidNativeWindow WGPU_STRUCTURE_ATTRIBUTE;
1137
1139 WGPUChainedStruct chain;
1140 char const * selector;
1141} WGPUSurfaceDescriptorFromCanvasHTMLSelector WGPU_STRUCTURE_ATTRIBUTE;
1142
1144 WGPUChainedStruct chain;
1145 void * layer;
1146} WGPUSurfaceDescriptorFromMetalLayer WGPU_STRUCTURE_ATTRIBUTE;
1147
1149 WGPUChainedStruct chain;
1150 void * display;
1151 void * surface;
1152} WGPUSurfaceDescriptorFromWaylandSurface WGPU_STRUCTURE_ATTRIBUTE;
1153
1155 WGPUChainedStruct chain;
1156 void * hinstance;
1157 void * hwnd;
1158} WGPUSurfaceDescriptorFromWindowsHWND WGPU_STRUCTURE_ATTRIBUTE;
1159
1161 WGPUChainedStruct chain;
1162 void * connection;
1163 uint32_t window;
1164} WGPUSurfaceDescriptorFromXcbWindow WGPU_STRUCTURE_ATTRIBUTE;
1165
1167 WGPUChainedStruct chain;
1168 void * display;
1169 uint64_t window;
1170} WGPUSurfaceDescriptorFromXlibWindow WGPU_STRUCTURE_ATTRIBUTE;
1171
1172typedef struct WGPUSurfaceTexture {
1173 WGPUTexture texture;
1174 WGPUBool suboptimal;
1175 WGPUSurfaceGetCurrentTextureStatus status;
1176} WGPUSurfaceTexture WGPU_STRUCTURE_ATTRIBUTE;
1177
1179 WGPUChainedStruct const * nextInChain;
1180 WGPUTextureSampleType sampleType;
1181 WGPUTextureViewDimension viewDimension;
1182 WGPUBool multisampled;
1183} WGPUTextureBindingLayout WGPU_STRUCTURE_ATTRIBUTE;
1184
1186 WGPUChainedStruct const * nextInChain;
1187 uint64_t offset;
1188 uint32_t bytesPerRow;
1189 uint32_t rowsPerImage;
1190} WGPUTextureDataLayout WGPU_STRUCTURE_ATTRIBUTE;
1191
1193 WGPUChainedStruct const * nextInChain;
1194 WGPU_NULLABLE char const * label;
1195 WGPUTextureFormat format;
1196 WGPUTextureViewDimension dimension;
1197 uint32_t baseMipLevel;
1198 uint32_t mipLevelCount;
1199 uint32_t baseArrayLayer;
1200 uint32_t arrayLayerCount;
1201 WGPUTextureAspect aspect;
1202} WGPUTextureViewDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1203
1204typedef struct WGPUVertexAttribute {
1205 WGPUVertexFormat format;
1206 uint64_t offset;
1207 uint32_t shaderLocation;
1208} WGPUVertexAttribute WGPU_STRUCTURE_ATTRIBUTE;
1209
1211 WGPUChainedStruct const * nextInChain;
1212 WGPU_NULLABLE char const * label;
1213 WGPUBindGroupLayout layout;
1214 size_t entryCount;
1215 WGPUBindGroupEntry const * entries;
1216} WGPUBindGroupDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1217
1219 WGPUChainedStruct const * nextInChain;
1220 uint32_t binding;
1221 WGPUShaderStageFlags visibility;
1225 WGPUStorageTextureBindingLayout storageTexture;
1226} WGPUBindGroupLayoutEntry WGPU_STRUCTURE_ATTRIBUTE;
1227
1228typedef struct WGPUBlendState {
1229 WGPUBlendComponent color;
1230 WGPUBlendComponent alpha;
1231} WGPUBlendState WGPU_STRUCTURE_ATTRIBUTE;
1232
1233typedef struct WGPUCompilationInfo {
1234 WGPUChainedStruct const * nextInChain;
1235 size_t messageCount;
1236 WGPUCompilationMessage const * messages;
1237} WGPUCompilationInfo WGPU_STRUCTURE_ATTRIBUTE;
1238
1240 WGPUChainedStruct const * nextInChain;
1241 WGPU_NULLABLE char const * label;
1242 WGPU_NULLABLE WGPUComputePassTimestampWrites const * timestampWrites;
1243} WGPUComputePassDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1244
1246 WGPUChainedStruct const * nextInChain;
1247 WGPUTextureFormat format;
1248 WGPUBool depthWriteEnabled;
1249 WGPUCompareFunction depthCompare;
1250 WGPUStencilFaceState stencilFront;
1251 WGPUStencilFaceState stencilBack;
1252 uint32_t stencilReadMask;
1253 uint32_t stencilWriteMask;
1254 int32_t depthBias;
1255 float depthBiasSlopeScale;
1256 float depthBiasClamp;
1257} WGPUDepthStencilState WGPU_STRUCTURE_ATTRIBUTE;
1258
1259typedef struct WGPUImageCopyBuffer {
1260 WGPUChainedStruct const * nextInChain;
1261 WGPUTextureDataLayout layout;
1262 WGPUBuffer buffer;
1263} WGPUImageCopyBuffer WGPU_STRUCTURE_ATTRIBUTE;
1264
1265typedef struct WGPUImageCopyTexture {
1266 WGPUChainedStruct const * nextInChain;
1267 WGPUTexture texture;
1268 uint32_t mipLevel;
1269 WGPUOrigin3D origin;
1270 WGPUTextureAspect aspect;
1271} WGPUImageCopyTexture WGPU_STRUCTURE_ATTRIBUTE;
1272
1274 WGPUChainedStruct const * nextInChain;
1275 WGPUShaderModule module;
1276 WGPU_NULLABLE char const * entryPoint;
1277 size_t constantCount;
1278 WGPUConstantEntry const * constants;
1279} WGPUProgrammableStageDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1280
1282 WGPUChainedStruct const * nextInChain;
1283 WGPU_NULLABLE WGPUTextureView view;
1284 uint32_t depthSlice;
1285 WGPU_NULLABLE WGPUTextureView resolveTarget;
1286 WGPULoadOp loadOp;
1287 WGPUStoreOp storeOp;
1288 WGPUColor clearValue;
1289} WGPURenderPassColorAttachment WGPU_STRUCTURE_ATTRIBUTE;
1290
1291typedef struct WGPURequiredLimits {
1292 WGPUChainedStruct const * nextInChain;
1293 WGPULimits limits;
1294} WGPURequiredLimits WGPU_STRUCTURE_ATTRIBUTE;
1295
1297 WGPUChainedStruct const * nextInChain;
1298 WGPU_NULLABLE char const * label;
1299 size_t hintCount;
1300 WGPUShaderModuleCompilationHint const * hints;
1301} WGPUShaderModuleDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1302
1303typedef struct WGPUSupportedLimits {
1304 WGPUChainedStructOut * nextInChain;
1305 WGPULimits limits;
1306} WGPUSupportedLimits WGPU_STRUCTURE_ATTRIBUTE;
1307
1309 WGPUChainedStruct const * nextInChain;
1310 WGPU_NULLABLE char const * label;
1311 WGPUTextureUsageFlags usage;
1312 WGPUTextureDimension dimension;
1313 WGPUExtent3D size;
1314 WGPUTextureFormat format;
1315 uint32_t mipLevelCount;
1316 uint32_t sampleCount;
1317 size_t viewFormatCount;
1318 WGPUTextureFormat const * viewFormats;
1319} WGPUTextureDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1320
1322 uint64_t arrayStride;
1323 WGPUVertexStepMode stepMode;
1324 size_t attributeCount;
1325 WGPUVertexAttribute const * attributes;
1326} WGPUVertexBufferLayout WGPU_STRUCTURE_ATTRIBUTE;
1327
1329 WGPUChainedStruct const * nextInChain;
1330 WGPU_NULLABLE char const * label;
1331 size_t entryCount;
1332 WGPUBindGroupLayoutEntry const * entries;
1333} WGPUBindGroupLayoutDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1334
1335typedef struct WGPUColorTargetState {
1336 WGPUChainedStruct const * nextInChain;
1337 WGPUTextureFormat format;
1338 WGPU_NULLABLE WGPUBlendState const * blend;
1339 WGPUColorWriteMaskFlags writeMask;
1340} WGPUColorTargetState WGPU_STRUCTURE_ATTRIBUTE;
1341
1343 WGPUChainedStruct const * nextInChain;
1344 WGPU_NULLABLE char const * label;
1345 WGPU_NULLABLE WGPUPipelineLayout layout;
1347} WGPUComputePipelineDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1348
1349typedef struct WGPUDeviceDescriptor {
1350 WGPUChainedStruct const * nextInChain;
1351 WGPU_NULLABLE char const * label;
1352 size_t requiredFeatureCount;
1353 WGPUFeatureName const * requiredFeatures;
1354 WGPU_NULLABLE WGPURequiredLimits const * requiredLimits;
1355 WGPUQueueDescriptor defaultQueue;
1356 WGPUDeviceLostCallback deviceLostCallback;
1357 void * deviceLostUserdata;
1358} WGPUDeviceDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1359
1361 WGPUChainedStruct const * nextInChain;
1362 WGPU_NULLABLE char const * label;
1363 size_t colorAttachmentCount;
1364 WGPURenderPassColorAttachment const * colorAttachments;
1365 WGPU_NULLABLE WGPURenderPassDepthStencilAttachment const * depthStencilAttachment;
1366 WGPU_NULLABLE WGPUQuerySet occlusionQuerySet;
1367 WGPU_NULLABLE WGPURenderPassTimestampWrites const * timestampWrites;
1368} WGPURenderPassDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1369
1370typedef struct WGPUVertexState {
1371 WGPUChainedStruct const * nextInChain;
1372 WGPUShaderModule module;
1373 WGPU_NULLABLE char const * entryPoint;
1374 size_t constantCount;
1375 WGPUConstantEntry const * constants;
1376 size_t bufferCount;
1377 WGPUVertexBufferLayout const * buffers;
1378} WGPUVertexState WGPU_STRUCTURE_ATTRIBUTE;
1379
1380typedef struct WGPUFragmentState {
1381 WGPUChainedStruct const * nextInChain;
1382 WGPUShaderModule module;
1383 WGPU_NULLABLE char const * entryPoint;
1384 size_t constantCount;
1385 WGPUConstantEntry const * constants;
1386 size_t targetCount;
1387 WGPUColorTargetState const * targets;
1388} WGPUFragmentState WGPU_STRUCTURE_ATTRIBUTE;
1389
1391 WGPUChainedStruct const * nextInChain;
1392 WGPU_NULLABLE char const * label;
1393 WGPU_NULLABLE WGPUPipelineLayout layout;
1394 WGPUVertexState vertex;
1395 WGPUPrimitiveState primitive;
1396 WGPU_NULLABLE WGPUDepthStencilState const * depthStencil;
1397 WGPUMultisampleState multisample;
1398 WGPU_NULLABLE WGPUFragmentState const * fragment;
1399} WGPURenderPipelineDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1400
1403#ifdef __cplusplus
1404extern "C" {
1405#endif
1406
1407#if !defined(WGPU_SKIP_PROCS)
1408
1409typedef WGPUInstance (*WGPUProcCreateInstance)(WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1410typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUDevice device, char const * procName) WGPU_FUNCTION_ATTRIBUTE;
1411
1412// Procs of Adapter
1413typedef size_t (*WGPUProcAdapterEnumerateFeatures)(WGPUAdapter adapter, WGPUFeatureName * features) WGPU_FUNCTION_ATTRIBUTE;
1414typedef WGPUBool (*WGPUProcAdapterGetLimits)(WGPUAdapter adapter, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE;
1415typedef void (*WGPUProcAdapterGetProperties)(WGPUAdapter adapter, WGPUAdapterProperties * properties) WGPU_FUNCTION_ATTRIBUTE;
1416typedef WGPUBool (*WGPUProcAdapterHasFeature)(WGPUAdapter adapter, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
1417typedef void (*WGPUProcAdapterRequestAdapterInfo)(WGPUAdapter adapter, WGPUAdapterRequestAdapterInfoCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1418typedef void (*WGPUProcAdapterRequestDevice)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor, WGPUAdapterRequestDeviceCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1419typedef void (*WGPUProcAdapterReference)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
1420typedef void (*WGPUProcAdapterRelease)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
1421
1422// Procs of BindGroup
1423typedef void (*WGPUProcBindGroupSetLabel)(WGPUBindGroup bindGroup, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1424typedef void (*WGPUProcBindGroupReference)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
1425typedef void (*WGPUProcBindGroupRelease)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
1426
1427// Procs of BindGroupLayout
1428typedef void (*WGPUProcBindGroupLayoutSetLabel)(WGPUBindGroupLayout bindGroupLayout, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1429typedef void (*WGPUProcBindGroupLayoutReference)(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE;
1430typedef void (*WGPUProcBindGroupLayoutRelease)(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE;
1431
1432// Procs of Buffer
1433typedef void (*WGPUProcBufferDestroy)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1434typedef void const * (*WGPUProcBufferGetConstMappedRange)(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
1435typedef WGPUBufferMapState (*WGPUProcBufferGetMapState)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1436typedef void * (*WGPUProcBufferGetMappedRange)(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
1437typedef uint64_t (*WGPUProcBufferGetSize)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1438typedef WGPUBufferUsageFlags (*WGPUProcBufferGetUsage)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1439typedef void (*WGPUProcBufferMapAsync)(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapAsyncCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1440typedef void (*WGPUProcBufferSetLabel)(WGPUBuffer buffer, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1441typedef void (*WGPUProcBufferUnmap)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1442typedef void (*WGPUProcBufferReference)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1443typedef void (*WGPUProcBufferRelease)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1444
1445// Procs of CommandBuffer
1446typedef void (*WGPUProcCommandBufferSetLabel)(WGPUCommandBuffer commandBuffer, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1447typedef void (*WGPUProcCommandBufferReference)(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE;
1448typedef void (*WGPUProcCommandBufferRelease)(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE;
1449
1450// Procs of CommandEncoder
1451typedef WGPUComputePassEncoder (*WGPUProcCommandEncoderBeginComputePass)(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUComputePassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1452typedef WGPURenderPassEncoder (*WGPUProcCommandEncoderBeginRenderPass)(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1453typedef void (*WGPUProcCommandEncoderClearBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1454typedef void (*WGPUProcCommandEncoderCopyBufferToBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1455typedef void (*WGPUProcCommandEncoderCopyBufferToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE;
1456typedef void (*WGPUProcCommandEncoderCopyTextureToBuffer)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyBuffer const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE;
1457typedef void (*WGPUProcCommandEncoderCopyTextureToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE;
1458typedef WGPUCommandBuffer (*WGPUProcCommandEncoderFinish)(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUCommandBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1459typedef void (*WGPUProcCommandEncoderInsertDebugMarker)(WGPUCommandEncoder commandEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1460typedef void (*WGPUProcCommandEncoderPopDebugGroup)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
1461typedef void (*WGPUProcCommandEncoderPushDebugGroup)(WGPUCommandEncoder commandEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1462typedef void (*WGPUProcCommandEncoderResolveQuerySet)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE;
1463typedef void (*WGPUProcCommandEncoderSetLabel)(WGPUCommandEncoder commandEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1464typedef void (*WGPUProcCommandEncoderWriteTimestamp)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE;
1465typedef void (*WGPUProcCommandEncoderReference)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
1466typedef void (*WGPUProcCommandEncoderRelease)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
1467
1468// Procs of ComputePassEncoder
1469typedef void (*WGPUProcComputePassEncoderDispatchWorkgroups)(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ) WGPU_FUNCTION_ATTRIBUTE;
1470typedef void (*WGPUProcComputePassEncoderDispatchWorkgroupsIndirect)(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1471typedef void (*WGPUProcComputePassEncoderEnd)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1472typedef void (*WGPUProcComputePassEncoderInsertDebugMarker)(WGPUComputePassEncoder computePassEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1473typedef void (*WGPUProcComputePassEncoderPopDebugGroup)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1474typedef void (*WGPUProcComputePassEncoderPushDebugGroup)(WGPUComputePassEncoder computePassEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1475typedef void (*WGPUProcComputePassEncoderSetBindGroup)(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE;
1476typedef void (*WGPUProcComputePassEncoderSetLabel)(WGPUComputePassEncoder computePassEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1477typedef void (*WGPUProcComputePassEncoderSetPipeline)(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
1478typedef void (*WGPUProcComputePassEncoderReference)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1479typedef void (*WGPUProcComputePassEncoderRelease)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1480
1481// Procs of ComputePipeline
1482typedef WGPUBindGroupLayout (*WGPUProcComputePipelineGetBindGroupLayout)(WGPUComputePipeline computePipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE;
1483typedef void (*WGPUProcComputePipelineSetLabel)(WGPUComputePipeline computePipeline, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1484typedef void (*WGPUProcComputePipelineReference)(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
1485typedef void (*WGPUProcComputePipelineRelease)(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
1486
1487// Procs of Device
1488typedef WGPUBindGroup (*WGPUProcDeviceCreateBindGroup)(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1489typedef WGPUBindGroupLayout (*WGPUProcDeviceCreateBindGroupLayout)(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1490typedef WGPUBuffer (*WGPUProcDeviceCreateBuffer)(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1491typedef WGPUCommandEncoder (*WGPUProcDeviceCreateCommandEncoder)(WGPUDevice device, WGPU_NULLABLE WGPUCommandEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1492typedef WGPUComputePipeline (*WGPUProcDeviceCreateComputePipeline)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1493typedef void (*WGPUProcDeviceCreateComputePipelineAsync)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUDeviceCreateComputePipelineAsyncCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1494typedef WGPUPipelineLayout (*WGPUProcDeviceCreatePipelineLayout)(WGPUDevice device, WGPUPipelineLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1495typedef WGPUQuerySet (*WGPUProcDeviceCreateQuerySet)(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1496typedef WGPURenderBundleEncoder (*WGPUProcDeviceCreateRenderBundleEncoder)(WGPUDevice device, WGPURenderBundleEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1497typedef WGPURenderPipeline (*WGPUProcDeviceCreateRenderPipeline)(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1498typedef void (*WGPUProcDeviceCreateRenderPipelineAsync)(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUDeviceCreateRenderPipelineAsyncCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1499typedef WGPUSampler (*WGPUProcDeviceCreateSampler)(WGPUDevice device, WGPU_NULLABLE WGPUSamplerDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1500typedef WGPUShaderModule (*WGPUProcDeviceCreateShaderModule)(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1501typedef WGPUTexture (*WGPUProcDeviceCreateTexture)(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1502typedef void (*WGPUProcDeviceDestroy)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1503typedef size_t (*WGPUProcDeviceEnumerateFeatures)(WGPUDevice device, WGPUFeatureName * features) WGPU_FUNCTION_ATTRIBUTE;
1504typedef WGPUBool (*WGPUProcDeviceGetLimits)(WGPUDevice device, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE;
1505typedef WGPUQueue (*WGPUProcDeviceGetQueue)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1506typedef WGPUBool (*WGPUProcDeviceHasFeature)(WGPUDevice device, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
1507typedef void (*WGPUProcDevicePopErrorScope)(WGPUDevice device, WGPUErrorCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1508typedef void (*WGPUProcDevicePushErrorScope)(WGPUDevice device, WGPUErrorFilter filter) WGPU_FUNCTION_ATTRIBUTE;
1509typedef void (*WGPUProcDeviceSetLabel)(WGPUDevice device, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1510typedef void (*WGPUProcDeviceSetUncapturedErrorCallback)(WGPUDevice device, WGPUErrorCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1511typedef void (*WGPUProcDeviceReference)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1512typedef void (*WGPUProcDeviceRelease)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1513
1514// Procs of Instance
1515typedef WGPUSurface (*WGPUProcInstanceCreateSurface)(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1516typedef WGPUBool (*WGPUProcInstanceHasWGSLLanguageFeature)(WGPUInstance instance, WGPUWGSLFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
1517typedef void (*WGPUProcInstanceProcessEvents)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
1518typedef void (*WGPUProcInstanceRequestAdapter)(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPUInstanceRequestAdapterCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1519typedef void (*WGPUProcInstanceReference)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
1520typedef void (*WGPUProcInstanceRelease)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
1521
1522// Procs of PipelineLayout
1523typedef void (*WGPUProcPipelineLayoutSetLabel)(WGPUPipelineLayout pipelineLayout, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1524typedef void (*WGPUProcPipelineLayoutReference)(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE;
1525typedef void (*WGPUProcPipelineLayoutRelease)(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE;
1526
1527// Procs of QuerySet
1528typedef void (*WGPUProcQuerySetDestroy)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1529typedef uint32_t (*WGPUProcQuerySetGetCount)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1530typedef WGPUQueryType (*WGPUProcQuerySetGetType)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1531typedef void (*WGPUProcQuerySetSetLabel)(WGPUQuerySet querySet, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1532typedef void (*WGPUProcQuerySetReference)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1533typedef void (*WGPUProcQuerySetRelease)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1534
1535// Procs of Queue
1536typedef void (*WGPUProcQueueOnSubmittedWorkDone)(WGPUQueue queue, WGPUQueueOnSubmittedWorkDoneCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1537typedef void (*WGPUProcQueueSetLabel)(WGPUQueue queue, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1538typedef void (*WGPUProcQueueSubmit)(WGPUQueue queue, size_t commandCount, WGPUCommandBuffer const * commands) WGPU_FUNCTION_ATTRIBUTE;
1539typedef void (*WGPUProcQueueWriteBuffer)(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE;
1540typedef void (*WGPUProcQueueWriteTexture)(WGPUQueue queue, WGPUImageCopyTexture const * destination, void const * data, size_t dataSize, WGPUTextureDataLayout const * dataLayout, WGPUExtent3D const * writeSize) WGPU_FUNCTION_ATTRIBUTE;
1541typedef void (*WGPUProcQueueReference)(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE;
1542typedef void (*WGPUProcQueueRelease)(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE;
1543
1544// Procs of RenderBundle
1545typedef void (*WGPUProcRenderBundleSetLabel)(WGPURenderBundle renderBundle, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1546typedef void (*WGPUProcRenderBundleReference)(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE;
1547typedef void (*WGPUProcRenderBundleRelease)(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE;
1548
1549// Procs of RenderBundleEncoder
1550typedef void (*WGPUProcRenderBundleEncoderDraw)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1551typedef void (*WGPUProcRenderBundleEncoderDrawIndexed)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1552typedef void (*WGPUProcRenderBundleEncoderDrawIndexedIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1553typedef void (*WGPUProcRenderBundleEncoderDrawIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1554typedef WGPURenderBundle (*WGPUProcRenderBundleEncoderFinish)(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPURenderBundleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1555typedef void (*WGPUProcRenderBundleEncoderInsertDebugMarker)(WGPURenderBundleEncoder renderBundleEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1556typedef void (*WGPUProcRenderBundleEncoderPopDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
1557typedef void (*WGPUProcRenderBundleEncoderPushDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1558typedef void (*WGPUProcRenderBundleEncoderSetBindGroup)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE;
1559typedef void (*WGPUProcRenderBundleEncoderSetIndexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1560typedef void (*WGPUProcRenderBundleEncoderSetLabel)(WGPURenderBundleEncoder renderBundleEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1561typedef void (*WGPUProcRenderBundleEncoderSetPipeline)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
1562typedef void (*WGPUProcRenderBundleEncoderSetVertexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1563typedef void (*WGPUProcRenderBundleEncoderReference)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
1564typedef void (*WGPUProcRenderBundleEncoderRelease)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
1565
1566// Procs of RenderPassEncoder
1567typedef void (*WGPUProcRenderPassEncoderBeginOcclusionQuery)(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE;
1568typedef void (*WGPUProcRenderPassEncoderDraw)(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1569typedef void (*WGPUProcRenderPassEncoderDrawIndexed)(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1570typedef void (*WGPUProcRenderPassEncoderDrawIndexedIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1571typedef void (*WGPUProcRenderPassEncoderDrawIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1572typedef void (*WGPUProcRenderPassEncoderEnd)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1573typedef void (*WGPUProcRenderPassEncoderEndOcclusionQuery)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1574typedef void (*WGPUProcRenderPassEncoderExecuteBundles)(WGPURenderPassEncoder renderPassEncoder, size_t bundleCount, WGPURenderBundle const * bundles) WGPU_FUNCTION_ATTRIBUTE;
1575typedef void (*WGPUProcRenderPassEncoderInsertDebugMarker)(WGPURenderPassEncoder renderPassEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1576typedef void (*WGPUProcRenderPassEncoderPopDebugGroup)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1577typedef void (*WGPUProcRenderPassEncoderPushDebugGroup)(WGPURenderPassEncoder renderPassEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1578typedef void (*WGPUProcRenderPassEncoderSetBindGroup)(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE;
1579typedef void (*WGPUProcRenderPassEncoderSetBlendConstant)(WGPURenderPassEncoder renderPassEncoder, WGPUColor const * color) WGPU_FUNCTION_ATTRIBUTE;
1580typedef void (*WGPUProcRenderPassEncoderSetIndexBuffer)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1581typedef void (*WGPUProcRenderPassEncoderSetLabel)(WGPURenderPassEncoder renderPassEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1582typedef void (*WGPUProcRenderPassEncoderSetPipeline)(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
1583typedef void (*WGPUProcRenderPassEncoderSetScissorRect)(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE;
1584typedef void (*WGPUProcRenderPassEncoderSetStencilReference)(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE;
1585typedef void (*WGPUProcRenderPassEncoderSetVertexBuffer)(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1586typedef void (*WGPUProcRenderPassEncoderSetViewport)(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth) WGPU_FUNCTION_ATTRIBUTE;
1587typedef void (*WGPUProcRenderPassEncoderReference)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1588typedef void (*WGPUProcRenderPassEncoderRelease)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1589
1590// Procs of RenderPipeline
1591typedef WGPUBindGroupLayout (*WGPUProcRenderPipelineGetBindGroupLayout)(WGPURenderPipeline renderPipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE;
1592typedef void (*WGPUProcRenderPipelineSetLabel)(WGPURenderPipeline renderPipeline, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1593typedef void (*WGPUProcRenderPipelineReference)(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE;
1594typedef void (*WGPUProcRenderPipelineRelease)(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE;
1595
1596// Procs of Sampler
1597typedef void (*WGPUProcSamplerSetLabel)(WGPUSampler sampler, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1598typedef void (*WGPUProcSamplerReference)(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE;
1599typedef void (*WGPUProcSamplerRelease)(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE;
1600
1601// Procs of ShaderModule
1602typedef void (*WGPUProcShaderModuleGetCompilationInfo)(WGPUShaderModule shaderModule, WGPUShaderModuleGetCompilationInfoCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1603typedef void (*WGPUProcShaderModuleSetLabel)(WGPUShaderModule shaderModule, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1604typedef void (*WGPUProcShaderModuleReference)(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE;
1605typedef void (*WGPUProcShaderModuleRelease)(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE;
1606
1607// Procs of Surface
1608typedef void (*WGPUProcSurfaceConfigure)(WGPUSurface surface, WGPUSurfaceConfiguration const * config) WGPU_FUNCTION_ATTRIBUTE;
1609typedef void (*WGPUProcSurfaceGetCapabilities)(WGPUSurface surface, WGPUAdapter adapter, WGPUSurfaceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE;
1610typedef void (*WGPUProcSurfaceGetCurrentTexture)(WGPUSurface surface, WGPUSurfaceTexture * surfaceTexture) WGPU_FUNCTION_ATTRIBUTE;
1611typedef WGPUTextureFormat (*WGPUProcSurfaceGetPreferredFormat)(WGPUSurface surface, WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
1612typedef void (*WGPUProcSurfacePresent)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
1613typedef void (*WGPUProcSurfaceSetLabel)(WGPUSurface surface, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1614typedef void (*WGPUProcSurfaceUnconfigure)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
1615typedef void (*WGPUProcSurfaceReference)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
1616typedef void (*WGPUProcSurfaceRelease)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
1617
1618// Procs of SurfaceCapabilities
1619typedef void (*WGPUProcSurfaceCapabilitiesFreeMembers)(WGPUSurfaceCapabilities surfaceCapabilities) WGPU_FUNCTION_ATTRIBUTE;
1620
1621// Procs of Texture
1622typedef WGPUTextureView (*WGPUProcTextureCreateView)(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1623typedef void (*WGPUProcTextureDestroy)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1624typedef uint32_t (*WGPUProcTextureGetDepthOrArrayLayers)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1625typedef WGPUTextureDimension (*WGPUProcTextureGetDimension)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1626typedef WGPUTextureFormat (*WGPUProcTextureGetFormat)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1627typedef uint32_t (*WGPUProcTextureGetHeight)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1628typedef uint32_t (*WGPUProcTextureGetMipLevelCount)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1629typedef uint32_t (*WGPUProcTextureGetSampleCount)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1630typedef WGPUTextureUsageFlags (*WGPUProcTextureGetUsage)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1631typedef uint32_t (*WGPUProcTextureGetWidth)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1632typedef void (*WGPUProcTextureSetLabel)(WGPUTexture texture, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1633typedef void (*WGPUProcTextureReference)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1634typedef void (*WGPUProcTextureRelease)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
1635
1636// Procs of TextureView
1637typedef void (*WGPUProcTextureViewSetLabel)(WGPUTextureView textureView, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1638typedef void (*WGPUProcTextureViewReference)(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
1639typedef void (*WGPUProcTextureViewRelease)(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
1640
1641#endif // !defined(WGPU_SKIP_PROCS)
1642
1643#if !defined(WGPU_SKIP_DECLARATIONS)
1650WGPU_EXPORT WGPUInstance wgpuCreateInstance(WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1651WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUDevice device, char const * procName) WGPU_FUNCTION_ATTRIBUTE;
1652
1653
1669WGPU_EXPORT size_t wgpuAdapterEnumerateFeatures(WGPUAdapter adapter, WGPUFeatureName * features) WGPU_FUNCTION_ATTRIBUTE;
1670WGPU_EXPORT WGPUBool wgpuAdapterGetLimits(WGPUAdapter adapter, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE;
1671WGPU_EXPORT void wgpuAdapterGetProperties(WGPUAdapter adapter, WGPUAdapterProperties * properties) WGPU_FUNCTION_ATTRIBUTE;
1672WGPU_EXPORT WGPUBool wgpuAdapterHasFeature(WGPUAdapter adapter, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
1673WGPU_EXPORT void wgpuAdapterRequestAdapterInfo(WGPUAdapter adapter, WGPUAdapterRequestAdapterInfoCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1674WGPU_EXPORT void wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor, WGPUAdapterRequestDeviceCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1675WGPU_EXPORT void wgpuAdapterReference(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
1676WGPU_EXPORT void wgpuAdapterRelease(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
1687WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1688WGPU_EXPORT void wgpuBindGroupReference(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
1689WGPU_EXPORT void wgpuBindGroupRelease(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
1700WGPU_EXPORT void wgpuBindGroupLayoutSetLabel(WGPUBindGroupLayout bindGroupLayout, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1701WGPU_EXPORT void wgpuBindGroupLayoutReference(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE;
1702WGPU_EXPORT void wgpuBindGroupLayoutRelease(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE;
1713WGPU_EXPORT void wgpuBufferDestroy(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1714WGPU_EXPORT void const * wgpuBufferGetConstMappedRange(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
1715WGPU_EXPORT WGPUBufferMapState wgpuBufferGetMapState(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1716WGPU_EXPORT void * wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
1717WGPU_EXPORT uint64_t wgpuBufferGetSize(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1718WGPU_EXPORT WGPUBufferUsageFlags wgpuBufferGetUsage(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1719WGPU_EXPORT void wgpuBufferMapAsync(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapAsyncCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1720WGPU_EXPORT void wgpuBufferSetLabel(WGPUBuffer buffer, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1721WGPU_EXPORT void wgpuBufferUnmap(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1722WGPU_EXPORT void wgpuBufferReference(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1723WGPU_EXPORT void wgpuBufferRelease(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
1734WGPU_EXPORT void wgpuCommandBufferSetLabel(WGPUCommandBuffer commandBuffer, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1735WGPU_EXPORT void wgpuCommandBufferReference(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE;
1736WGPU_EXPORT void wgpuCommandBufferRelease(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE;
1747WGPU_EXPORT WGPUComputePassEncoder wgpuCommandEncoderBeginComputePass(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUComputePassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1748WGPU_EXPORT WGPURenderPassEncoder wgpuCommandEncoderBeginRenderPass(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1749WGPU_EXPORT void wgpuCommandEncoderClearBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1750WGPU_EXPORT void wgpuCommandEncoderCopyBufferToBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1751WGPU_EXPORT void wgpuCommandEncoderCopyBufferToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE;
1752WGPU_EXPORT void wgpuCommandEncoderCopyTextureToBuffer(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyBuffer const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE;
1753WGPU_EXPORT void wgpuCommandEncoderCopyTextureToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE;
1754WGPU_EXPORT WGPUCommandBuffer wgpuCommandEncoderFinish(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUCommandBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1755WGPU_EXPORT void wgpuCommandEncoderInsertDebugMarker(WGPUCommandEncoder commandEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1756WGPU_EXPORT void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
1757WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1758WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE;
1759WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1760WGPU_EXPORT void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE;
1761WGPU_EXPORT void wgpuCommandEncoderReference(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
1762WGPU_EXPORT void wgpuCommandEncoderRelease(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
1773WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroups(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ) WGPU_FUNCTION_ATTRIBUTE;
1774WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroupsIndirect(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1775WGPU_EXPORT void wgpuComputePassEncoderEnd(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1776WGPU_EXPORT void wgpuComputePassEncoderInsertDebugMarker(WGPUComputePassEncoder computePassEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1777WGPU_EXPORT void wgpuComputePassEncoderPopDebugGroup(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1778WGPU_EXPORT void wgpuComputePassEncoderPushDebugGroup(WGPUComputePassEncoder computePassEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1779WGPU_EXPORT void wgpuComputePassEncoderSetBindGroup(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE;
1780WGPU_EXPORT void wgpuComputePassEncoderSetLabel(WGPUComputePassEncoder computePassEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1781WGPU_EXPORT void wgpuComputePassEncoderSetPipeline(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
1782WGPU_EXPORT void wgpuComputePassEncoderReference(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1783WGPU_EXPORT void wgpuComputePassEncoderRelease(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1794WGPU_EXPORT WGPUBindGroupLayout wgpuComputePipelineGetBindGroupLayout(WGPUComputePipeline computePipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE;
1795WGPU_EXPORT void wgpuComputePipelineSetLabel(WGPUComputePipeline computePipeline, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1796WGPU_EXPORT void wgpuComputePipelineReference(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
1797WGPU_EXPORT void wgpuComputePipelineRelease(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
1808WGPU_EXPORT WGPUBindGroup wgpuDeviceCreateBindGroup(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1809WGPU_EXPORT WGPUBindGroupLayout wgpuDeviceCreateBindGroupLayout(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1810WGPU_EXPORT WGPUBuffer wgpuDeviceCreateBuffer(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1811WGPU_EXPORT WGPUCommandEncoder wgpuDeviceCreateCommandEncoder(WGPUDevice device, WGPU_NULLABLE WGPUCommandEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1812WGPU_EXPORT WGPUComputePipeline wgpuDeviceCreateComputePipeline(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1813WGPU_EXPORT void wgpuDeviceCreateComputePipelineAsync(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUDeviceCreateComputePipelineAsyncCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1814WGPU_EXPORT WGPUPipelineLayout wgpuDeviceCreatePipelineLayout(WGPUDevice device, WGPUPipelineLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1815WGPU_EXPORT WGPUQuerySet wgpuDeviceCreateQuerySet(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1816WGPU_EXPORT WGPURenderBundleEncoder wgpuDeviceCreateRenderBundleEncoder(WGPUDevice device, WGPURenderBundleEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1817WGPU_EXPORT WGPURenderPipeline wgpuDeviceCreateRenderPipeline(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1818WGPU_EXPORT void wgpuDeviceCreateRenderPipelineAsync(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUDeviceCreateRenderPipelineAsyncCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1819WGPU_EXPORT WGPUSampler wgpuDeviceCreateSampler(WGPUDevice device, WGPU_NULLABLE WGPUSamplerDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1820WGPU_EXPORT WGPUShaderModule wgpuDeviceCreateShaderModule(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1821WGPU_EXPORT WGPUTexture wgpuDeviceCreateTexture(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1822WGPU_EXPORT void wgpuDeviceDestroy(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1823WGPU_EXPORT size_t wgpuDeviceEnumerateFeatures(WGPUDevice device, WGPUFeatureName * features) WGPU_FUNCTION_ATTRIBUTE;
1824WGPU_EXPORT WGPUBool wgpuDeviceGetLimits(WGPUDevice device, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE;
1825WGPU_EXPORT WGPUQueue wgpuDeviceGetQueue(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1826WGPU_EXPORT WGPUBool wgpuDeviceHasFeature(WGPUDevice device, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
1827WGPU_EXPORT void wgpuDevicePopErrorScope(WGPUDevice device, WGPUErrorCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1828WGPU_EXPORT void wgpuDevicePushErrorScope(WGPUDevice device, WGPUErrorFilter filter) WGPU_FUNCTION_ATTRIBUTE;
1829WGPU_EXPORT void wgpuDeviceSetLabel(WGPUDevice device, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1830WGPU_EXPORT void wgpuDeviceSetUncapturedErrorCallback(WGPUDevice device, WGPUErrorCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1831WGPU_EXPORT void wgpuDeviceReference(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1832WGPU_EXPORT void wgpuDeviceRelease(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE;
1843WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1844WGPU_EXPORT WGPUBool wgpuInstanceHasWGSLLanguageFeature(WGPUInstance instance, WGPUWGSLFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
1845WGPU_EXPORT void wgpuInstanceProcessEvents(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
1846WGPU_EXPORT void wgpuInstanceRequestAdapter(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPUInstanceRequestAdapterCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1847WGPU_EXPORT void wgpuInstanceReference(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
1848WGPU_EXPORT void wgpuInstanceRelease(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
1859WGPU_EXPORT void wgpuPipelineLayoutSetLabel(WGPUPipelineLayout pipelineLayout, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1860WGPU_EXPORT void wgpuPipelineLayoutReference(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE;
1861WGPU_EXPORT void wgpuPipelineLayoutRelease(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE;
1872WGPU_EXPORT void wgpuQuerySetDestroy(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1873WGPU_EXPORT uint32_t wgpuQuerySetGetCount(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1874WGPU_EXPORT WGPUQueryType wgpuQuerySetGetType(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1875WGPU_EXPORT void wgpuQuerySetSetLabel(WGPUQuerySet querySet, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1876WGPU_EXPORT void wgpuQuerySetReference(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1877WGPU_EXPORT void wgpuQuerySetRelease(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE;
1888WGPU_EXPORT void wgpuQueueOnSubmittedWorkDone(WGPUQueue queue, WGPUQueueOnSubmittedWorkDoneCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
1889WGPU_EXPORT void wgpuQueueSetLabel(WGPUQueue queue, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1890WGPU_EXPORT void wgpuQueueSubmit(WGPUQueue queue, size_t commandCount, WGPUCommandBuffer const * commands) WGPU_FUNCTION_ATTRIBUTE;
1891WGPU_EXPORT void wgpuQueueWriteBuffer(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE;
1892WGPU_EXPORT void wgpuQueueWriteTexture(WGPUQueue queue, WGPUImageCopyTexture const * destination, void const * data, size_t dataSize, WGPUTextureDataLayout const * dataLayout, WGPUExtent3D const * writeSize) WGPU_FUNCTION_ATTRIBUTE;
1893WGPU_EXPORT void wgpuQueueReference(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE;
1894WGPU_EXPORT void wgpuQueueRelease(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE;
1905WGPU_EXPORT void wgpuRenderBundleSetLabel(WGPURenderBundle renderBundle, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1906WGPU_EXPORT void wgpuRenderBundleReference(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE;
1907WGPU_EXPORT void wgpuRenderBundleRelease(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE;
1918WGPU_EXPORT void wgpuRenderBundleEncoderDraw(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1919WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexed(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1920WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexedIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1921WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1922WGPU_EXPORT WGPURenderBundle wgpuRenderBundleEncoderFinish(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPURenderBundleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
1923WGPU_EXPORT void wgpuRenderBundleEncoderInsertDebugMarker(WGPURenderBundleEncoder renderBundleEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1924WGPU_EXPORT void wgpuRenderBundleEncoderPopDebugGroup(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
1925WGPU_EXPORT void wgpuRenderBundleEncoderPushDebugGroup(WGPURenderBundleEncoder renderBundleEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1926WGPU_EXPORT void wgpuRenderBundleEncoderSetBindGroup(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE;
1927WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1928WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1929WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
1930WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1931WGPU_EXPORT void wgpuRenderBundleEncoderReference(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
1932WGPU_EXPORT void wgpuRenderBundleEncoderRelease(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
1943WGPU_EXPORT void wgpuRenderPassEncoderBeginOcclusionQuery(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE;
1944WGPU_EXPORT void wgpuRenderPassEncoderDraw(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1945WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexed(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE;
1946WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexedIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1947WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE;
1948WGPU_EXPORT void wgpuRenderPassEncoderEnd(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1949WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1950WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, size_t bundleCount, WGPURenderBundle const * bundles) WGPU_FUNCTION_ATTRIBUTE;
1951WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const * markerLabel) WGPU_FUNCTION_ATTRIBUTE;
1952WGPU_EXPORT void wgpuRenderPassEncoderPopDebugGroup(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1953WGPU_EXPORT void wgpuRenderPassEncoderPushDebugGroup(WGPURenderPassEncoder renderPassEncoder, char const * groupLabel) WGPU_FUNCTION_ATTRIBUTE;
1954WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE;
1955WGPU_EXPORT void wgpuRenderPassEncoderSetBlendConstant(WGPURenderPassEncoder renderPassEncoder, WGPUColor const * color) WGPU_FUNCTION_ATTRIBUTE;
1956WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1957WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1958WGPU_EXPORT void wgpuRenderPassEncoderSetPipeline(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
1959WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE;
1960WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE;
1961WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
1962WGPU_EXPORT void wgpuRenderPassEncoderSetViewport(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth) WGPU_FUNCTION_ATTRIBUTE;
1963WGPU_EXPORT void wgpuRenderPassEncoderReference(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1964WGPU_EXPORT void wgpuRenderPassEncoderRelease(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE;
1975WGPU_EXPORT WGPUBindGroupLayout wgpuRenderPipelineGetBindGroupLayout(WGPURenderPipeline renderPipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE;
1976WGPU_EXPORT void wgpuRenderPipelineSetLabel(WGPURenderPipeline renderPipeline, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1977WGPU_EXPORT void wgpuRenderPipelineReference(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE;
1978WGPU_EXPORT void wgpuRenderPipelineRelease(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE;
1989WGPU_EXPORT void wgpuSamplerSetLabel(WGPUSampler sampler, char const * label) WGPU_FUNCTION_ATTRIBUTE;
1990WGPU_EXPORT void wgpuSamplerReference(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE;
1991WGPU_EXPORT void wgpuSamplerRelease(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE;
2002WGPU_EXPORT void wgpuShaderModuleGetCompilationInfo(WGPUShaderModule shaderModule, WGPUShaderModuleGetCompilationInfoCallback callback, WGPU_NULLABLE void * userdata) WGPU_FUNCTION_ATTRIBUTE;
2003WGPU_EXPORT void wgpuShaderModuleSetLabel(WGPUShaderModule shaderModule, char const * label) WGPU_FUNCTION_ATTRIBUTE;
2004WGPU_EXPORT void wgpuShaderModuleReference(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE;
2005WGPU_EXPORT void wgpuShaderModuleRelease(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE;
2016WGPU_EXPORT void wgpuSurfaceConfigure(WGPUSurface surface, WGPUSurfaceConfiguration const * config) WGPU_FUNCTION_ATTRIBUTE;
2017WGPU_EXPORT void wgpuSurfaceGetCapabilities(WGPUSurface surface, WGPUAdapter adapter, WGPUSurfaceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE;
2018WGPU_EXPORT void wgpuSurfaceGetCurrentTexture(WGPUSurface surface, WGPUSurfaceTexture * surfaceTexture) WGPU_FUNCTION_ATTRIBUTE;
2019WGPU_EXPORT WGPUTextureFormat wgpuSurfaceGetPreferredFormat(WGPUSurface surface, WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
2020WGPU_EXPORT void wgpuSurfacePresent(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
2021WGPU_EXPORT void wgpuSurfaceSetLabel(WGPUSurface surface, char const * label) WGPU_FUNCTION_ATTRIBUTE;
2022WGPU_EXPORT void wgpuSurfaceUnconfigure(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
2023WGPU_EXPORT void wgpuSurfaceReference(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
2024WGPU_EXPORT void wgpuSurfaceRelease(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
2035WGPU_EXPORT void wgpuSurfaceCapabilitiesFreeMembers(WGPUSurfaceCapabilities surfaceCapabilities) WGPU_FUNCTION_ATTRIBUTE;
2046WGPU_EXPORT WGPUTextureView wgpuTextureCreateView(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
2047WGPU_EXPORT void wgpuTextureDestroy(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2048WGPU_EXPORT uint32_t wgpuTextureGetDepthOrArrayLayers(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2049WGPU_EXPORT WGPUTextureDimension wgpuTextureGetDimension(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2050WGPU_EXPORT WGPUTextureFormat wgpuTextureGetFormat(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2051WGPU_EXPORT uint32_t wgpuTextureGetHeight(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2052WGPU_EXPORT uint32_t wgpuTextureGetMipLevelCount(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2053WGPU_EXPORT uint32_t wgpuTextureGetSampleCount(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2054WGPU_EXPORT WGPUTextureUsageFlags wgpuTextureGetUsage(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2055WGPU_EXPORT uint32_t wgpuTextureGetWidth(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2056WGPU_EXPORT void wgpuTextureSetLabel(WGPUTexture texture, char const * label) WGPU_FUNCTION_ATTRIBUTE;
2057WGPU_EXPORT void wgpuTextureReference(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2058WGPU_EXPORT void wgpuTextureRelease(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
2069WGPU_EXPORT void wgpuTextureViewSetLabel(WGPUTextureView textureView, char const * label) WGPU_FUNCTION_ATTRIBUTE;
2070WGPU_EXPORT void wgpuTextureViewReference(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
2071WGPU_EXPORT void wgpuTextureViewRelease(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
2077#endif // !defined(WGPU_SKIP_DECLARATIONS)
2078
2079#ifdef __cplusplus
2080} // extern "C"
2081#endif
2082
2083#endif // WEBGPU_H_
Definition webgpu.h:844
Definition webgpu.h:1218
Definition webgpu.h:911