react-native-wgpu 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/android/CMakeLists.txt +1 -1
  2. package/android/build.gradle +2 -1
  3. package/android/src/main/java/com/webgpu/WebGPUAHBView.java +247 -45
  4. package/android/src/main/java/com/webgpu/WebGPUView.java +4 -4
  5. package/apple/ApplePlatformContext.h +1 -0
  6. package/apple/RNWGUIKit.h +5 -0
  7. package/apple/platform/ThreadUtils.cpp +1 -0
  8. package/cpp/WGPULogger.h +1 -0
  9. package/cpp/dawn/dawn_proc_table.h +31 -10
  10. package/cpp/dawn/native/D3D11Backend.h +8 -2
  11. package/cpp/dawn/native/D3DBackend.h +0 -3
  12. package/cpp/dawn/native/DawnNative.h +4 -0
  13. package/cpp/dawn/platform/DawnPlatform.h +2 -1
  14. package/cpp/dawn/webgpu_cpp_print.h +202 -25
  15. package/cpp/dawn_logging.cpp +3 -6
  16. package/cpp/jsi/RNFHybridObject.cpp +2 -1
  17. package/cpp/jsi/RNFJSIConverter.h +5 -2
  18. package/cpp/jsi/RNFPromise.cpp +2 -0
  19. package/cpp/jsi/RNFWorkletRuntimeRegistry.cpp +1 -0
  20. package/cpp/rnwgpu/SurfaceRegistry.h +1 -0
  21. package/cpp/rnwgpu/api/GPU.cpp +5 -1
  22. package/cpp/rnwgpu/api/GPU.h +7 -3
  23. package/cpp/rnwgpu/api/GPUAdapter.cpp +3 -0
  24. package/cpp/rnwgpu/api/GPUBuffer.cpp +1 -0
  25. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +1 -0
  26. package/cpp/rnwgpu/api/GPUCanvasContext.h +1 -0
  27. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +2 -0
  28. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +2 -0
  29. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +1 -0
  30. package/cpp/rnwgpu/api/GPUDevice.cpp +3 -0
  31. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +1 -0
  32. package/cpp/rnwgpu/api/GPUQueue.cpp +9 -5
  33. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +3 -0
  34. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +4 -0
  35. package/cpp/rnwgpu/api/GPUShaderModule.cpp +1 -0
  36. package/cpp/rnwgpu/api/descriptors/Unions.h +3 -2
  37. package/cpp/threading/Dispatcher.cpp +2 -1
  38. package/cpp/threading/ThreadPool.cpp +2 -0
  39. package/cpp/webgpu/webgpu.h +571 -261
  40. package/cpp/webgpu/webgpu_cpp.h +871 -313
  41. package/lib/typescript/src/__tests__/setup.d.ts +0 -1
  42. package/lib/typescript/src/__tests__/setup.d.ts.map +1 -1
  43. package/libs/android/arm64-v8a/libwebgpu_dawn.a +0 -0
  44. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  45. package/libs/android/armeabi-v7a/libwebgpu_dawn.a +0 -0
  46. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  47. package/libs/android/x86/libwebgpu_dawn.a +0 -0
  48. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  49. package/libs/android/x86_64/libwebgpu_dawn.a +0 -0
  50. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  51. package/libs/apple/arm64_iphoneos/libwebgpu_dawn.a +0 -0
  52. package/libs/apple/arm64_iphonesimulator/libwebgpu_dawn.a +0 -0
  53. package/libs/apple/arm64_xros/libwebgpu_dawn.a +0 -0
  54. package/libs/apple/arm64_xrsimulator/libwebgpu_dawn.a +0 -0
  55. package/libs/apple/iphonesimulator/libwebgpu_dawn.a +0 -0
  56. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +10 -10
  57. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  58. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  59. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  60. package/libs/apple/libwebgpu_dawn.xcframework/xros-arm64/libwebgpu_dawn.a +0 -0
  61. package/libs/apple/libwebgpu_dawn.xcframework/xros-arm64-simulator/libwebgpu_dawn.a +0 -0
  62. package/libs/apple/universal_macosx/libwebgpu_dawn.a +0 -0
  63. package/libs/apple/x86_64_iphonesimulator/libwebgpu_dawn.a +0 -0
  64. package/libs/dawn.json +422 -206
  65. package/package.json +1 -1
  66. package/src/__tests__/Constants.spec.ts +2 -4
  67. package/src/__tests__/Device.spec.ts +42 -24
  68. package/src/__tests__/GPU.spec.ts +115 -105
  69. package/src/__tests__/setup.ts +0 -1
@@ -34,10 +34,6 @@
34
34
  #ifndef WEBGPU_H_
35
35
  #define WEBGPU_H_
36
36
 
37
- #define WGPU_BREAKING_CHANGE_STRING_VIEW_LABELS
38
- #define WGPU_BREAKING_CHANGE_STRING_VIEW_OUTPUT_STRUCTS
39
- #define WGPU_BREAKING_CHANGE_STRING_VIEW_CALLBACKS
40
-
41
37
  #if defined(WGPU_SHARED_LIBRARY)
42
38
  # if defined(_WIN32)
43
39
  # if defined(WGPU_IMPLEMENTATION)
@@ -95,6 +91,8 @@
95
91
  # endif
96
92
  #endif
97
93
 
94
+ #define WGPU_TRUE (UINT32_C(1))
95
+ #define WGPU_FALSE (UINT32_C(0))
98
96
  #define WGPU_ARRAY_LAYER_COUNT_UNDEFINED (UINT32_MAX)
99
97
  #define WGPU_COPY_STRIDE_UNDEFINED (UINT32_MAX)
100
98
  #define WGPU_DEPTH_CLEAR_VALUE_UNDEFINED (NAN)
@@ -144,29 +142,33 @@ typedef struct WGPUSharedBufferMemoryImpl* WGPUSharedBufferMemory WGPU_OBJECT_AT
144
142
  typedef struct WGPUSharedFenceImpl* WGPUSharedFence WGPU_OBJECT_ATTRIBUTE;
145
143
  typedef struct WGPUSharedTextureMemoryImpl* WGPUSharedTextureMemory WGPU_OBJECT_ATTRIBUTE;
146
144
  typedef struct WGPUSurfaceImpl* WGPUSurface WGPU_OBJECT_ATTRIBUTE;
145
+ typedef struct WGPUTexelBufferViewImpl* WGPUTexelBufferView WGPU_OBJECT_ATTRIBUTE;
147
146
  typedef struct WGPUTextureImpl* WGPUTexture WGPU_OBJECT_ATTRIBUTE;
148
147
  typedef struct WGPUTextureViewImpl* WGPUTextureView WGPU_OBJECT_ATTRIBUTE;
149
148
 
150
149
  // Structure forward declarations
151
150
  struct WGPUAdapterPropertiesD3D;
152
- struct WGPUAdapterPropertiesSubgroups;
153
151
  struct WGPUAdapterPropertiesVk;
152
+ struct WGPUBindGroupDynamicBindingArray;
154
153
  struct WGPUBlendComponent;
155
154
  struct WGPUBufferBindingLayout;
156
155
  struct WGPUBufferHostMappedPointer;
157
156
  struct WGPUColor;
158
157
  struct WGPUColorTargetStateExpandResolveTextureDawn;
159
158
  struct WGPUCommandBufferDescriptor;
159
+ struct WGPUCompatibilityModeLimits;
160
160
  struct WGPUConstantEntry;
161
161
  struct WGPUCopyTextureForBrowserOptions;
162
162
  struct WGPUDawnAdapterPropertiesPowerPreference;
163
163
  struct WGPUDawnBufferDescriptorErrorInfoFromWireClient;
164
164
  struct WGPUDawnCacheDeviceDescriptor;
165
165
  struct WGPUDawnCompilationMessageUtf16;
166
+ struct WGPUDawnConsumeAdapterDescriptor;
166
167
  struct WGPUDawnDeviceAllocatorControl;
167
168
  struct WGPUDawnDrmFormatProperties;
168
169
  struct WGPUDawnEncoderInternalUsageDescriptor;
169
170
  struct WGPUDawnFakeBufferOOMForTesting;
171
+ struct WGPUDawnFakeDeviceInitializeErrorForTesting;
170
172
  struct WGPUDawnHostMappedPointerLimits;
171
173
  struct WGPUDawnInjectedInvalidSType;
172
174
  struct WGPUDawnRenderPassColorAttachmentRenderToSingleSampled;
@@ -176,13 +178,15 @@ struct WGPUDawnTextureInternalUsageDescriptor;
176
178
  struct WGPUDawnTogglesDescriptor;
177
179
  struct WGPUDawnWGSLBlocklist;
178
180
  struct WGPUDawnWireWGSLControl;
181
+ struct WGPUDynamicBindingArrayLayout;
182
+ struct WGPUDynamicBindingArrayLimits;
179
183
  struct WGPUEmscriptenSurfaceSourceCanvasHTMLSelector;
180
184
  struct WGPUExtent2D;
181
185
  struct WGPUExtent3D;
182
186
  struct WGPUExternalTextureBindingEntry;
183
187
  struct WGPUExternalTextureBindingLayout;
184
188
  struct WGPUFuture;
185
- struct WGPUInstanceCapabilities;
189
+ struct WGPUInstanceLimits;
186
190
  struct WGPUINTERNAL_HAVE_EMDAWNWEBGPU_HEADER;
187
191
  struct WGPUMemoryHeapInfo;
188
192
  struct WGPUMultisampleState;
@@ -222,6 +226,7 @@ struct WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo;
222
226
  struct WGPUSharedFenceVkSemaphoreZirconHandleDescriptor;
223
227
  struct WGPUSharedFenceVkSemaphoreZirconHandleExportInfo;
224
228
  struct WGPUSharedTextureMemoryAHardwareBufferDescriptor;
229
+ struct WGPUSharedTextureMemoryD3D11BeginState;
225
230
  struct WGPUSharedTextureMemoryD3DSwapchainBeginState;
226
231
  struct WGPUSharedTextureMemoryDmaBufPlane;
227
232
  struct WGPUSharedTextureMemoryDXGISharedHandleDescriptor;
@@ -237,6 +242,7 @@ struct WGPUStencilFaceState;
237
242
  struct WGPUStorageTextureBindingLayout;
238
243
  struct WGPUSubgroupMatrixConfig;
239
244
  struct WGPUSupportedFeatures;
245
+ struct WGPUSupportedInstanceFeatures;
240
246
  struct WGPUSupportedWGSLLanguageFeatures;
241
247
  struct WGPUSurfaceCapabilities;
242
248
  struct WGPUSurfaceColorManagement;
@@ -251,15 +257,20 @@ struct WGPUSurfaceSourceWindowsHWND;
251
257
  struct WGPUSurfaceSourceXCBWindow;
252
258
  struct WGPUSurfaceSourceXlibWindow;
253
259
  struct WGPUSurfaceTexture;
260
+ struct WGPUTexelBufferBindingEntry;
261
+ struct WGPUTexelBufferBindingLayout;
262
+ struct WGPUTexelBufferViewDescriptor;
254
263
  struct WGPUTexelCopyBufferLayout;
255
264
  struct WGPUTextureBindingLayout;
256
265
  struct WGPUTextureBindingViewDimensionDescriptor;
266
+ struct WGPUTextureComponentSwizzle;
257
267
  struct WGPUVertexAttribute;
258
268
  struct WGPUYCbCrVkDescriptor;
259
269
  struct WGPUAdapterPropertiesMemoryHeaps;
260
270
  struct WGPUAdapterPropertiesSubgroupMatrixConfigs;
261
271
  struct WGPUAHardwareBufferProperties;
262
272
  struct WGPUBindGroupEntry;
273
+ struct WGPUBindGroupLayoutDynamicBindingArray;
263
274
  struct WGPUBindGroupLayoutEntry;
264
275
  struct WGPUBlendState;
265
276
  struct WGPUBufferDescriptor;
@@ -289,8 +300,8 @@ struct WGPUSharedTextureMemoryEndAccessState;
289
300
  struct WGPUSurfaceDescriptor;
290
301
  struct WGPUTexelCopyBufferInfo;
291
302
  struct WGPUTexelCopyTextureInfo;
303
+ struct WGPUTextureComponentSwizzleDescriptor;
292
304
  struct WGPUTextureDescriptor;
293
- struct WGPUTextureViewDescriptor;
294
305
  struct WGPUVertexBufferLayout;
295
306
  struct WGPUAdapterInfo;
296
307
  struct WGPUBindGroupDescriptor;
@@ -304,11 +315,25 @@ struct WGPUPipelineLayoutDescriptor;
304
315
  struct WGPURenderPassPixelLocalStorage;
305
316
  struct WGPUSharedTextureMemoryDescriptor;
306
317
  struct WGPUSharedTextureMemoryProperties;
318
+ struct WGPUTextureViewDescriptor;
307
319
  struct WGPUVertexState;
308
320
  struct WGPUFragmentState;
309
321
  struct WGPURenderPassDescriptor;
310
322
  struct WGPURenderPipelineDescriptor;
311
323
 
324
+ // Callback info structure forward declarations.
325
+ struct WGPUBufferMapCallbackInfo;
326
+ struct WGPUCompilationInfoCallbackInfo;
327
+ struct WGPUCreateComputePipelineAsyncCallbackInfo;
328
+ struct WGPUCreateRenderPipelineAsyncCallbackInfo;
329
+ struct WGPUDeviceLostCallbackInfo;
330
+ struct WGPULoggingCallbackInfo;
331
+ struct WGPUPopErrorScopeCallbackInfo;
332
+ struct WGPUQueueWorkDoneCallbackInfo;
333
+ struct WGPURequestAdapterCallbackInfo;
334
+ struct WGPURequestDeviceCallbackInfo;
335
+ struct WGPUUncapturedErrorCallbackInfo;
336
+
312
337
  typedef enum WGPUAdapterType {
313
338
  WGPUAdapterType_DiscreteGPU = 0x00000001,
314
339
  WGPUAdapterType_IntegratedGPU = 0x00000002,
@@ -426,6 +451,17 @@ typedef enum WGPUCompilationMessageType {
426
451
  WGPUCompilationMessageType_Force32 = 0x7FFFFFFF
427
452
  } WGPUCompilationMessageType WGPU_ENUM_ATTRIBUTE;
428
453
 
454
+ typedef enum WGPUComponentSwizzle {
455
+ WGPUComponentSwizzle_Undefined = 0x00000000,
456
+ WGPUComponentSwizzle_Zero = 0x00000001,
457
+ WGPUComponentSwizzle_One = 0x00000002,
458
+ WGPUComponentSwizzle_R = 0x00000003,
459
+ WGPUComponentSwizzle_G = 0x00000004,
460
+ WGPUComponentSwizzle_B = 0x00000005,
461
+ WGPUComponentSwizzle_A = 0x00000006,
462
+ WGPUComponentSwizzle_Force32 = 0x7FFFFFFF
463
+ } WGPUComponentSwizzle WGPU_ENUM_ATTRIBUTE;
464
+
429
465
  typedef enum WGPUCompositeAlphaMode {
430
466
  WGPUCompositeAlphaMode_Auto = 0x00000000,
431
467
  WGPUCompositeAlphaMode_Opaque = 0x00000001,
@@ -459,6 +495,12 @@ typedef enum WGPUDeviceLostReason {
459
495
  WGPUDeviceLostReason_Force32 = 0x7FFFFFFF
460
496
  } WGPUDeviceLostReason WGPU_ENUM_ATTRIBUTE;
461
497
 
498
+ typedef enum WGPUDynamicBindingKind {
499
+ WGPUDynamicBindingKind_Undefined = 0x00000000,
500
+ WGPUDynamicBindingKind_SampledTexture = 0x00000001,
501
+ WGPUDynamicBindingKind_Force32 = 0x7FFFFFFF
502
+ } WGPUDynamicBindingKind WGPU_ENUM_ATTRIBUTE;
503
+
462
504
  typedef enum WGPUErrorFilter {
463
505
  WGPUErrorFilter_Validation = 0x00000001,
464
506
  WGPUErrorFilter_OutOfMemory = 0x00000002,
@@ -491,24 +533,27 @@ typedef enum WGPUFeatureLevel {
491
533
  } WGPUFeatureLevel WGPU_ENUM_ATTRIBUTE;
492
534
 
493
535
  typedef enum WGPUFeatureName {
494
- WGPUFeatureName_DepthClipControl = 0x00000001,
495
- WGPUFeatureName_Depth32FloatStencil8 = 0x00000002,
496
- WGPUFeatureName_TimestampQuery = 0x00000003,
536
+ WGPUFeatureName_CoreFeaturesAndLimits = 0x00000001,
537
+ WGPUFeatureName_DepthClipControl = 0x00000002,
538
+ WGPUFeatureName_Depth32FloatStencil8 = 0x00000003,
497
539
  WGPUFeatureName_TextureCompressionBC = 0x00000004,
498
540
  WGPUFeatureName_TextureCompressionBCSliced3D = 0x00000005,
499
541
  WGPUFeatureName_TextureCompressionETC2 = 0x00000006,
500
542
  WGPUFeatureName_TextureCompressionASTC = 0x00000007,
501
543
  WGPUFeatureName_TextureCompressionASTCSliced3D = 0x00000008,
502
- WGPUFeatureName_IndirectFirstInstance = 0x00000009,
503
- WGPUFeatureName_ShaderF16 = 0x0000000A,
504
- WGPUFeatureName_RG11B10UfloatRenderable = 0x0000000B,
505
- WGPUFeatureName_BGRA8UnormStorage = 0x0000000C,
506
- WGPUFeatureName_Float32Filterable = 0x0000000D,
507
- WGPUFeatureName_Float32Blendable = 0x0000000E,
508
- WGPUFeatureName_ClipDistances = 0x0000000F,
509
- WGPUFeatureName_DualSourceBlending = 0x00000010,
510
- WGPUFeatureName_Subgroups = 0x00000011,
511
- WGPUFeatureName_CoreFeaturesAndLimits = 0x00000012,
544
+ WGPUFeatureName_TimestampQuery = 0x00000009,
545
+ WGPUFeatureName_IndirectFirstInstance = 0x0000000A,
546
+ WGPUFeatureName_ShaderF16 = 0x0000000B,
547
+ WGPUFeatureName_RG11B10UfloatRenderable = 0x0000000C,
548
+ WGPUFeatureName_BGRA8UnormStorage = 0x0000000D,
549
+ WGPUFeatureName_Float32Filterable = 0x0000000E,
550
+ WGPUFeatureName_Float32Blendable = 0x0000000F,
551
+ WGPUFeatureName_ClipDistances = 0x00000010,
552
+ WGPUFeatureName_DualSourceBlending = 0x00000011,
553
+ WGPUFeatureName_Subgroups = 0x00000012,
554
+ WGPUFeatureName_TextureFormatsTier1 = 0x00000013,
555
+ WGPUFeatureName_TextureFormatsTier2 = 0x00000014,
556
+ WGPUFeatureName_PrimitiveIndex = 0x00000015,
512
557
  WGPUFeatureName_DawnInternalUsages = 0x00050000,
513
558
  WGPUFeatureName_DawnMultiPlanarFormats = 0x00050001,
514
559
  WGPUFeatureName_DawnNative = 0x00050002,
@@ -566,6 +611,8 @@ typedef enum WGPUFeatureName {
566
611
  WGPUFeatureName_ChromiumExperimentalSubgroupMatrix = 0x00050037,
567
612
  WGPUFeatureName_SharedFenceEGLSync = 0x00050038,
568
613
  WGPUFeatureName_DawnDeviceAllocatorControl = 0x00050039,
614
+ WGPUFeatureName_TextureComponentSwizzle = 0x0005003A,
615
+ WGPUFeatureName_ChromiumExperimentalBindless = 0x0005003C,
569
616
  WGPUFeatureName_Force32 = 0x7FFFFFFF
570
617
  } WGPUFeatureName WGPU_ENUM_ATTRIBUTE;
571
618
 
@@ -590,6 +637,13 @@ typedef enum WGPUIndexFormat {
590
637
  WGPUIndexFormat_Force32 = 0x7FFFFFFF
591
638
  } WGPUIndexFormat WGPU_ENUM_ATTRIBUTE;
592
639
 
640
+ typedef enum WGPUInstanceFeatureName {
641
+ WGPUInstanceFeatureName_TimedWaitAny = 0x00000001,
642
+ WGPUInstanceFeatureName_ShaderSourceSPIRV = 0x00000002,
643
+ WGPUInstanceFeatureName_MultipleDevicesPerAdapter = 0x00000003,
644
+ WGPUInstanceFeatureName_Force32 = 0x7FFFFFFF
645
+ } WGPUInstanceFeatureName WGPU_ENUM_ATTRIBUTE;
646
+
593
647
  typedef enum WGPULoadOp {
594
648
  WGPULoadOp_Undefined = 0x00000000,
595
649
  WGPULoadOp_Load = 0x00000001,
@@ -761,8 +815,8 @@ typedef enum WGPUSType {
761
815
  WGPUSType_SurfaceSourceXCBWindow = 0x00000009,
762
816
  WGPUSType_SurfaceColorManagement = 0x0000000A,
763
817
  WGPUSType_RequestAdapterWebXROptions = 0x0000000B,
764
- WGPUSType_AdapterPropertiesSubgroups = 0x0000000C,
765
- WGPUSType_TextureBindingViewDimensionDescriptor = 0x00020000,
818
+ WGPUSType_CompatibilityModeLimits = 0x00020000,
819
+ WGPUSType_TextureBindingViewDimensionDescriptor = 0x00020001,
766
820
  WGPUSType_EmscriptenSurfaceSourceCanvasHTMLSelector = 0x00040000,
767
821
  WGPUSType_SurfaceDescriptorFromWindowsCoreWindow = 0x00050000,
768
822
  WGPUSType_ExternalTextureBindingEntry = 0x00050001,
@@ -833,6 +887,15 @@ typedef enum WGPUSType {
833
887
  WGPUSType_DawnHostMappedPointerLimits = 0x00050043,
834
888
  WGPUSType_RenderPassDescriptorResolveRect = 0x00050044,
835
889
  WGPUSType_RequestAdapterWebGPUBackendOptions = 0x00050045,
890
+ WGPUSType_DawnFakeDeviceInitializeErrorForTesting = 0x00050046,
891
+ WGPUSType_TextureComponentSwizzleDescriptor = 0x00050047,
892
+ WGPUSType_SharedTextureMemoryD3D11BeginState = 0x00050048,
893
+ WGPUSType_DawnConsumeAdapterDescriptor = 0x00050049,
894
+ WGPUSType_BindGroupLayoutDynamicBindingArray = 0x0005004A,
895
+ WGPUSType_DynamicBindingArrayLimits = 0x0005004B,
896
+ WGPUSType_BindGroupDynamicBindingArray = 0x0005004C,
897
+ WGPUSType_TexelBufferBindingEntry = 0x0005004D,
898
+ WGPUSType_TexelBufferBindingLayout = 0x0005004E,
836
899
  WGPUSType_Force32 = 0x7FFFFFFF
837
900
  } WGPUSType WGPU_ENUM_ATTRIBUTE;
838
901
 
@@ -841,6 +904,8 @@ typedef enum WGPUSubgroupMatrixComponentType {
841
904
  WGPUSubgroupMatrixComponentType_F16 = 0x00000002,
842
905
  WGPUSubgroupMatrixComponentType_U32 = 0x00000003,
843
906
  WGPUSubgroupMatrixComponentType_I32 = 0x00000004,
907
+ WGPUSubgroupMatrixComponentType_U8 = 0x00000005,
908
+ WGPUSubgroupMatrixComponentType_I8 = 0x00000006,
844
909
  WGPUSubgroupMatrixComponentType_Force32 = 0x7FFFFFFF
845
910
  } WGPUSubgroupMatrixComponentType WGPU_ENUM_ATTRIBUTE;
846
911
 
@@ -854,6 +919,13 @@ typedef enum WGPUSurfaceGetCurrentTextureStatus {
854
919
  WGPUSurfaceGetCurrentTextureStatus_Force32 = 0x7FFFFFFF
855
920
  } WGPUSurfaceGetCurrentTextureStatus WGPU_ENUM_ATTRIBUTE;
856
921
 
922
+ typedef enum WGPUTexelBufferAccess {
923
+ WGPUTexelBufferAccess_Undefined = 0x00000000,
924
+ WGPUTexelBufferAccess_ReadOnly = 0x00000001,
925
+ WGPUTexelBufferAccess_ReadWrite = 0x00000002,
926
+ WGPUTexelBufferAccess_Force32 = 0x7FFFFFFF
927
+ } WGPUTexelBufferAccess WGPU_ENUM_ATTRIBUTE;
928
+
857
929
  typedef enum WGPUTextureAspect {
858
930
  WGPUTextureAspect_Undefined = 0x00000000,
859
931
  WGPUTextureAspect_All = 0x00000001,
@@ -879,103 +951,103 @@ typedef enum WGPUTextureFormat {
879
951
  WGPUTextureFormat_R8Snorm = 0x00000002,
880
952
  WGPUTextureFormat_R8Uint = 0x00000003,
881
953
  WGPUTextureFormat_R8Sint = 0x00000004,
882
- WGPUTextureFormat_R16Uint = 0x00000005,
883
- WGPUTextureFormat_R16Sint = 0x00000006,
884
- WGPUTextureFormat_R16Float = 0x00000007,
885
- WGPUTextureFormat_RG8Unorm = 0x00000008,
886
- WGPUTextureFormat_RG8Snorm = 0x00000009,
887
- WGPUTextureFormat_RG8Uint = 0x0000000A,
888
- WGPUTextureFormat_RG8Sint = 0x0000000B,
889
- WGPUTextureFormat_R32Float = 0x0000000C,
890
- WGPUTextureFormat_R32Uint = 0x0000000D,
891
- WGPUTextureFormat_R32Sint = 0x0000000E,
892
- WGPUTextureFormat_RG16Uint = 0x0000000F,
893
- WGPUTextureFormat_RG16Sint = 0x00000010,
894
- WGPUTextureFormat_RG16Float = 0x00000011,
895
- WGPUTextureFormat_RGBA8Unorm = 0x00000012,
896
- WGPUTextureFormat_RGBA8UnormSrgb = 0x00000013,
897
- WGPUTextureFormat_RGBA8Snorm = 0x00000014,
898
- WGPUTextureFormat_RGBA8Uint = 0x00000015,
899
- WGPUTextureFormat_RGBA8Sint = 0x00000016,
900
- WGPUTextureFormat_BGRA8Unorm = 0x00000017,
901
- WGPUTextureFormat_BGRA8UnormSrgb = 0x00000018,
902
- WGPUTextureFormat_RGB10A2Uint = 0x00000019,
903
- WGPUTextureFormat_RGB10A2Unorm = 0x0000001A,
904
- WGPUTextureFormat_RG11B10Ufloat = 0x0000001B,
905
- WGPUTextureFormat_RGB9E5Ufloat = 0x0000001C,
906
- WGPUTextureFormat_RG32Float = 0x0000001D,
907
- WGPUTextureFormat_RG32Uint = 0x0000001E,
908
- WGPUTextureFormat_RG32Sint = 0x0000001F,
909
- WGPUTextureFormat_RGBA16Uint = 0x00000020,
910
- WGPUTextureFormat_RGBA16Sint = 0x00000021,
911
- WGPUTextureFormat_RGBA16Float = 0x00000022,
912
- WGPUTextureFormat_RGBA32Float = 0x00000023,
913
- WGPUTextureFormat_RGBA32Uint = 0x00000024,
914
- WGPUTextureFormat_RGBA32Sint = 0x00000025,
915
- WGPUTextureFormat_Stencil8 = 0x00000026,
916
- WGPUTextureFormat_Depth16Unorm = 0x00000027,
917
- WGPUTextureFormat_Depth24Plus = 0x00000028,
918
- WGPUTextureFormat_Depth24PlusStencil8 = 0x00000029,
919
- WGPUTextureFormat_Depth32Float = 0x0000002A,
920
- WGPUTextureFormat_Depth32FloatStencil8 = 0x0000002B,
921
- WGPUTextureFormat_BC1RGBAUnorm = 0x0000002C,
922
- WGPUTextureFormat_BC1RGBAUnormSrgb = 0x0000002D,
923
- WGPUTextureFormat_BC2RGBAUnorm = 0x0000002E,
924
- WGPUTextureFormat_BC2RGBAUnormSrgb = 0x0000002F,
925
- WGPUTextureFormat_BC3RGBAUnorm = 0x00000030,
926
- WGPUTextureFormat_BC3RGBAUnormSrgb = 0x00000031,
927
- WGPUTextureFormat_BC4RUnorm = 0x00000032,
928
- WGPUTextureFormat_BC4RSnorm = 0x00000033,
929
- WGPUTextureFormat_BC5RGUnorm = 0x00000034,
930
- WGPUTextureFormat_BC5RGSnorm = 0x00000035,
931
- WGPUTextureFormat_BC6HRGBUfloat = 0x00000036,
932
- WGPUTextureFormat_BC6HRGBFloat = 0x00000037,
933
- WGPUTextureFormat_BC7RGBAUnorm = 0x00000038,
934
- WGPUTextureFormat_BC7RGBAUnormSrgb = 0x00000039,
935
- WGPUTextureFormat_ETC2RGB8Unorm = 0x0000003A,
936
- WGPUTextureFormat_ETC2RGB8UnormSrgb = 0x0000003B,
937
- WGPUTextureFormat_ETC2RGB8A1Unorm = 0x0000003C,
938
- WGPUTextureFormat_ETC2RGB8A1UnormSrgb = 0x0000003D,
939
- WGPUTextureFormat_ETC2RGBA8Unorm = 0x0000003E,
940
- WGPUTextureFormat_ETC2RGBA8UnormSrgb = 0x0000003F,
941
- WGPUTextureFormat_EACR11Unorm = 0x00000040,
942
- WGPUTextureFormat_EACR11Snorm = 0x00000041,
943
- WGPUTextureFormat_EACRG11Unorm = 0x00000042,
944
- WGPUTextureFormat_EACRG11Snorm = 0x00000043,
945
- WGPUTextureFormat_ASTC4x4Unorm = 0x00000044,
946
- WGPUTextureFormat_ASTC4x4UnormSrgb = 0x00000045,
947
- WGPUTextureFormat_ASTC5x4Unorm = 0x00000046,
948
- WGPUTextureFormat_ASTC5x4UnormSrgb = 0x00000047,
949
- WGPUTextureFormat_ASTC5x5Unorm = 0x00000048,
950
- WGPUTextureFormat_ASTC5x5UnormSrgb = 0x00000049,
951
- WGPUTextureFormat_ASTC6x5Unorm = 0x0000004A,
952
- WGPUTextureFormat_ASTC6x5UnormSrgb = 0x0000004B,
953
- WGPUTextureFormat_ASTC6x6Unorm = 0x0000004C,
954
- WGPUTextureFormat_ASTC6x6UnormSrgb = 0x0000004D,
955
- WGPUTextureFormat_ASTC8x5Unorm = 0x0000004E,
956
- WGPUTextureFormat_ASTC8x5UnormSrgb = 0x0000004F,
957
- WGPUTextureFormat_ASTC8x6Unorm = 0x00000050,
958
- WGPUTextureFormat_ASTC8x6UnormSrgb = 0x00000051,
959
- WGPUTextureFormat_ASTC8x8Unorm = 0x00000052,
960
- WGPUTextureFormat_ASTC8x8UnormSrgb = 0x00000053,
961
- WGPUTextureFormat_ASTC10x5Unorm = 0x00000054,
962
- WGPUTextureFormat_ASTC10x5UnormSrgb = 0x00000055,
963
- WGPUTextureFormat_ASTC10x6Unorm = 0x00000056,
964
- WGPUTextureFormat_ASTC10x6UnormSrgb = 0x00000057,
965
- WGPUTextureFormat_ASTC10x8Unorm = 0x00000058,
966
- WGPUTextureFormat_ASTC10x8UnormSrgb = 0x00000059,
967
- WGPUTextureFormat_ASTC10x10Unorm = 0x0000005A,
968
- WGPUTextureFormat_ASTC10x10UnormSrgb = 0x0000005B,
969
- WGPUTextureFormat_ASTC12x10Unorm = 0x0000005C,
970
- WGPUTextureFormat_ASTC12x10UnormSrgb = 0x0000005D,
971
- WGPUTextureFormat_ASTC12x12Unorm = 0x0000005E,
972
- WGPUTextureFormat_ASTC12x12UnormSrgb = 0x0000005F,
973
- WGPUTextureFormat_R16Unorm = 0x00050000,
974
- WGPUTextureFormat_RG16Unorm = 0x00050001,
975
- WGPUTextureFormat_RGBA16Unorm = 0x00050002,
976
- WGPUTextureFormat_R16Snorm = 0x00050003,
977
- WGPUTextureFormat_RG16Snorm = 0x00050004,
978
- WGPUTextureFormat_RGBA16Snorm = 0x00050005,
954
+ WGPUTextureFormat_R16Unorm = 0x00000005,
955
+ WGPUTextureFormat_R16Snorm = 0x00000006,
956
+ WGPUTextureFormat_R16Uint = 0x00000007,
957
+ WGPUTextureFormat_R16Sint = 0x00000008,
958
+ WGPUTextureFormat_R16Float = 0x00000009,
959
+ WGPUTextureFormat_RG8Unorm = 0x0000000A,
960
+ WGPUTextureFormat_RG8Snorm = 0x0000000B,
961
+ WGPUTextureFormat_RG8Uint = 0x0000000C,
962
+ WGPUTextureFormat_RG8Sint = 0x0000000D,
963
+ WGPUTextureFormat_R32Float = 0x0000000E,
964
+ WGPUTextureFormat_R32Uint = 0x0000000F,
965
+ WGPUTextureFormat_R32Sint = 0x00000010,
966
+ WGPUTextureFormat_RG16Unorm = 0x00000011,
967
+ WGPUTextureFormat_RG16Snorm = 0x00000012,
968
+ WGPUTextureFormat_RG16Uint = 0x00000013,
969
+ WGPUTextureFormat_RG16Sint = 0x00000014,
970
+ WGPUTextureFormat_RG16Float = 0x00000015,
971
+ WGPUTextureFormat_RGBA8Unorm = 0x00000016,
972
+ WGPUTextureFormat_RGBA8UnormSrgb = 0x00000017,
973
+ WGPUTextureFormat_RGBA8Snorm = 0x00000018,
974
+ WGPUTextureFormat_RGBA8Uint = 0x00000019,
975
+ WGPUTextureFormat_RGBA8Sint = 0x0000001A,
976
+ WGPUTextureFormat_BGRA8Unorm = 0x0000001B,
977
+ WGPUTextureFormat_BGRA8UnormSrgb = 0x0000001C,
978
+ WGPUTextureFormat_RGB10A2Uint = 0x0000001D,
979
+ WGPUTextureFormat_RGB10A2Unorm = 0x0000001E,
980
+ WGPUTextureFormat_RG11B10Ufloat = 0x0000001F,
981
+ WGPUTextureFormat_RGB9E5Ufloat = 0x00000020,
982
+ WGPUTextureFormat_RG32Float = 0x00000021,
983
+ WGPUTextureFormat_RG32Uint = 0x00000022,
984
+ WGPUTextureFormat_RG32Sint = 0x00000023,
985
+ WGPUTextureFormat_RGBA16Unorm = 0x00000024,
986
+ WGPUTextureFormat_RGBA16Snorm = 0x00000025,
987
+ WGPUTextureFormat_RGBA16Uint = 0x00000026,
988
+ WGPUTextureFormat_RGBA16Sint = 0x00000027,
989
+ WGPUTextureFormat_RGBA16Float = 0x00000028,
990
+ WGPUTextureFormat_RGBA32Float = 0x00000029,
991
+ WGPUTextureFormat_RGBA32Uint = 0x0000002A,
992
+ WGPUTextureFormat_RGBA32Sint = 0x0000002B,
993
+ WGPUTextureFormat_Stencil8 = 0x0000002C,
994
+ WGPUTextureFormat_Depth16Unorm = 0x0000002D,
995
+ WGPUTextureFormat_Depth24Plus = 0x0000002E,
996
+ WGPUTextureFormat_Depth24PlusStencil8 = 0x0000002F,
997
+ WGPUTextureFormat_Depth32Float = 0x00000030,
998
+ WGPUTextureFormat_Depth32FloatStencil8 = 0x00000031,
999
+ WGPUTextureFormat_BC1RGBAUnorm = 0x00000032,
1000
+ WGPUTextureFormat_BC1RGBAUnormSrgb = 0x00000033,
1001
+ WGPUTextureFormat_BC2RGBAUnorm = 0x00000034,
1002
+ WGPUTextureFormat_BC2RGBAUnormSrgb = 0x00000035,
1003
+ WGPUTextureFormat_BC3RGBAUnorm = 0x00000036,
1004
+ WGPUTextureFormat_BC3RGBAUnormSrgb = 0x00000037,
1005
+ WGPUTextureFormat_BC4RUnorm = 0x00000038,
1006
+ WGPUTextureFormat_BC4RSnorm = 0x00000039,
1007
+ WGPUTextureFormat_BC5RGUnorm = 0x0000003A,
1008
+ WGPUTextureFormat_BC5RGSnorm = 0x0000003B,
1009
+ WGPUTextureFormat_BC6HRGBUfloat = 0x0000003C,
1010
+ WGPUTextureFormat_BC6HRGBFloat = 0x0000003D,
1011
+ WGPUTextureFormat_BC7RGBAUnorm = 0x0000003E,
1012
+ WGPUTextureFormat_BC7RGBAUnormSrgb = 0x0000003F,
1013
+ WGPUTextureFormat_ETC2RGB8Unorm = 0x00000040,
1014
+ WGPUTextureFormat_ETC2RGB8UnormSrgb = 0x00000041,
1015
+ WGPUTextureFormat_ETC2RGB8A1Unorm = 0x00000042,
1016
+ WGPUTextureFormat_ETC2RGB8A1UnormSrgb = 0x00000043,
1017
+ WGPUTextureFormat_ETC2RGBA8Unorm = 0x00000044,
1018
+ WGPUTextureFormat_ETC2RGBA8UnormSrgb = 0x00000045,
1019
+ WGPUTextureFormat_EACR11Unorm = 0x00000046,
1020
+ WGPUTextureFormat_EACR11Snorm = 0x00000047,
1021
+ WGPUTextureFormat_EACRG11Unorm = 0x00000048,
1022
+ WGPUTextureFormat_EACRG11Snorm = 0x00000049,
1023
+ WGPUTextureFormat_ASTC4x4Unorm = 0x0000004A,
1024
+ WGPUTextureFormat_ASTC4x4UnormSrgb = 0x0000004B,
1025
+ WGPUTextureFormat_ASTC5x4Unorm = 0x0000004C,
1026
+ WGPUTextureFormat_ASTC5x4UnormSrgb = 0x0000004D,
1027
+ WGPUTextureFormat_ASTC5x5Unorm = 0x0000004E,
1028
+ WGPUTextureFormat_ASTC5x5UnormSrgb = 0x0000004F,
1029
+ WGPUTextureFormat_ASTC6x5Unorm = 0x00000050,
1030
+ WGPUTextureFormat_ASTC6x5UnormSrgb = 0x00000051,
1031
+ WGPUTextureFormat_ASTC6x6Unorm = 0x00000052,
1032
+ WGPUTextureFormat_ASTC6x6UnormSrgb = 0x00000053,
1033
+ WGPUTextureFormat_ASTC8x5Unorm = 0x00000054,
1034
+ WGPUTextureFormat_ASTC8x5UnormSrgb = 0x00000055,
1035
+ WGPUTextureFormat_ASTC8x6Unorm = 0x00000056,
1036
+ WGPUTextureFormat_ASTC8x6UnormSrgb = 0x00000057,
1037
+ WGPUTextureFormat_ASTC8x8Unorm = 0x00000058,
1038
+ WGPUTextureFormat_ASTC8x8UnormSrgb = 0x00000059,
1039
+ WGPUTextureFormat_ASTC10x5Unorm = 0x0000005A,
1040
+ WGPUTextureFormat_ASTC10x5UnormSrgb = 0x0000005B,
1041
+ WGPUTextureFormat_ASTC10x6Unorm = 0x0000005C,
1042
+ WGPUTextureFormat_ASTC10x6UnormSrgb = 0x0000005D,
1043
+ WGPUTextureFormat_ASTC10x8Unorm = 0x0000005E,
1044
+ WGPUTextureFormat_ASTC10x8UnormSrgb = 0x0000005F,
1045
+ WGPUTextureFormat_ASTC10x10Unorm = 0x00000060,
1046
+ WGPUTextureFormat_ASTC10x10UnormSrgb = 0x00000061,
1047
+ WGPUTextureFormat_ASTC12x10Unorm = 0x00000062,
1048
+ WGPUTextureFormat_ASTC12x10UnormSrgb = 0x00000063,
1049
+ WGPUTextureFormat_ASTC12x12Unorm = 0x00000064,
1050
+ WGPUTextureFormat_ASTC12x12UnormSrgb = 0x00000065,
979
1051
  WGPUTextureFormat_R8BG8Biplanar420Unorm = 0x00050006,
980
1052
  WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm = 0x00050007,
981
1053
  WGPUTextureFormat_R8BG8A8Triplanar420Unorm = 0x00050008,
@@ -1079,7 +1151,9 @@ typedef enum WGPUWGSLLanguageFeatureName {
1079
1151
  WGPUWGSLLanguageFeatureName_Packed4x8IntegerDotProduct = 0x00000002,
1080
1152
  WGPUWGSLLanguageFeatureName_UnrestrictedPointerParameters = 0x00000003,
1081
1153
  WGPUWGSLLanguageFeatureName_PointerCompositeAccess = 0x00000004,
1082
- WGPUWGSLLanguageFeatureName_SizedBindingArray = 0x00000005,
1154
+ WGPUWGSLLanguageFeatureName_SizedBindingArray = 0x00050005,
1155
+ WGPUWGSLLanguageFeatureName_TexelBuffers = 0x00050006,
1156
+ WGPUWGSLLanguageFeatureName_ChromiumPrint = 0x00050007,
1083
1157
  WGPUWGSLLanguageFeatureName_ChromiumTestingUnimplemented = 0x00050000,
1084
1158
  WGPUWGSLLanguageFeatureName_ChromiumTestingUnsafeExperimental = 0x00050001,
1085
1159
  WGPUWGSLLanguageFeatureName_ChromiumTestingExperimental = 0x00050002,
@@ -1100,6 +1174,7 @@ static const WGPUBufferUsage WGPUBufferUsage_Uniform = 0x0000000000000040;
1100
1174
  static const WGPUBufferUsage WGPUBufferUsage_Storage = 0x0000000000000080;
1101
1175
  static const WGPUBufferUsage WGPUBufferUsage_Indirect = 0x0000000000000100;
1102
1176
  static const WGPUBufferUsage WGPUBufferUsage_QueryResolve = 0x0000000000000200;
1177
+ static const WGPUBufferUsage WGPUBufferUsage_TexelBuffer = 0x0000000000000400;
1103
1178
 
1104
1179
  typedef WGPUFlags WGPUColorWriteMask;
1105
1180
  static const WGPUColorWriteMask WGPUColorWriteMask_None = 0x0000000000000000;
@@ -1158,7 +1233,7 @@ typedef void (*WGPULoggingCallback)(WGPULoggingType type, WGPUStringView message
1158
1233
 
1159
1234
  typedef void (*WGPUPopErrorScopeCallback)(WGPUPopErrorScopeStatus status, WGPUErrorType type, WGPUStringView message, WGPU_NULLABLE void* userdata1, WGPU_NULLABLE void* userdata2) WGPU_FUNCTION_ATTRIBUTE;
1160
1235
 
1161
- typedef void (*WGPUQueueWorkDoneCallback)(WGPUQueueWorkDoneStatus status, WGPU_NULLABLE void* userdata1, WGPU_NULLABLE void* userdata2) WGPU_FUNCTION_ATTRIBUTE;
1236
+ typedef void (*WGPUQueueWorkDoneCallback)(WGPUQueueWorkDoneStatus status, WGPUStringView message, WGPU_NULLABLE void* userdata1, WGPU_NULLABLE void* userdata2) WGPU_FUNCTION_ATTRIBUTE;
1162
1237
 
1163
1238
  typedef void (*WGPURequestAdapterCallback)(WGPURequestAdapterStatus status, WGPUAdapter adapter, WGPUStringView message, WGPU_NULLABLE void* userdata1, WGPU_NULLABLE void* userdata2) WGPU_FUNCTION_ATTRIBUTE;
1164
1239
 
@@ -1358,33 +1433,31 @@ typedef struct WGPUAdapterPropertiesD3D {
1358
1433
  })
1359
1434
 
1360
1435
  // Can be chained in WGPUAdapterInfo
1361
- typedef struct WGPUAdapterPropertiesSubgroups {
1436
+ typedef struct WGPUAdapterPropertiesVk {
1362
1437
  WGPUChainedStruct chain;
1363
- uint32_t subgroupMinSize;
1364
- uint32_t subgroupMaxSize;
1365
- } WGPUAdapterPropertiesSubgroups WGPU_STRUCTURE_ATTRIBUTE;
1438
+ uint32_t driverVersion;
1439
+ } WGPUAdapterPropertiesVk WGPU_STRUCTURE_ATTRIBUTE;
1366
1440
 
1367
- #define WGPU_ADAPTER_PROPERTIES_SUBGROUPS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUAdapterPropertiesSubgroups, { \
1441
+ #define WGPU_ADAPTER_PROPERTIES_VK_INIT _wgpu_MAKE_INIT_STRUCT(WGPUAdapterPropertiesVk, { \
1368
1442
  /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1369
1443
  /*.next=*/NULL _wgpu_COMMA \
1370
- /*.sType=*/WGPUSType_AdapterPropertiesSubgroups _wgpu_COMMA \
1444
+ /*.sType=*/WGPUSType_AdapterPropertiesVk _wgpu_COMMA \
1371
1445
  }) _wgpu_COMMA \
1372
- /*.subgroupMinSize=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1373
- /*.subgroupMaxSize=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1446
+ /*.driverVersion=*/0 _wgpu_COMMA \
1374
1447
  })
1375
1448
 
1376
- // Can be chained in WGPUAdapterInfo
1377
- typedef struct WGPUAdapterPropertiesVk {
1449
+ // Can be chained in WGPUBindGroupDescriptor
1450
+ typedef struct WGPUBindGroupDynamicBindingArray {
1378
1451
  WGPUChainedStruct chain;
1379
- uint32_t driverVersion;
1380
- } WGPUAdapterPropertiesVk WGPU_STRUCTURE_ATTRIBUTE;
1452
+ uint32_t dynamicArraySize;
1453
+ } WGPUBindGroupDynamicBindingArray WGPU_STRUCTURE_ATTRIBUTE;
1381
1454
 
1382
- #define WGPU_ADAPTER_PROPERTIES_VK_INIT _wgpu_MAKE_INIT_STRUCT(WGPUAdapterPropertiesVk, { \
1455
+ #define WGPU_BIND_GROUP_DYNAMIC_BINDING_ARRAY_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBindGroupDynamicBindingArray, { \
1383
1456
  /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1384
1457
  /*.next=*/NULL _wgpu_COMMA \
1385
- /*.sType=*/WGPUSType_AdapterPropertiesVk _wgpu_COMMA \
1458
+ /*.sType=*/WGPUSType_BindGroupDynamicBindingArray _wgpu_COMMA \
1386
1459
  }) _wgpu_COMMA \
1387
- /*.driverVersion=*/0 _wgpu_COMMA \
1460
+ /*.dynamicArraySize=*/0 _wgpu_COMMA \
1388
1461
  })
1389
1462
 
1390
1463
  typedef struct WGPUBlendComponent {
@@ -1409,7 +1482,7 @@ typedef struct WGPUBufferBindingLayout {
1409
1482
  #define WGPU_BUFFER_BINDING_LAYOUT_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBufferBindingLayout, { \
1410
1483
  /*.nextInChain=*/NULL _wgpu_COMMA \
1411
1484
  /*.type=*/WGPUBufferBindingType_Undefined _wgpu_COMMA \
1412
- /*.hasDynamicOffset=*/0 _wgpu_COMMA \
1485
+ /*.hasDynamicOffset=*/WGPU_FALSE _wgpu_COMMA \
1413
1486
  /*.minBindingSize=*/0 _wgpu_COMMA \
1414
1487
  })
1415
1488
 
@@ -1456,7 +1529,7 @@ typedef struct WGPUColorTargetStateExpandResolveTextureDawn {
1456
1529
  /*.next=*/NULL _wgpu_COMMA \
1457
1530
  /*.sType=*/WGPUSType_ColorTargetStateExpandResolveTextureDawn _wgpu_COMMA \
1458
1531
  }) _wgpu_COMMA \
1459
- /*.enabled=*/0 _wgpu_COMMA \
1532
+ /*.enabled=*/WGPU_FALSE _wgpu_COMMA \
1460
1533
  })
1461
1534
 
1462
1535
  typedef struct WGPUCommandBufferDescriptor {
@@ -1469,6 +1542,26 @@ typedef struct WGPUCommandBufferDescriptor {
1469
1542
  /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
1470
1543
  })
1471
1544
 
1545
+ // Can be chained in WGPULimits
1546
+ typedef struct WGPUCompatibilityModeLimits {
1547
+ WGPUChainedStruct chain;
1548
+ uint32_t maxStorageBuffersInVertexStage;
1549
+ uint32_t maxStorageTexturesInVertexStage;
1550
+ uint32_t maxStorageBuffersInFragmentStage;
1551
+ uint32_t maxStorageTexturesInFragmentStage;
1552
+ } WGPUCompatibilityModeLimits WGPU_STRUCTURE_ATTRIBUTE;
1553
+
1554
+ #define WGPU_COMPATIBILITY_MODE_LIMITS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUCompatibilityModeLimits, { \
1555
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1556
+ /*.next=*/NULL _wgpu_COMMA \
1557
+ /*.sType=*/WGPUSType_CompatibilityModeLimits _wgpu_COMMA \
1558
+ }) _wgpu_COMMA \
1559
+ /*.maxStorageBuffersInVertexStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1560
+ /*.maxStorageTexturesInVertexStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1561
+ /*.maxStorageBuffersInFragmentStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1562
+ /*.maxStorageTexturesInFragmentStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1563
+ })
1564
+
1472
1565
  typedef struct WGPUConstantEntry {
1473
1566
  WGPUChainedStruct * nextInChain;
1474
1567
  WGPUStringView key;
@@ -1495,14 +1588,14 @@ typedef struct WGPUCopyTextureForBrowserOptions {
1495
1588
 
1496
1589
  #define WGPU_COPY_TEXTURE_FOR_BROWSER_OPTIONS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUCopyTextureForBrowserOptions, { \
1497
1590
  /*.nextInChain=*/NULL _wgpu_COMMA \
1498
- /*.flipY=*/0 _wgpu_COMMA \
1499
- /*.needsColorSpaceConversion=*/0 _wgpu_COMMA \
1591
+ /*.flipY=*/WGPU_FALSE _wgpu_COMMA \
1592
+ /*.needsColorSpaceConversion=*/WGPU_FALSE _wgpu_COMMA \
1500
1593
  /*.srcAlphaMode=*/WGPUAlphaMode_Unpremultiplied _wgpu_COMMA \
1501
1594
  /*.srcTransferFunctionParameters=*/NULL _wgpu_COMMA \
1502
1595
  /*.conversionMatrix=*/NULL _wgpu_COMMA \
1503
1596
  /*.dstTransferFunctionParameters=*/NULL _wgpu_COMMA \
1504
1597
  /*.dstAlphaMode=*/WGPUAlphaMode_Unpremultiplied _wgpu_COMMA \
1505
- /*.internalUsage=*/0 _wgpu_COMMA \
1598
+ /*.internalUsage=*/WGPU_FALSE _wgpu_COMMA \
1506
1599
  })
1507
1600
 
1508
1601
  // Can be chained in WGPUAdapterInfo
@@ -1530,7 +1623,7 @@ typedef struct WGPUDawnBufferDescriptorErrorInfoFromWireClient {
1530
1623
  /*.next=*/NULL _wgpu_COMMA \
1531
1624
  /*.sType=*/WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient _wgpu_COMMA \
1532
1625
  }) _wgpu_COMMA \
1533
- /*.outOfMemory=*/0 _wgpu_COMMA \
1626
+ /*.outOfMemory=*/WGPU_FALSE _wgpu_COMMA \
1534
1627
  })
1535
1628
 
1536
1629
  // Can be chained in WGPUDeviceDescriptor
@@ -1571,6 +1664,20 @@ typedef struct WGPUDawnCompilationMessageUtf16 {
1571
1664
  /*.length=*/0 _wgpu_COMMA \
1572
1665
  })
1573
1666
 
1667
+ // Can be chained in WGPUDeviceDescriptor
1668
+ typedef struct WGPUDawnConsumeAdapterDescriptor {
1669
+ WGPUChainedStruct chain;
1670
+ WGPUBool consumeAdapter;
1671
+ } WGPUDawnConsumeAdapterDescriptor WGPU_STRUCTURE_ATTRIBUTE;
1672
+
1673
+ #define WGPU_DAWN_CONSUME_ADAPTER_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDawnConsumeAdapterDescriptor, { \
1674
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1675
+ /*.next=*/NULL _wgpu_COMMA \
1676
+ /*.sType=*/WGPUSType_DawnConsumeAdapterDescriptor _wgpu_COMMA \
1677
+ }) _wgpu_COMMA \
1678
+ /*.consumeAdapter=*/WGPU_FALSE _wgpu_COMMA \
1679
+ })
1680
+
1574
1681
  // Can be chained in WGPUDeviceDescriptor
1575
1682
  typedef struct WGPUDawnDeviceAllocatorControl {
1576
1683
  WGPUChainedStruct chain;
@@ -1606,7 +1713,7 @@ typedef struct WGPUDawnEncoderInternalUsageDescriptor {
1606
1713
  /*.next=*/NULL _wgpu_COMMA \
1607
1714
  /*.sType=*/WGPUSType_DawnEncoderInternalUsageDescriptor _wgpu_COMMA \
1608
1715
  }) _wgpu_COMMA \
1609
- /*.useInternalUsages=*/0 _wgpu_COMMA \
1716
+ /*.useInternalUsages=*/WGPU_FALSE _wgpu_COMMA \
1610
1717
  })
1611
1718
 
1612
1719
  // Can be chained in WGPUBufferDescriptor
@@ -1622,9 +1729,21 @@ typedef struct WGPUDawnFakeBufferOOMForTesting {
1622
1729
  /*.next=*/NULL _wgpu_COMMA \
1623
1730
  /*.sType=*/WGPUSType_DawnFakeBufferOOMForTesting _wgpu_COMMA \
1624
1731
  }) _wgpu_COMMA \
1625
- /*.fakeOOMAtWireClientMap=*/0 _wgpu_COMMA \
1626
- /*.fakeOOMAtNativeMap=*/0 _wgpu_COMMA \
1627
- /*.fakeOOMAtDevice=*/0 _wgpu_COMMA \
1732
+ /*.fakeOOMAtWireClientMap=*/WGPU_FALSE _wgpu_COMMA \
1733
+ /*.fakeOOMAtNativeMap=*/WGPU_FALSE _wgpu_COMMA \
1734
+ /*.fakeOOMAtDevice=*/WGPU_FALSE _wgpu_COMMA \
1735
+ })
1736
+
1737
+ // Can be chained in WGPUDeviceDescriptor
1738
+ typedef struct WGPUDawnFakeDeviceInitializeErrorForTesting {
1739
+ WGPUChainedStruct chain;
1740
+ } WGPUDawnFakeDeviceInitializeErrorForTesting WGPU_STRUCTURE_ATTRIBUTE;
1741
+
1742
+ #define WGPU_DAWN_FAKE_DEVICE_INITIALIZE_ERROR_FOR_TESTING_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDawnFakeDeviceInitializeErrorForTesting, { \
1743
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1744
+ /*.next=*/NULL _wgpu_COMMA \
1745
+ /*.sType=*/WGPUSType_DawnFakeDeviceInitializeErrorForTesting _wgpu_COMMA \
1746
+ }) _wgpu_COMMA \
1628
1747
  })
1629
1748
 
1630
1749
  // Can be chained in WGPULimits
@@ -1679,7 +1798,7 @@ typedef struct WGPUDawnShaderModuleSPIRVOptionsDescriptor {
1679
1798
  /*.next=*/NULL _wgpu_COMMA \
1680
1799
  /*.sType=*/WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor _wgpu_COMMA \
1681
1800
  }) _wgpu_COMMA \
1682
- /*.allowNonUniformDerivatives=*/0 _wgpu_COMMA \
1801
+ /*.allowNonUniformDerivatives=*/WGPU_FALSE _wgpu_COMMA \
1683
1802
  })
1684
1803
 
1685
1804
  // Can be chained in WGPULimits
@@ -1761,9 +1880,35 @@ typedef struct WGPUDawnWireWGSLControl {
1761
1880
  /*.next=*/NULL _wgpu_COMMA \
1762
1881
  /*.sType=*/WGPUSType_DawnWireWGSLControl _wgpu_COMMA \
1763
1882
  }) _wgpu_COMMA \
1764
- /*.enableExperimental=*/0 _wgpu_COMMA \
1765
- /*.enableUnsafe=*/0 _wgpu_COMMA \
1766
- /*.enableTesting=*/0 _wgpu_COMMA \
1883
+ /*.enableExperimental=*/WGPU_FALSE _wgpu_COMMA \
1884
+ /*.enableUnsafe=*/WGPU_FALSE _wgpu_COMMA \
1885
+ /*.enableTesting=*/WGPU_FALSE _wgpu_COMMA \
1886
+ })
1887
+
1888
+ typedef struct WGPUDynamicBindingArrayLayout {
1889
+ WGPUChainedStruct * nextInChain;
1890
+ uint32_t start;
1891
+ WGPUDynamicBindingKind kind;
1892
+ } WGPUDynamicBindingArrayLayout WGPU_STRUCTURE_ATTRIBUTE;
1893
+
1894
+ #define WGPU_DYNAMIC_BINDING_ARRAY_LAYOUT_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDynamicBindingArrayLayout, { \
1895
+ /*.nextInChain=*/NULL _wgpu_COMMA \
1896
+ /*.start=*/0 _wgpu_COMMA \
1897
+ /*.kind=*/WGPUDynamicBindingKind_Undefined _wgpu_COMMA \
1898
+ })
1899
+
1900
+ // Can be chained in WGPULimits
1901
+ typedef struct WGPUDynamicBindingArrayLimits {
1902
+ WGPUChainedStruct chain;
1903
+ uint32_t maxDynamicBindingArraySize;
1904
+ } WGPUDynamicBindingArrayLimits WGPU_STRUCTURE_ATTRIBUTE;
1905
+
1906
+ #define WGPU_DYNAMIC_BINDING_ARRAY_LIMITS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDynamicBindingArrayLimits, { \
1907
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1908
+ /*.next=*/NULL _wgpu_COMMA \
1909
+ /*.sType=*/WGPUSType_DynamicBindingArrayLimits _wgpu_COMMA \
1910
+ }) _wgpu_COMMA \
1911
+ /*.maxDynamicBindingArraySize=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
1767
1912
  })
1768
1913
 
1769
1914
  // Can be chained in WGPUSurfaceDescriptor
@@ -1836,15 +1981,13 @@ typedef struct WGPUFuture {
1836
1981
  /*.id=*/0 _wgpu_COMMA \
1837
1982
  })
1838
1983
 
1839
- typedef struct WGPUInstanceCapabilities {
1984
+ typedef struct WGPUInstanceLimits {
1840
1985
  WGPUChainedStruct * nextInChain;
1841
- WGPUBool timedWaitAnyEnable;
1842
1986
  size_t timedWaitAnyMaxCount;
1843
- } WGPUInstanceCapabilities WGPU_STRUCTURE_ATTRIBUTE;
1987
+ } WGPUInstanceLimits WGPU_STRUCTURE_ATTRIBUTE;
1844
1988
 
1845
- #define WGPU_INSTANCE_CAPABILITIES_INIT _wgpu_MAKE_INIT_STRUCT(WGPUInstanceCapabilities, { \
1989
+ #define WGPU_INSTANCE_LIMITS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUInstanceLimits, { \
1846
1990
  /*.nextInChain=*/NULL _wgpu_COMMA \
1847
- /*.timedWaitAnyEnable=*/0 _wgpu_COMMA \
1848
1991
  /*.timedWaitAnyMaxCount=*/0 _wgpu_COMMA \
1849
1992
  })
1850
1993
 
@@ -1853,7 +1996,7 @@ typedef struct WGPUINTERNAL_HAVE_EMDAWNWEBGPU_HEADER {
1853
1996
  } WGPUINTERNAL_HAVE_EMDAWNWEBGPU_HEADER WGPU_STRUCTURE_ATTRIBUTE;
1854
1997
 
1855
1998
  #define WGPU_INTERNAL_HAVE_EMDAWNWEBGPU_HEADER_INIT _wgpu_MAKE_INIT_STRUCT(WGPUINTERNAL_HAVE_EMDAWNWEBGPU_HEADER, { \
1856
- /*.unused=*/0 _wgpu_COMMA \
1999
+ /*.unused=*/WGPU_FALSE _wgpu_COMMA \
1857
2000
  })
1858
2001
 
1859
2002
  typedef struct WGPUMemoryHeapInfo {
@@ -1877,7 +2020,7 @@ typedef struct WGPUMultisampleState {
1877
2020
  /*.nextInChain=*/NULL _wgpu_COMMA \
1878
2021
  /*.count=*/1 _wgpu_COMMA \
1879
2022
  /*.mask=*/0xFFFFFFFF _wgpu_COMMA \
1880
- /*.alphaToCoverageEnabled=*/0 _wgpu_COMMA \
2023
+ /*.alphaToCoverageEnabled=*/WGPU_FALSE _wgpu_COMMA \
1881
2024
  })
1882
2025
 
1883
2026
  typedef struct WGPUOrigin2D {
@@ -1943,7 +2086,7 @@ typedef struct WGPUPrimitiveState {
1943
2086
  /*.stripIndexFormat=*/WGPUIndexFormat_Undefined _wgpu_COMMA \
1944
2087
  /*.frontFace=*/WGPUFrontFace_Undefined _wgpu_COMMA \
1945
2088
  /*.cullMode=*/WGPUCullMode_Undefined _wgpu_COMMA \
1946
- /*.unclippedDepth=*/0 _wgpu_COMMA \
2089
+ /*.unclippedDepth=*/WGPU_FALSE _wgpu_COMMA \
1947
2090
  })
1948
2091
 
1949
2092
  typedef struct WGPUQuerySetDescriptor {
@@ -1998,8 +2141,8 @@ typedef struct WGPURenderBundleEncoderDescriptor {
1998
2141
  /*.colorFormats=*/NULL _wgpu_COMMA \
1999
2142
  /*.depthStencilFormat=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
2000
2143
  /*.sampleCount=*/1 _wgpu_COMMA \
2001
- /*.depthReadOnly=*/0 _wgpu_COMMA \
2002
- /*.stencilReadOnly=*/0 _wgpu_COMMA \
2144
+ /*.depthReadOnly=*/WGPU_FALSE _wgpu_COMMA \
2145
+ /*.stencilReadOnly=*/WGPU_FALSE _wgpu_COMMA \
2003
2146
  })
2004
2147
 
2005
2148
  typedef struct WGPURenderPassDepthStencilAttachment {
@@ -2021,11 +2164,11 @@ typedef struct WGPURenderPassDepthStencilAttachment {
2021
2164
  /*.depthLoadOp=*/WGPULoadOp_Undefined _wgpu_COMMA \
2022
2165
  /*.depthStoreOp=*/WGPUStoreOp_Undefined _wgpu_COMMA \
2023
2166
  /*.depthClearValue=*/WGPU_DEPTH_CLEAR_VALUE_UNDEFINED _wgpu_COMMA \
2024
- /*.depthReadOnly=*/0 _wgpu_COMMA \
2167
+ /*.depthReadOnly=*/WGPU_FALSE _wgpu_COMMA \
2025
2168
  /*.stencilLoadOp=*/WGPULoadOp_Undefined _wgpu_COMMA \
2026
2169
  /*.stencilStoreOp=*/WGPUStoreOp_Undefined _wgpu_COMMA \
2027
2170
  /*.stencilClearValue=*/0 _wgpu_COMMA \
2028
- /*.stencilReadOnly=*/0 _wgpu_COMMA \
2171
+ /*.stencilReadOnly=*/WGPU_FALSE _wgpu_COMMA \
2029
2172
  })
2030
2173
 
2031
2174
  // Can be chained in WGPURenderPassDescriptor
@@ -2109,7 +2252,7 @@ typedef struct WGPURequestAdapterWebXROptions {
2109
2252
  /*.next=*/NULL _wgpu_COMMA \
2110
2253
  /*.sType=*/WGPUSType_RequestAdapterWebXROptions _wgpu_COMMA \
2111
2254
  }) _wgpu_COMMA \
2112
- /*.xrCompatible=*/0 _wgpu_COMMA \
2255
+ /*.xrCompatible=*/WGPU_FALSE _wgpu_COMMA \
2113
2256
  })
2114
2257
 
2115
2258
  typedef struct WGPUSamplerBindingLayout {
@@ -2133,7 +2276,7 @@ typedef struct WGPUShaderModuleCompilationOptions {
2133
2276
  /*.next=*/NULL _wgpu_COMMA \
2134
2277
  /*.sType=*/WGPUSType_ShaderModuleCompilationOptions _wgpu_COMMA \
2135
2278
  }) _wgpu_COMMA \
2136
- /*.strictMath=*/0 _wgpu_COMMA \
2279
+ /*.strictMath=*/WGPU_FALSE _wgpu_COMMA \
2137
2280
  })
2138
2281
 
2139
2282
  // Can be chained in WGPUShaderModuleDescriptor
@@ -2176,7 +2319,7 @@ typedef struct WGPUSharedBufferMemoryBeginAccessDescriptor {
2176
2319
 
2177
2320
  #define WGPU_SHARED_BUFFER_MEMORY_BEGIN_ACCESS_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUSharedBufferMemoryBeginAccessDescriptor, { \
2178
2321
  /*.nextInChain=*/NULL _wgpu_COMMA \
2179
- /*.initialized=*/0 _wgpu_COMMA \
2322
+ /*.initialized=*/WGPU_FALSE _wgpu_COMMA \
2180
2323
  /*.fenceCount=*/0 _wgpu_COMMA \
2181
2324
  /*.fences=*/NULL _wgpu_COMMA \
2182
2325
  /*.signaledValues=*/NULL _wgpu_COMMA \
@@ -2202,7 +2345,7 @@ typedef struct WGPUSharedBufferMemoryEndAccessState {
2202
2345
 
2203
2346
  #define WGPU_SHARED_BUFFER_MEMORY_END_ACCESS_STATE_INIT _wgpu_MAKE_INIT_STRUCT(WGPUSharedBufferMemoryEndAccessState, { \
2204
2347
  /*.nextInChain=*/NULL _wgpu_COMMA \
2205
- /*.initialized=*/0 _wgpu_COMMA \
2348
+ /*.initialized=*/WGPU_FALSE _wgpu_COMMA \
2206
2349
  /*.fenceCount=*/0 _wgpu_COMMA \
2207
2350
  /*.fences=*/NULL _wgpu_COMMA \
2208
2351
  /*.signaledValues=*/NULL _wgpu_COMMA \
@@ -2401,7 +2544,21 @@ typedef struct WGPUSharedTextureMemoryAHardwareBufferDescriptor {
2401
2544
  /*.sType=*/WGPUSType_SharedTextureMemoryAHardwareBufferDescriptor _wgpu_COMMA \
2402
2545
  }) _wgpu_COMMA \
2403
2546
  /*.handle=*/NULL _wgpu_COMMA \
2404
- /*.useExternalFormat=*/0 _wgpu_COMMA \
2547
+ /*.useExternalFormat=*/WGPU_FALSE _wgpu_COMMA \
2548
+ })
2549
+
2550
+ // Can be chained in WGPUSharedTextureMemoryBeginAccessDescriptor
2551
+ typedef struct WGPUSharedTextureMemoryD3D11BeginState {
2552
+ WGPUChainedStruct chain;
2553
+ WGPUBool requiresEndAccessFence;
2554
+ } WGPUSharedTextureMemoryD3D11BeginState WGPU_STRUCTURE_ATTRIBUTE;
2555
+
2556
+ #define WGPU_SHARED_TEXTURE_MEMORY_D3D11_BEGIN_STATE_INIT _wgpu_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryD3D11BeginState, { \
2557
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
2558
+ /*.next=*/NULL _wgpu_COMMA \
2559
+ /*.sType=*/WGPUSType_SharedTextureMemoryD3D11BeginState _wgpu_COMMA \
2560
+ }) _wgpu_COMMA \
2561
+ /*.requiresEndAccessFence=*/WGPU_TRUE _wgpu_COMMA \
2405
2562
  })
2406
2563
 
2407
2564
  // Can be chained in WGPUSharedTextureMemoryBeginAccessDescriptor
@@ -2415,7 +2572,7 @@ typedef struct WGPUSharedTextureMemoryD3DSwapchainBeginState {
2415
2572
  /*.next=*/NULL _wgpu_COMMA \
2416
2573
  /*.sType=*/WGPUSType_SharedTextureMemoryD3DSwapchainBeginState _wgpu_COMMA \
2417
2574
  }) _wgpu_COMMA \
2418
- /*.isSwapchain=*/0 _wgpu_COMMA \
2575
+ /*.isSwapchain=*/WGPU_FALSE _wgpu_COMMA \
2419
2576
  })
2420
2577
 
2421
2578
  typedef struct WGPUSharedTextureMemoryDmaBufPlane {
@@ -2443,7 +2600,7 @@ typedef struct WGPUSharedTextureMemoryDXGISharedHandleDescriptor {
2443
2600
  /*.sType=*/WGPUSType_SharedTextureMemoryDXGISharedHandleDescriptor _wgpu_COMMA \
2444
2601
  }) _wgpu_COMMA \
2445
2602
  /*.handle=*/NULL _wgpu_COMMA \
2446
- /*.useKeyedMutex=*/0 _wgpu_COMMA \
2603
+ /*.useKeyedMutex=*/WGPU_FALSE _wgpu_COMMA \
2447
2604
  })
2448
2605
 
2449
2606
  // Can be chained in WGPUSharedTextureMemoryDescriptor
@@ -2473,7 +2630,7 @@ typedef struct WGPUSharedTextureMemoryIOSurfaceDescriptor {
2473
2630
  /*.sType=*/WGPUSType_SharedTextureMemoryIOSurfaceDescriptor _wgpu_COMMA \
2474
2631
  }) _wgpu_COMMA \
2475
2632
  /*.ioSurface=*/NULL _wgpu_COMMA \
2476
- /*.allowStorageBinding=*/1 _wgpu_COMMA \
2633
+ /*.allowStorageBinding=*/WGPU_TRUE _wgpu_COMMA \
2477
2634
  })
2478
2635
 
2479
2636
  // Can be chained in WGPUSharedTextureMemoryDescriptor
@@ -2495,7 +2652,7 @@ typedef struct WGPUSharedTextureMemoryOpaqueFDDescriptor {
2495
2652
  /*.memoryFD=*/0 _wgpu_COMMA \
2496
2653
  /*.memoryTypeIndex=*/0 _wgpu_COMMA \
2497
2654
  /*.allocationSize=*/0 _wgpu_COMMA \
2498
- /*.dedicatedAllocation=*/0 _wgpu_COMMA \
2655
+ /*.dedicatedAllocation=*/WGPU_FALSE _wgpu_COMMA \
2499
2656
  })
2500
2657
 
2501
2658
  // Can be chained in WGPUSharedTextureMemoryDescriptor
@@ -2509,7 +2666,7 @@ typedef struct WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor {
2509
2666
  /*.next=*/NULL _wgpu_COMMA \
2510
2667
  /*.sType=*/WGPUSType_SharedTextureMemoryVkDedicatedAllocationDescriptor _wgpu_COMMA \
2511
2668
  }) _wgpu_COMMA \
2512
- /*.dedicatedAllocation=*/0 _wgpu_COMMA \
2669
+ /*.dedicatedAllocation=*/WGPU_FALSE _wgpu_COMMA \
2513
2670
  })
2514
2671
 
2515
2672
  // Can be chained in WGPUSharedTextureMemoryBeginAccessDescriptor
@@ -2630,6 +2787,16 @@ typedef struct WGPUSupportedFeatures {
2630
2787
  /*.features=*/NULL _wgpu_COMMA \
2631
2788
  })
2632
2789
 
2790
+ typedef struct WGPUSupportedInstanceFeatures {
2791
+ size_t featureCount;
2792
+ WGPUInstanceFeatureName const * features;
2793
+ } WGPUSupportedInstanceFeatures WGPU_STRUCTURE_ATTRIBUTE;
2794
+
2795
+ #define WGPU_SUPPORTED_INSTANCE_FEATURES_INIT _wgpu_MAKE_INIT_STRUCT(WGPUSupportedInstanceFeatures, { \
2796
+ /*.featureCount=*/0 _wgpu_COMMA \
2797
+ /*.features=*/NULL _wgpu_COMMA \
2798
+ })
2799
+
2633
2800
  typedef struct WGPUSupportedWGSLLanguageFeatures {
2634
2801
  size_t featureCount;
2635
2802
  WGPUWGSLLanguageFeatureName const * features;
@@ -2850,6 +3017,52 @@ typedef struct WGPUSurfaceTexture {
2850
3017
  /*.status=*/_wgpu_ENUM_ZERO_INIT(WGPUSurfaceGetCurrentTextureStatus) _wgpu_COMMA \
2851
3018
  })
2852
3019
 
3020
+ // Can be chained in WGPUBindGroupEntry
3021
+ typedef struct WGPUTexelBufferBindingEntry {
3022
+ WGPUChainedStruct chain;
3023
+ WGPUTexelBufferView texelBufferView;
3024
+ } WGPUTexelBufferBindingEntry WGPU_STRUCTURE_ATTRIBUTE;
3025
+
3026
+ #define WGPU_TEXEL_BUFFER_BINDING_ENTRY_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTexelBufferBindingEntry, { \
3027
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
3028
+ /*.next=*/NULL _wgpu_COMMA \
3029
+ /*.sType=*/WGPUSType_TexelBufferBindingEntry _wgpu_COMMA \
3030
+ }) _wgpu_COMMA \
3031
+ /*.texelBufferView=*/NULL _wgpu_COMMA \
3032
+ })
3033
+
3034
+ // Can be chained in WGPUBindGroupLayoutEntry
3035
+ typedef struct WGPUTexelBufferBindingLayout {
3036
+ WGPUChainedStruct chain;
3037
+ WGPUTexelBufferAccess access;
3038
+ WGPUTextureFormat format;
3039
+ } WGPUTexelBufferBindingLayout WGPU_STRUCTURE_ATTRIBUTE;
3040
+
3041
+ #define WGPU_TEXEL_BUFFER_BINDING_LAYOUT_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTexelBufferBindingLayout, { \
3042
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
3043
+ /*.next=*/NULL _wgpu_COMMA \
3044
+ /*.sType=*/WGPUSType_TexelBufferBindingLayout _wgpu_COMMA \
3045
+ }) _wgpu_COMMA \
3046
+ /*.access=*/WGPUTexelBufferAccess_Undefined _wgpu_COMMA \
3047
+ /*.format=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
3048
+ })
3049
+
3050
+ typedef struct WGPUTexelBufferViewDescriptor {
3051
+ WGPUChainedStruct * nextInChain;
3052
+ WGPUStringView label;
3053
+ WGPUTextureFormat format;
3054
+ uint64_t offset;
3055
+ uint64_t size;
3056
+ } WGPUTexelBufferViewDescriptor WGPU_STRUCTURE_ATTRIBUTE;
3057
+
3058
+ #define WGPU_TEXEL_BUFFER_VIEW_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTexelBufferViewDescriptor, { \
3059
+ /*.nextInChain=*/NULL _wgpu_COMMA \
3060
+ /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
3061
+ /*.format=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
3062
+ /*.offset=*/0 _wgpu_COMMA \
3063
+ /*.size=*/WGPU_WHOLE_SIZE _wgpu_COMMA \
3064
+ })
3065
+
2853
3066
  typedef struct WGPUTexelCopyBufferLayout {
2854
3067
  uint64_t offset;
2855
3068
  uint32_t bytesPerRow;
@@ -2873,7 +3086,7 @@ typedef struct WGPUTextureBindingLayout {
2873
3086
  /*.nextInChain=*/NULL _wgpu_COMMA \
2874
3087
  /*.sampleType=*/WGPUTextureSampleType_Undefined _wgpu_COMMA \
2875
3088
  /*.viewDimension=*/WGPUTextureViewDimension_Undefined _wgpu_COMMA \
2876
- /*.multisampled=*/0 _wgpu_COMMA \
3089
+ /*.multisampled=*/WGPU_FALSE _wgpu_COMMA \
2877
3090
  })
2878
3091
 
2879
3092
  // Can be chained in WGPUTextureDescriptor
@@ -2890,6 +3103,20 @@ typedef struct WGPUTextureBindingViewDimensionDescriptor {
2890
3103
  /*.textureBindingViewDimension=*/WGPUTextureViewDimension_Undefined _wgpu_COMMA \
2891
3104
  })
2892
3105
 
3106
+ typedef struct WGPUTextureComponentSwizzle {
3107
+ WGPUComponentSwizzle r;
3108
+ WGPUComponentSwizzle g;
3109
+ WGPUComponentSwizzle b;
3110
+ WGPUComponentSwizzle a;
3111
+ } WGPUTextureComponentSwizzle WGPU_STRUCTURE_ATTRIBUTE;
3112
+
3113
+ #define WGPU_TEXTURE_COMPONENT_SWIZZLE_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTextureComponentSwizzle, { \
3114
+ /*.r=*/WGPUComponentSwizzle_Undefined _wgpu_COMMA \
3115
+ /*.g=*/WGPUComponentSwizzle_Undefined _wgpu_COMMA \
3116
+ /*.b=*/WGPUComponentSwizzle_Undefined _wgpu_COMMA \
3117
+ /*.a=*/WGPUComponentSwizzle_Undefined _wgpu_COMMA \
3118
+ })
3119
+
2893
3120
  typedef struct WGPUVertexAttribute {
2894
3121
  WGPUChainedStruct * nextInChain;
2895
3122
  WGPUVertexFormat format;
@@ -2937,7 +3164,7 @@ typedef struct WGPUYCbCrVkDescriptor {
2937
3164
  /*.vkXChromaOffset=*/0 _wgpu_COMMA \
2938
3165
  /*.vkYChromaOffset=*/0 _wgpu_COMMA \
2939
3166
  /*.vkChromaFilter=*/WGPUFilterMode_Undefined _wgpu_COMMA \
2940
- /*.forceExplicitReconstruction=*/0 _wgpu_COMMA \
3167
+ /*.forceExplicitReconstruction=*/WGPU_FALSE _wgpu_COMMA \
2941
3168
  /*.externalFormat=*/0 _wgpu_COMMA \
2942
3169
  })
2943
3170
 
@@ -3001,6 +3228,20 @@ typedef struct WGPUBindGroupEntry {
3001
3228
  /*.textureView=*/NULL _wgpu_COMMA \
3002
3229
  })
3003
3230
 
3231
+ // Can be chained in WGPUBindGroupLayoutDescriptor
3232
+ typedef struct WGPUBindGroupLayoutDynamicBindingArray {
3233
+ WGPUChainedStruct chain;
3234
+ WGPUDynamicBindingArrayLayout dynamicArray;
3235
+ } WGPUBindGroupLayoutDynamicBindingArray WGPU_STRUCTURE_ATTRIBUTE;
3236
+
3237
+ #define WGPU_BIND_GROUP_LAYOUT_DYNAMIC_BINDING_ARRAY_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBindGroupLayoutDynamicBindingArray, { \
3238
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
3239
+ /*.next=*/NULL _wgpu_COMMA \
3240
+ /*.sType=*/WGPUSType_BindGroupLayoutDynamicBindingArray _wgpu_COMMA \
3241
+ }) _wgpu_COMMA \
3242
+ /*.dynamicArray=*/WGPU_DYNAMIC_BINDING_ARRAY_LAYOUT_INIT _wgpu_COMMA \
3243
+ })
3244
+
3004
3245
  typedef struct WGPUBindGroupLayoutEntry {
3005
3246
  WGPUChainedStruct * nextInChain;
3006
3247
  uint32_t binding;
@@ -3046,7 +3287,7 @@ typedef struct WGPUBufferDescriptor {
3046
3287
  /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
3047
3288
  /*.usage=*/WGPUBufferUsage_None _wgpu_COMMA \
3048
3289
  /*.size=*/0 _wgpu_COMMA \
3049
- /*.mappedAtCreation=*/0 _wgpu_COMMA \
3290
+ /*.mappedAtCreation=*/WGPU_FALSE _wgpu_COMMA \
3050
3291
  })
3051
3292
 
3052
3293
  typedef struct WGPUCommandEncoderDescriptor {
@@ -3147,8 +3388,8 @@ typedef struct WGPUDepthStencilState {
3147
3388
  /*.stencilReadMask=*/0xFFFFFFFF _wgpu_COMMA \
3148
3389
  /*.stencilWriteMask=*/0xFFFFFFFF _wgpu_COMMA \
3149
3390
  /*.depthBias=*/0 _wgpu_COMMA \
3150
- /*.depthBiasSlopeScale=*/0.0f _wgpu_COMMA \
3151
- /*.depthBiasClamp=*/0.0f _wgpu_COMMA \
3391
+ /*.depthBiasSlopeScale=*/0.f _wgpu_COMMA \
3392
+ /*.depthBiasClamp=*/0.f _wgpu_COMMA \
3152
3393
  })
3153
3394
 
3154
3395
  typedef struct WGPUExternalTextureDescriptor {
@@ -3176,12 +3417,12 @@ typedef struct WGPUExternalTextureDescriptor {
3176
3417
  /*.cropOrigin=*/WGPU_ORIGIN_2D_INIT _wgpu_COMMA \
3177
3418
  /*.cropSize=*/WGPU_EXTENT_2D_INIT _wgpu_COMMA \
3178
3419
  /*.apparentSize=*/WGPU_EXTENT_2D_INIT _wgpu_COMMA \
3179
- /*.doYuvToRgbConversionOnly=*/0 _wgpu_COMMA \
3420
+ /*.doYuvToRgbConversionOnly=*/WGPU_FALSE _wgpu_COMMA \
3180
3421
  /*.yuvToRgbConversionMatrix=*/NULL _wgpu_COMMA \
3181
3422
  /*.srcTransferFunctionParameters=*/NULL _wgpu_COMMA \
3182
3423
  /*.dstTransferFunctionParameters=*/NULL _wgpu_COMMA \
3183
3424
  /*.gamutConversionMatrix=*/NULL _wgpu_COMMA \
3184
- /*.mirrored=*/0 _wgpu_COMMA \
3425
+ /*.mirrored=*/WGPU_FALSE _wgpu_COMMA \
3185
3426
  /*.rotation=*/WGPUExternalTextureRotation_Rotate0Degrees _wgpu_COMMA \
3186
3427
  })
3187
3428
 
@@ -3192,7 +3433,7 @@ typedef struct WGPUFutureWaitInfo {
3192
3433
 
3193
3434
  #define WGPU_FUTURE_WAIT_INFO_INIT _wgpu_MAKE_INIT_STRUCT(WGPUFutureWaitInfo, { \
3194
3435
  /*.future=*/WGPU_FUTURE_INIT _wgpu_COMMA \
3195
- /*.completed=*/0 _wgpu_COMMA \
3436
+ /*.completed=*/WGPU_FALSE _wgpu_COMMA \
3196
3437
  })
3197
3438
 
3198
3439
  typedef struct WGPUImageCopyExternalTexture {
@@ -3211,12 +3452,16 @@ typedef struct WGPUImageCopyExternalTexture {
3211
3452
 
3212
3453
  typedef struct WGPUInstanceDescriptor {
3213
3454
  WGPUChainedStruct * nextInChain;
3214
- WGPUInstanceCapabilities capabilities;
3455
+ size_t requiredFeatureCount;
3456
+ WGPUInstanceFeatureName const * requiredFeatures;
3457
+ WGPU_NULLABLE WGPUInstanceLimits const * requiredLimits;
3215
3458
  } WGPUInstanceDescriptor WGPU_STRUCTURE_ATTRIBUTE;
3216
3459
 
3217
3460
  #define WGPU_INSTANCE_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUInstanceDescriptor, { \
3218
3461
  /*.nextInChain=*/NULL _wgpu_COMMA \
3219
- /*.capabilities=*/WGPU_INSTANCE_CAPABILITIES_INIT _wgpu_COMMA \
3462
+ /*.requiredFeatureCount=*/0 _wgpu_COMMA \
3463
+ /*.requiredFeatures=*/NULL _wgpu_COMMA \
3464
+ /*.requiredLimits=*/NULL _wgpu_COMMA \
3220
3465
  })
3221
3466
 
3222
3467
  typedef struct WGPULimits {
@@ -3253,10 +3498,6 @@ typedef struct WGPULimits {
3253
3498
  uint32_t maxComputeWorkgroupSizeZ;
3254
3499
  uint32_t maxComputeWorkgroupsPerDimension;
3255
3500
  uint32_t maxImmediateSize;
3256
- uint32_t maxStorageBuffersInVertexStage;
3257
- uint32_t maxStorageTexturesInVertexStage;
3258
- uint32_t maxStorageBuffersInFragmentStage;
3259
- uint32_t maxStorageTexturesInFragmentStage;
3260
3501
  } WGPULimits WGPU_STRUCTURE_ATTRIBUTE;
3261
3502
 
3262
3503
  #define WGPU_LIMITS_INIT _wgpu_MAKE_INIT_STRUCT(WGPULimits, { \
@@ -3293,10 +3534,6 @@ typedef struct WGPULimits {
3293
3534
  /*.maxComputeWorkgroupSizeZ=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3294
3535
  /*.maxComputeWorkgroupsPerDimension=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3295
3536
  /*.maxImmediateSize=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3296
- /*.maxStorageBuffersInVertexStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3297
- /*.maxStorageTexturesInVertexStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3298
- /*.maxStorageBuffersInFragmentStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3299
- /*.maxStorageTexturesInFragmentStage=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \
3300
3537
  })
3301
3538
 
3302
3539
  // Can be chained in WGPUPipelineLayoutDescriptor
@@ -3368,7 +3605,7 @@ typedef struct WGPURequestAdapterOptions {
3368
3605
  /*.nextInChain=*/NULL _wgpu_COMMA \
3369
3606
  /*.featureLevel=*/WGPUFeatureLevel_Undefined _wgpu_COMMA \
3370
3607
  /*.powerPreference=*/WGPUPowerPreference_Undefined _wgpu_COMMA \
3371
- /*.forceFallbackAdapter=*/0 _wgpu_COMMA \
3608
+ /*.forceFallbackAdapter=*/WGPU_FALSE _wgpu_COMMA \
3372
3609
  /*.backendType=*/WGPUBackendType_Undefined _wgpu_COMMA \
3373
3610
  /*.compatibleSurface=*/NULL _wgpu_COMMA \
3374
3611
  })
@@ -3397,8 +3634,8 @@ typedef struct WGPUSamplerDescriptor {
3397
3634
  /*.magFilter=*/WGPUFilterMode_Undefined _wgpu_COMMA \
3398
3635
  /*.minFilter=*/WGPUFilterMode_Undefined _wgpu_COMMA \
3399
3636
  /*.mipmapFilter=*/WGPUMipmapFilterMode_Undefined _wgpu_COMMA \
3400
- /*.lodMinClamp=*/0.0f _wgpu_COMMA \
3401
- /*.lodMaxClamp=*/32.0f _wgpu_COMMA \
3637
+ /*.lodMinClamp=*/0.f _wgpu_COMMA \
3638
+ /*.lodMaxClamp=*/32.f _wgpu_COMMA \
3402
3639
  /*.compare=*/WGPUCompareFunction_Undefined _wgpu_COMMA \
3403
3640
  /*.maxAnisotropy=*/1 _wgpu_COMMA \
3404
3641
  })
@@ -3458,8 +3695,8 @@ typedef struct WGPUSharedTextureMemoryBeginAccessDescriptor {
3458
3695
 
3459
3696
  #define WGPU_SHARED_TEXTURE_MEMORY_BEGIN_ACCESS_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryBeginAccessDescriptor, { \
3460
3697
  /*.nextInChain=*/NULL _wgpu_COMMA \
3461
- /*.concurrentRead=*/0 _wgpu_COMMA \
3462
- /*.initialized=*/0 _wgpu_COMMA \
3698
+ /*.concurrentRead=*/WGPU_FALSE _wgpu_COMMA \
3699
+ /*.initialized=*/WGPU_FALSE _wgpu_COMMA \
3463
3700
  /*.fenceCount=*/0 _wgpu_COMMA \
3464
3701
  /*.fences=*/NULL _wgpu_COMMA \
3465
3702
  /*.signaledValues=*/NULL _wgpu_COMMA \
@@ -3497,7 +3734,7 @@ typedef struct WGPUSharedTextureMemoryEndAccessState {
3497
3734
 
3498
3735
  #define WGPU_SHARED_TEXTURE_MEMORY_END_ACCESS_STATE_INIT _wgpu_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryEndAccessState, { \
3499
3736
  /*.nextInChain=*/NULL _wgpu_COMMA \
3500
- /*.initialized=*/0 _wgpu_COMMA \
3737
+ /*.initialized=*/WGPU_FALSE _wgpu_COMMA \
3501
3738
  /*.fenceCount=*/0 _wgpu_COMMA \
3502
3739
  /*.fences=*/NULL _wgpu_COMMA \
3503
3740
  /*.signaledValues=*/NULL _wgpu_COMMA \
@@ -3537,6 +3774,20 @@ typedef struct WGPUTexelCopyTextureInfo {
3537
3774
  /*.aspect=*/WGPUTextureAspect_Undefined _wgpu_COMMA \
3538
3775
  })
3539
3776
 
3777
+ // Can be chained in WGPUTextureViewDescriptor
3778
+ typedef struct WGPUTextureComponentSwizzleDescriptor {
3779
+ WGPUChainedStruct chain;
3780
+ WGPUTextureComponentSwizzle swizzle;
3781
+ } WGPUTextureComponentSwizzleDescriptor WGPU_STRUCTURE_ATTRIBUTE;
3782
+
3783
+ #define WGPU_TEXTURE_COMPONENT_SWIZZLE_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTextureComponentSwizzleDescriptor, { \
3784
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
3785
+ /*.next=*/NULL _wgpu_COMMA \
3786
+ /*.sType=*/WGPUSType_TextureComponentSwizzleDescriptor _wgpu_COMMA \
3787
+ }) _wgpu_COMMA \
3788
+ /*.swizzle=*/WGPU_TEXTURE_COMPONENT_SWIZZLE_INIT _wgpu_COMMA \
3789
+ })
3790
+
3540
3791
  typedef struct WGPUTextureDescriptor {
3541
3792
  WGPUChainedStruct * nextInChain;
3542
3793
  WGPUStringView label;
@@ -3563,32 +3814,6 @@ typedef struct WGPUTextureDescriptor {
3563
3814
  /*.viewFormats=*/NULL _wgpu_COMMA \
3564
3815
  })
3565
3816
 
3566
- typedef struct WGPUTextureViewDescriptor {
3567
- WGPUChainedStruct * nextInChain;
3568
- WGPUStringView label;
3569
- WGPUTextureFormat format;
3570
- WGPUTextureViewDimension dimension;
3571
- uint32_t baseMipLevel;
3572
- uint32_t mipLevelCount;
3573
- uint32_t baseArrayLayer;
3574
- uint32_t arrayLayerCount;
3575
- WGPUTextureAspect aspect;
3576
- WGPUTextureUsage usage;
3577
- } WGPUTextureViewDescriptor WGPU_STRUCTURE_ATTRIBUTE;
3578
-
3579
- #define WGPU_TEXTURE_VIEW_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTextureViewDescriptor, { \
3580
- /*.nextInChain=*/NULL _wgpu_COMMA \
3581
- /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
3582
- /*.format=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
3583
- /*.dimension=*/WGPUTextureViewDimension_Undefined _wgpu_COMMA \
3584
- /*.baseMipLevel=*/0 _wgpu_COMMA \
3585
- /*.mipLevelCount=*/WGPU_MIP_LEVEL_COUNT_UNDEFINED _wgpu_COMMA \
3586
- /*.baseArrayLayer=*/0 _wgpu_COMMA \
3587
- /*.arrayLayerCount=*/WGPU_ARRAY_LAYER_COUNT_UNDEFINED _wgpu_COMMA \
3588
- /*.aspect=*/WGPUTextureAspect_Undefined _wgpu_COMMA \
3589
- /*.usage=*/WGPUTextureUsage_None _wgpu_COMMA \
3590
- })
3591
-
3592
3817
  typedef struct WGPUVertexBufferLayout {
3593
3818
  WGPUChainedStruct * nextInChain;
3594
3819
  WGPUVertexStepMode stepMode;
@@ -3737,7 +3962,7 @@ typedef struct WGPUPipelineLayoutDescriptor {
3737
3962
  WGPUChainedStruct * nextInChain;
3738
3963
  WGPUStringView label;
3739
3964
  size_t bindGroupLayoutCount;
3740
- WGPU_NULLABLE WGPUBindGroupLayout const * bindGroupLayouts;
3965
+ WGPUBindGroupLayout const * bindGroupLayouts;
3741
3966
  uint32_t immediateSize;
3742
3967
  } WGPUPipelineLayoutDescriptor WGPU_STRUCTURE_ATTRIBUTE;
3743
3968
 
@@ -3791,6 +4016,32 @@ typedef struct WGPUSharedTextureMemoryProperties {
3791
4016
  /*.format=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
3792
4017
  })
3793
4018
 
4019
+ typedef struct WGPUTextureViewDescriptor {
4020
+ WGPUChainedStruct * nextInChain;
4021
+ WGPUStringView label;
4022
+ WGPUTextureFormat format;
4023
+ WGPUTextureViewDimension dimension;
4024
+ uint32_t baseMipLevel;
4025
+ uint32_t mipLevelCount;
4026
+ uint32_t baseArrayLayer;
4027
+ uint32_t arrayLayerCount;
4028
+ WGPUTextureAspect aspect;
4029
+ WGPUTextureUsage usage;
4030
+ } WGPUTextureViewDescriptor WGPU_STRUCTURE_ATTRIBUTE;
4031
+
4032
+ #define WGPU_TEXTURE_VIEW_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUTextureViewDescriptor, { \
4033
+ /*.nextInChain=*/NULL _wgpu_COMMA \
4034
+ /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
4035
+ /*.format=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
4036
+ /*.dimension=*/WGPUTextureViewDimension_Undefined _wgpu_COMMA \
4037
+ /*.baseMipLevel=*/0 _wgpu_COMMA \
4038
+ /*.mipLevelCount=*/WGPU_MIP_LEVEL_COUNT_UNDEFINED _wgpu_COMMA \
4039
+ /*.baseArrayLayer=*/0 _wgpu_COMMA \
4040
+ /*.arrayLayerCount=*/WGPU_ARRAY_LAYER_COUNT_UNDEFINED _wgpu_COMMA \
4041
+ /*.aspect=*/WGPUTextureAspect_Undefined _wgpu_COMMA \
4042
+ /*.usage=*/WGPUTextureUsage_None _wgpu_COMMA \
4043
+ })
4044
+
3794
4045
  typedef struct WGPUVertexState {
3795
4046
  WGPUChainedStruct * nextInChain;
3796
4047
  WGPUShaderModule module;
@@ -3914,25 +4165,16 @@ extern "C" {
3914
4165
  #endif
3915
4166
 
3916
4167
  #if !defined(WGPU_SKIP_PROCS)
3917
-
3918
4168
  // TODO(374150686): Remove these Emscripten specific declarations from the
3919
4169
  // header once they are fully deprecated.
3920
- #ifdef __EMSCRIPTEN__
3921
4170
  WGPU_EXPORT WGPUDevice emscripten_webgpu_get_device(void);
3922
- #endif
4171
+ // Global procs
4172
+ typedef WGPUInstance (*WGPUProcCreateInstance)(WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4173
+ typedef void (*WGPUProcGetInstanceFeatures)(WGPUSupportedInstanceFeatures * features) WGPU_FUNCTION_ATTRIBUTE;
4174
+ typedef WGPUStatus (*WGPUProcGetInstanceLimits)(WGPUInstanceLimits * limits) WGPU_FUNCTION_ATTRIBUTE;
4175
+ typedef WGPUBool (*WGPUProcHasInstanceFeature)(WGPUInstanceFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
4176
+ typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUStringView procName) WGPU_FUNCTION_ATTRIBUTE;
3923
4177
 
3924
- typedef void (*WGPUProcAdapterInfoFreeMembers)( WGPUAdapterInfo value) WGPU_FUNCTION_ATTRIBUTE;
3925
- typedef void (*WGPUProcAdapterPropertiesMemoryHeapsFreeMembers)( WGPUAdapterPropertiesMemoryHeaps value) WGPU_FUNCTION_ATTRIBUTE;
3926
- typedef void (*WGPUProcAdapterPropertiesSubgroupMatrixConfigsFreeMembers)( WGPUAdapterPropertiesSubgroupMatrixConfigs value) WGPU_FUNCTION_ATTRIBUTE;
3927
- typedef WGPUInstance (*WGPUProcCreateInstance)( WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
3928
- typedef void (*WGPUProcDawnDrmFormatCapabilitiesFreeMembers)( WGPUDawnDrmFormatCapabilities value) WGPU_FUNCTION_ATTRIBUTE;
3929
- typedef WGPUStatus (*WGPUProcGetInstanceCapabilities)( WGPUInstanceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE;
3930
- typedef WGPUProc (*WGPUProcGetProcAddress)( WGPUStringView procName) WGPU_FUNCTION_ATTRIBUTE;
3931
- typedef void (*WGPUProcSharedBufferMemoryEndAccessStateFreeMembers)( WGPUSharedBufferMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE;
3932
- typedef void (*WGPUProcSharedTextureMemoryEndAccessStateFreeMembers)( WGPUSharedTextureMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE;
3933
- typedef void (*WGPUProcSupportedFeaturesFreeMembers)( WGPUSupportedFeatures value) WGPU_FUNCTION_ATTRIBUTE;
3934
- typedef void (*WGPUProcSupportedWGSLLanguageFeaturesFreeMembers)( WGPUSupportedWGSLLanguageFeatures value) WGPU_FUNCTION_ATTRIBUTE;
3935
- typedef void (*WGPUProcSurfaceCapabilitiesFreeMembers)( WGPUSurfaceCapabilities value) WGPU_FUNCTION_ATTRIBUTE;
3936
4178
 
3937
4179
  // Procs of Adapter
3938
4180
  typedef WGPUDevice (*WGPUProcAdapterCreateDevice)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
@@ -3942,11 +4184,21 @@ typedef WGPUStatus (*WGPUProcAdapterGetInfo)(WGPUAdapter adapter, WGPUAdapterInf
3942
4184
  typedef WGPUInstance (*WGPUProcAdapterGetInstance)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
3943
4185
  typedef WGPUStatus (*WGPUProcAdapterGetLimits)(WGPUAdapter adapter, WGPULimits * limits) WGPU_FUNCTION_ATTRIBUTE;
3944
4186
  typedef WGPUBool (*WGPUProcAdapterHasFeature)(WGPUAdapter adapter, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
3945
- typedef WGPUFuture (*WGPUProcAdapterRequestDevice)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * options, WGPURequestDeviceCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
4187
+ typedef WGPUFuture (*WGPUProcAdapterRequestDevice)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor, WGPURequestDeviceCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
3946
4188
  typedef void (*WGPUProcAdapterAddRef)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
3947
4189
  typedef void (*WGPUProcAdapterRelease)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
3948
4190
 
4191
+ // Procs of AdapterInfo
4192
+ typedef void (*WGPUProcAdapterInfoFreeMembers)(WGPUAdapterInfo adapterInfo) WGPU_FUNCTION_ATTRIBUTE;
4193
+
4194
+ // Procs of AdapterPropertiesMemoryHeaps
4195
+ typedef void (*WGPUProcAdapterPropertiesMemoryHeapsFreeMembers)(WGPUAdapterPropertiesMemoryHeaps adapterPropertiesMemoryHeaps) WGPU_FUNCTION_ATTRIBUTE;
4196
+
4197
+ // Procs of AdapterPropertiesSubgroupMatrixConfigs
4198
+ typedef void (*WGPUProcAdapterPropertiesSubgroupMatrixConfigsFreeMembers)(WGPUAdapterPropertiesSubgroupMatrixConfigs adapterPropertiesSubgroupMatrixConfigs) WGPU_FUNCTION_ATTRIBUTE;
4199
+
3949
4200
  // Procs of BindGroup
4201
+ typedef void (*WGPUProcBindGroupDestroy)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
3950
4202
  typedef void (*WGPUProcBindGroupSetLabel)(WGPUBindGroup bindGroup, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
3951
4203
  typedef void (*WGPUProcBindGroupAddRef)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
3952
4204
  typedef void (*WGPUProcBindGroupRelease)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
@@ -3957,6 +4209,7 @@ typedef void (*WGPUProcBindGroupLayoutAddRef)(WGPUBindGroupLayout bindGroupLayou
3957
4209
  typedef void (*WGPUProcBindGroupLayoutRelease)(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE;
3958
4210
 
3959
4211
  // Procs of Buffer
4212
+ typedef WGPUTexelBufferView (*WGPUProcBufferCreateTexelView)(WGPUBuffer buffer, WGPUTexelBufferViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
3960
4213
  typedef void (*WGPUProcBufferDestroy)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
3961
4214
  typedef void const * (*WGPUProcBufferGetConstMappedRange)(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
3962
4215
  typedef void * (*WGPUProcBufferGetMappedRange)(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
@@ -4017,10 +4270,13 @@ typedef void (*WGPUProcComputePipelineSetLabel)(WGPUComputePipeline computePipel
4017
4270
  typedef void (*WGPUProcComputePipelineAddRef)(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
4018
4271
  typedef void (*WGPUProcComputePipelineRelease)(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
4019
4272
 
4273
+ // Procs of DawnDrmFormatCapabilities
4274
+ typedef void (*WGPUProcDawnDrmFormatCapabilitiesFreeMembers)(WGPUDawnDrmFormatCapabilities dawnDrmFormatCapabilities) WGPU_FUNCTION_ATTRIBUTE;
4275
+
4020
4276
  // Procs of Device
4021
4277
  typedef WGPUBindGroup (*WGPUProcDeviceCreateBindGroup)(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4022
4278
  typedef WGPUBindGroupLayout (*WGPUProcDeviceCreateBindGroupLayout)(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4023
- typedef WGPUBuffer (*WGPUProcDeviceCreateBuffer)(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4279
+ typedef WGPU_NULLABLE WGPUBuffer (*WGPUProcDeviceCreateBuffer)(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4024
4280
  typedef WGPUCommandEncoder (*WGPUProcDeviceCreateCommandEncoder)(WGPUDevice device, WGPU_NULLABLE WGPUCommandEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4025
4281
  typedef WGPUComputePipeline (*WGPUProcDeviceCreateComputePipeline)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4026
4282
  typedef WGPUFuture (*WGPUProcDeviceCreateComputePipelineAsync)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
@@ -4070,11 +4326,11 @@ typedef void (*WGPUProcExternalTextureRelease)(WGPUExternalTexture externalTextu
4070
4326
 
4071
4327
  // Procs of Instance
4072
4328
  typedef WGPUSurface (*WGPUProcInstanceCreateSurface)(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4073
- typedef WGPUStatus (*WGPUProcInstanceGetWGSLLanguageFeatures)(WGPUInstance instance, WGPUSupportedWGSLLanguageFeatures * features) WGPU_FUNCTION_ATTRIBUTE;
4329
+ typedef void (*WGPUProcInstanceGetWGSLLanguageFeatures)(WGPUInstance instance, WGPUSupportedWGSLLanguageFeatures * features) WGPU_FUNCTION_ATTRIBUTE;
4074
4330
  typedef WGPUBool (*WGPUProcInstanceHasWGSLLanguageFeature)(WGPUInstance instance, WGPUWGSLLanguageFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
4075
4331
  typedef void (*WGPUProcInstanceProcessEvents)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
4076
4332
  typedef WGPUFuture (*WGPUProcInstanceRequestAdapter)(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
4077
- typedef WGPUWaitStatus (*WGPUProcInstanceWaitAny)(WGPUInstance instance, size_t futureCount, WGPUFutureWaitInfo * futures, uint64_t timeoutNS) WGPU_FUNCTION_ATTRIBUTE;
4333
+ typedef WGPUWaitStatus (*WGPUProcInstanceWaitAny)(WGPUInstance instance, size_t futureCount, WGPU_NULLABLE WGPUFutureWaitInfo * futures, uint64_t timeoutNS) WGPU_FUNCTION_ATTRIBUTE;
4078
4334
  typedef void (*WGPUProcInstanceAddRef)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
4079
4335
  typedef void (*WGPUProcInstanceRelease)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
4080
4336
 
@@ -4181,6 +4437,9 @@ typedef void (*WGPUProcSharedBufferMemorySetLabel)(WGPUSharedBufferMemory shared
4181
4437
  typedef void (*WGPUProcSharedBufferMemoryAddRef)(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE;
4182
4438
  typedef void (*WGPUProcSharedBufferMemoryRelease)(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE;
4183
4439
 
4440
+ // Procs of SharedBufferMemoryEndAccessState
4441
+ typedef void (*WGPUProcSharedBufferMemoryEndAccessStateFreeMembers)(WGPUSharedBufferMemoryEndAccessState sharedBufferMemoryEndAccessState) WGPU_FUNCTION_ATTRIBUTE;
4442
+
4184
4443
  // Procs of SharedFence
4185
4444
  typedef void (*WGPUProcSharedFenceExportInfo)(WGPUSharedFence sharedFence, WGPUSharedFenceExportInfo * info) WGPU_FUNCTION_ATTRIBUTE;
4186
4445
  typedef void (*WGPUProcSharedFenceAddRef)(WGPUSharedFence sharedFence) WGPU_FUNCTION_ATTRIBUTE;
@@ -4196,16 +4455,36 @@ typedef void (*WGPUProcSharedTextureMemorySetLabel)(WGPUSharedTextureMemory shar
4196
4455
  typedef void (*WGPUProcSharedTextureMemoryAddRef)(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE;
4197
4456
  typedef void (*WGPUProcSharedTextureMemoryRelease)(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE;
4198
4457
 
4458
+ // Procs of SharedTextureMemoryEndAccessState
4459
+ typedef void (*WGPUProcSharedTextureMemoryEndAccessStateFreeMembers)(WGPUSharedTextureMemoryEndAccessState sharedTextureMemoryEndAccessState) WGPU_FUNCTION_ATTRIBUTE;
4460
+
4461
+ // Procs of SupportedFeatures
4462
+ typedef void (*WGPUProcSupportedFeaturesFreeMembers)(WGPUSupportedFeatures supportedFeatures) WGPU_FUNCTION_ATTRIBUTE;
4463
+
4464
+ // Procs of SupportedInstanceFeatures
4465
+ typedef void (*WGPUProcSupportedInstanceFeaturesFreeMembers)(WGPUSupportedInstanceFeatures supportedInstanceFeatures) WGPU_FUNCTION_ATTRIBUTE;
4466
+
4467
+ // Procs of SupportedWGSLLanguageFeatures
4468
+ typedef void (*WGPUProcSupportedWGSLLanguageFeaturesFreeMembers)(WGPUSupportedWGSLLanguageFeatures supportedWGSLLanguageFeatures) WGPU_FUNCTION_ATTRIBUTE;
4469
+
4199
4470
  // Procs of Surface
4200
4471
  typedef void (*WGPUProcSurfaceConfigure)(WGPUSurface surface, WGPUSurfaceConfiguration const * config) WGPU_FUNCTION_ATTRIBUTE;
4201
4472
  typedef WGPUStatus (*WGPUProcSurfaceGetCapabilities)(WGPUSurface surface, WGPUAdapter adapter, WGPUSurfaceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE;
4202
4473
  typedef void (*WGPUProcSurfaceGetCurrentTexture)(WGPUSurface surface, WGPUSurfaceTexture * surfaceTexture) WGPU_FUNCTION_ATTRIBUTE;
4203
- typedef void (*WGPUProcSurfacePresent)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4474
+ typedef WGPUStatus (*WGPUProcSurfacePresent)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4204
4475
  typedef void (*WGPUProcSurfaceSetLabel)(WGPUSurface surface, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4205
4476
  typedef void (*WGPUProcSurfaceUnconfigure)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4206
4477
  typedef void (*WGPUProcSurfaceAddRef)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4207
4478
  typedef void (*WGPUProcSurfaceRelease)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4208
4479
 
4480
+ // Procs of SurfaceCapabilities
4481
+ typedef void (*WGPUProcSurfaceCapabilitiesFreeMembers)(WGPUSurfaceCapabilities surfaceCapabilities) WGPU_FUNCTION_ATTRIBUTE;
4482
+
4483
+ // Procs of TexelBufferView
4484
+ typedef void (*WGPUProcTexelBufferViewSetLabel)(WGPUTexelBufferView texelBufferView, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4485
+ typedef void (*WGPUProcTexelBufferViewAddRef)(WGPUTexelBufferView texelBufferView) WGPU_FUNCTION_ATTRIBUTE;
4486
+ typedef void (*WGPUProcTexelBufferViewRelease)(WGPUTexelBufferView texelBufferView) WGPU_FUNCTION_ATTRIBUTE;
4487
+
4209
4488
  // Procs of Texture
4210
4489
  typedef WGPUTextureView (*WGPUProcTextureCreateErrorView)(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4211
4490
  typedef WGPUTextureView (*WGPUProcTextureCreateView)(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
@@ -4218,7 +4497,9 @@ typedef uint32_t (*WGPUProcTextureGetMipLevelCount)(WGPUTexture texture) WGPU_FU
4218
4497
  typedef uint32_t (*WGPUProcTextureGetSampleCount)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4219
4498
  typedef WGPUTextureUsage (*WGPUProcTextureGetUsage)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4220
4499
  typedef uint32_t (*WGPUProcTextureGetWidth)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4500
+ typedef void (*WGPUProcTexturePin)(WGPUTexture texture, WGPUTextureUsage usage) WGPU_FUNCTION_ATTRIBUTE;
4221
4501
  typedef void (*WGPUProcTextureSetLabel)(WGPUTexture texture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4502
+ typedef void (*WGPUProcTextureUnpin)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4222
4503
  typedef void (*WGPUProcTextureAddRef)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4223
4504
  typedef void (*WGPUProcTextureRelease)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4224
4505
 
@@ -4227,23 +4508,14 @@ typedef void (*WGPUProcTextureViewSetLabel)(WGPUTextureView textureView, WGPUStr
4227
4508
  typedef void (*WGPUProcTextureViewAddRef)(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
4228
4509
  typedef void (*WGPUProcTextureViewRelease)(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
4229
4510
 
4230
-
4231
4511
  #endif // !defined(WGPU_SKIP_PROCS)
4232
4512
 
4233
4513
  #if !defined(WGPU_SKIP_DECLARATIONS)
4234
-
4235
- WGPU_EXPORT void wgpuAdapterInfoFreeMembers(WGPUAdapterInfo value) WGPU_FUNCTION_ATTRIBUTE;
4236
- WGPU_EXPORT void wgpuAdapterPropertiesMemoryHeapsFreeMembers(WGPUAdapterPropertiesMemoryHeaps value) WGPU_FUNCTION_ATTRIBUTE;
4237
- WGPU_EXPORT void wgpuAdapterPropertiesSubgroupMatrixConfigsFreeMembers(WGPUAdapterPropertiesSubgroupMatrixConfigs value) WGPU_FUNCTION_ATTRIBUTE;
4238
4514
  WGPU_EXPORT WGPUInstance wgpuCreateInstance(WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4239
- WGPU_EXPORT void wgpuDawnDrmFormatCapabilitiesFreeMembers(WGPUDawnDrmFormatCapabilities value) WGPU_FUNCTION_ATTRIBUTE;
4240
- WGPU_EXPORT WGPUStatus wgpuGetInstanceCapabilities(WGPUInstanceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE;
4515
+ WGPU_EXPORT void wgpuGetInstanceFeatures(WGPUSupportedInstanceFeatures * features) WGPU_FUNCTION_ATTRIBUTE;
4516
+ WGPU_EXPORT WGPUStatus wgpuGetInstanceLimits(WGPUInstanceLimits * limits) WGPU_FUNCTION_ATTRIBUTE;
4517
+ WGPU_EXPORT WGPUBool wgpuHasInstanceFeature(WGPUInstanceFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
4241
4518
  WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUStringView procName) WGPU_FUNCTION_ATTRIBUTE;
4242
- WGPU_EXPORT void wgpuSharedBufferMemoryEndAccessStateFreeMembers(WGPUSharedBufferMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE;
4243
- WGPU_EXPORT void wgpuSharedTextureMemoryEndAccessStateFreeMembers(WGPUSharedTextureMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE;
4244
- WGPU_EXPORT void wgpuSupportedFeaturesFreeMembers(WGPUSupportedFeatures value) WGPU_FUNCTION_ATTRIBUTE;
4245
- WGPU_EXPORT void wgpuSupportedWGSLLanguageFeaturesFreeMembers(WGPUSupportedWGSLLanguageFeatures value) WGPU_FUNCTION_ATTRIBUTE;
4246
- WGPU_EXPORT void wgpuSurfaceCapabilitiesFreeMembers(WGPUSurfaceCapabilities value) WGPU_FUNCTION_ATTRIBUTE;
4247
4519
 
4248
4520
  // Methods of Adapter
4249
4521
  WGPU_EXPORT WGPUDevice wgpuAdapterCreateDevice(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
@@ -4253,11 +4525,21 @@ WGPU_EXPORT WGPUStatus wgpuAdapterGetInfo(WGPUAdapter adapter, WGPUAdapterInfo *
4253
4525
  WGPU_EXPORT WGPUInstance wgpuAdapterGetInstance(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
4254
4526
  WGPU_EXPORT WGPUStatus wgpuAdapterGetLimits(WGPUAdapter adapter, WGPULimits * limits) WGPU_FUNCTION_ATTRIBUTE;
4255
4527
  WGPU_EXPORT WGPUBool wgpuAdapterHasFeature(WGPUAdapter adapter, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
4256
- WGPU_EXPORT WGPUFuture wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * options, WGPURequestDeviceCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
4528
+ WGPU_EXPORT WGPUFuture wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor, WGPURequestDeviceCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
4257
4529
  WGPU_EXPORT void wgpuAdapterAddRef(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
4258
4530
  WGPU_EXPORT void wgpuAdapterRelease(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE;
4259
4531
 
4532
+ // Methods of AdapterInfo
4533
+ WGPU_EXPORT void wgpuAdapterInfoFreeMembers(WGPUAdapterInfo adapterInfo) WGPU_FUNCTION_ATTRIBUTE;
4534
+
4535
+ // Methods of AdapterPropertiesMemoryHeaps
4536
+ WGPU_EXPORT void wgpuAdapterPropertiesMemoryHeapsFreeMembers(WGPUAdapterPropertiesMemoryHeaps adapterPropertiesMemoryHeaps) WGPU_FUNCTION_ATTRIBUTE;
4537
+
4538
+ // Methods of AdapterPropertiesSubgroupMatrixConfigs
4539
+ WGPU_EXPORT void wgpuAdapterPropertiesSubgroupMatrixConfigsFreeMembers(WGPUAdapterPropertiesSubgroupMatrixConfigs adapterPropertiesSubgroupMatrixConfigs) WGPU_FUNCTION_ATTRIBUTE;
4540
+
4260
4541
  // Methods of BindGroup
4542
+ WGPU_EXPORT void wgpuBindGroupDestroy(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
4261
4543
  WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4262
4544
  WGPU_EXPORT void wgpuBindGroupAddRef(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
4263
4545
  WGPU_EXPORT void wgpuBindGroupRelease(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE;
@@ -4268,6 +4550,7 @@ WGPU_EXPORT void wgpuBindGroupLayoutAddRef(WGPUBindGroupLayout bindGroupLayout)
4268
4550
  WGPU_EXPORT void wgpuBindGroupLayoutRelease(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE;
4269
4551
 
4270
4552
  // Methods of Buffer
4553
+ WGPU_EXPORT WGPUTexelBufferView wgpuBufferCreateTexelView(WGPUBuffer buffer, WGPUTexelBufferViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4271
4554
  WGPU_EXPORT void wgpuBufferDestroy(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE;
4272
4555
  WGPU_EXPORT void const * wgpuBufferGetConstMappedRange(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
4273
4556
  WGPU_EXPORT void * wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE;
@@ -4328,10 +4611,13 @@ WGPU_EXPORT void wgpuComputePipelineSetLabel(WGPUComputePipeline computePipeline
4328
4611
  WGPU_EXPORT void wgpuComputePipelineAddRef(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
4329
4612
  WGPU_EXPORT void wgpuComputePipelineRelease(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE;
4330
4613
 
4614
+ // Methods of DawnDrmFormatCapabilities
4615
+ WGPU_EXPORT void wgpuDawnDrmFormatCapabilitiesFreeMembers(WGPUDawnDrmFormatCapabilities dawnDrmFormatCapabilities) WGPU_FUNCTION_ATTRIBUTE;
4616
+
4331
4617
  // Methods of Device
4332
4618
  WGPU_EXPORT WGPUBindGroup wgpuDeviceCreateBindGroup(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4333
4619
  WGPU_EXPORT WGPUBindGroupLayout wgpuDeviceCreateBindGroupLayout(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4334
- WGPU_EXPORT WGPUBuffer wgpuDeviceCreateBuffer(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4620
+ WGPU_EXPORT WGPU_NULLABLE WGPUBuffer wgpuDeviceCreateBuffer(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4335
4621
  WGPU_EXPORT WGPUCommandEncoder wgpuDeviceCreateCommandEncoder(WGPUDevice device, WGPU_NULLABLE WGPUCommandEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4336
4622
  WGPU_EXPORT WGPUComputePipeline wgpuDeviceCreateComputePipeline(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4337
4623
  WGPU_EXPORT WGPUFuture wgpuDeviceCreateComputePipelineAsync(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
@@ -4381,11 +4667,11 @@ WGPU_EXPORT void wgpuExternalTextureRelease(WGPUExternalTexture externalTexture)
4381
4667
 
4382
4668
  // Methods of Instance
4383
4669
  WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4384
- WGPU_EXPORT WGPUStatus wgpuInstanceGetWGSLLanguageFeatures(WGPUInstance instance, WGPUSupportedWGSLLanguageFeatures * features) WGPU_FUNCTION_ATTRIBUTE;
4670
+ WGPU_EXPORT void wgpuInstanceGetWGSLLanguageFeatures(WGPUInstance instance, WGPUSupportedWGSLLanguageFeatures * features) WGPU_FUNCTION_ATTRIBUTE;
4385
4671
  WGPU_EXPORT WGPUBool wgpuInstanceHasWGSLLanguageFeature(WGPUInstance instance, WGPUWGSLLanguageFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;
4386
4672
  WGPU_EXPORT void wgpuInstanceProcessEvents(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
4387
4673
  WGPU_EXPORT WGPUFuture wgpuInstanceRequestAdapter(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE;
4388
- WGPU_EXPORT WGPUWaitStatus wgpuInstanceWaitAny(WGPUInstance instance, size_t futureCount, WGPUFutureWaitInfo * futures, uint64_t timeoutNS) WGPU_FUNCTION_ATTRIBUTE;
4674
+ WGPU_EXPORT WGPUWaitStatus wgpuInstanceWaitAny(WGPUInstance instance, size_t futureCount, WGPU_NULLABLE WGPUFutureWaitInfo * futures, uint64_t timeoutNS) WGPU_FUNCTION_ATTRIBUTE;
4389
4675
  WGPU_EXPORT void wgpuInstanceAddRef(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
4390
4676
  WGPU_EXPORT void wgpuInstanceRelease(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE;
4391
4677
 
@@ -4492,6 +4778,9 @@ WGPU_EXPORT void wgpuSharedBufferMemorySetLabel(WGPUSharedBufferMemory sharedBuf
4492
4778
  WGPU_EXPORT void wgpuSharedBufferMemoryAddRef(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE;
4493
4779
  WGPU_EXPORT void wgpuSharedBufferMemoryRelease(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE;
4494
4780
 
4781
+ // Methods of SharedBufferMemoryEndAccessState
4782
+ WGPU_EXPORT void wgpuSharedBufferMemoryEndAccessStateFreeMembers(WGPUSharedBufferMemoryEndAccessState sharedBufferMemoryEndAccessState) WGPU_FUNCTION_ATTRIBUTE;
4783
+
4495
4784
  // Methods of SharedFence
4496
4785
  WGPU_EXPORT void wgpuSharedFenceExportInfo(WGPUSharedFence sharedFence, WGPUSharedFenceExportInfo * info) WGPU_FUNCTION_ATTRIBUTE;
4497
4786
  WGPU_EXPORT void wgpuSharedFenceAddRef(WGPUSharedFence sharedFence) WGPU_FUNCTION_ATTRIBUTE;
@@ -4507,16 +4796,36 @@ WGPU_EXPORT void wgpuSharedTextureMemorySetLabel(WGPUSharedTextureMemory sharedT
4507
4796
  WGPU_EXPORT void wgpuSharedTextureMemoryAddRef(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE;
4508
4797
  WGPU_EXPORT void wgpuSharedTextureMemoryRelease(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE;
4509
4798
 
4799
+ // Methods of SharedTextureMemoryEndAccessState
4800
+ WGPU_EXPORT void wgpuSharedTextureMemoryEndAccessStateFreeMembers(WGPUSharedTextureMemoryEndAccessState sharedTextureMemoryEndAccessState) WGPU_FUNCTION_ATTRIBUTE;
4801
+
4802
+ // Methods of SupportedFeatures
4803
+ WGPU_EXPORT void wgpuSupportedFeaturesFreeMembers(WGPUSupportedFeatures supportedFeatures) WGPU_FUNCTION_ATTRIBUTE;
4804
+
4805
+ // Methods of SupportedInstanceFeatures
4806
+ WGPU_EXPORT void wgpuSupportedInstanceFeaturesFreeMembers(WGPUSupportedInstanceFeatures supportedInstanceFeatures) WGPU_FUNCTION_ATTRIBUTE;
4807
+
4808
+ // Methods of SupportedWGSLLanguageFeatures
4809
+ WGPU_EXPORT void wgpuSupportedWGSLLanguageFeaturesFreeMembers(WGPUSupportedWGSLLanguageFeatures supportedWGSLLanguageFeatures) WGPU_FUNCTION_ATTRIBUTE;
4810
+
4510
4811
  // Methods of Surface
4511
4812
  WGPU_EXPORT void wgpuSurfaceConfigure(WGPUSurface surface, WGPUSurfaceConfiguration const * config) WGPU_FUNCTION_ATTRIBUTE;
4512
4813
  WGPU_EXPORT WGPUStatus wgpuSurfaceGetCapabilities(WGPUSurface surface, WGPUAdapter adapter, WGPUSurfaceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE;
4513
4814
  WGPU_EXPORT void wgpuSurfaceGetCurrentTexture(WGPUSurface surface, WGPUSurfaceTexture * surfaceTexture) WGPU_FUNCTION_ATTRIBUTE;
4514
- WGPU_EXPORT void wgpuSurfacePresent(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4815
+ WGPU_EXPORT WGPUStatus wgpuSurfacePresent(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4515
4816
  WGPU_EXPORT void wgpuSurfaceSetLabel(WGPUSurface surface, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4516
4817
  WGPU_EXPORT void wgpuSurfaceUnconfigure(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4517
4818
  WGPU_EXPORT void wgpuSurfaceAddRef(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4518
4819
  WGPU_EXPORT void wgpuSurfaceRelease(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE;
4519
4820
 
4821
+ // Methods of SurfaceCapabilities
4822
+ WGPU_EXPORT void wgpuSurfaceCapabilitiesFreeMembers(WGPUSurfaceCapabilities surfaceCapabilities) WGPU_FUNCTION_ATTRIBUTE;
4823
+
4824
+ // Methods of TexelBufferView
4825
+ WGPU_EXPORT void wgpuTexelBufferViewSetLabel(WGPUTexelBufferView texelBufferView, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4826
+ WGPU_EXPORT void wgpuTexelBufferViewAddRef(WGPUTexelBufferView texelBufferView) WGPU_FUNCTION_ATTRIBUTE;
4827
+ WGPU_EXPORT void wgpuTexelBufferViewRelease(WGPUTexelBufferView texelBufferView) WGPU_FUNCTION_ATTRIBUTE;
4828
+
4520
4829
  // Methods of Texture
4521
4830
  WGPU_EXPORT WGPUTextureView wgpuTextureCreateErrorView(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
4522
4831
  WGPU_EXPORT WGPUTextureView wgpuTextureCreateView(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE;
@@ -4529,7 +4838,9 @@ WGPU_EXPORT uint32_t wgpuTextureGetMipLevelCount(WGPUTexture texture) WGPU_FUNCT
4529
4838
  WGPU_EXPORT uint32_t wgpuTextureGetSampleCount(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4530
4839
  WGPU_EXPORT WGPUTextureUsage wgpuTextureGetUsage(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4531
4840
  WGPU_EXPORT uint32_t wgpuTextureGetWidth(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4841
+ WGPU_EXPORT void wgpuTexturePin(WGPUTexture texture, WGPUTextureUsage usage) WGPU_FUNCTION_ATTRIBUTE;
4532
4842
  WGPU_EXPORT void wgpuTextureSetLabel(WGPUTexture texture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4843
+ WGPU_EXPORT void wgpuTextureUnpin(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4533
4844
  WGPU_EXPORT void wgpuTextureAddRef(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4534
4845
  WGPU_EXPORT void wgpuTextureRelease(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE;
4535
4846
 
@@ -4538,7 +4849,6 @@ WGPU_EXPORT void wgpuTextureViewSetLabel(WGPUTextureView textureView, WGPUString
4538
4849
  WGPU_EXPORT void wgpuTextureViewAddRef(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
4539
4850
  WGPU_EXPORT void wgpuTextureViewRelease(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE;
4540
4851
 
4541
-
4542
4852
  #endif // !defined(WGPU_SKIP_DECLARATIONS)
4543
4853
 
4544
4854
  #ifdef __cplusplus