react-native-wgpu 0.1.22 → 0.2.0

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 (49) hide show
  1. package/cpp/dawn/dawn_proc_table.h +17 -25
  2. package/cpp/dawn/native/D3D11Backend.h +7 -0
  3. package/cpp/dawn/native/DawnNative.h +70 -26
  4. package/cpp/dawn/native/WebGPUBackend.h +35 -0
  5. package/cpp/dawn/platform/DawnPlatform.h +1 -0
  6. package/cpp/dawn/webgpu_cpp_print.h +338 -293
  7. package/cpp/dawn_logging.cpp +122 -0
  8. package/cpp/rnwgpu/SurfaceRegistry.h +3 -2
  9. package/cpp/rnwgpu/api/Convertors.h +38 -42
  10. package/cpp/rnwgpu/api/GPU.cpp +20 -18
  11. package/cpp/rnwgpu/api/GPU.h +6 -2
  12. package/cpp/rnwgpu/api/GPUAdapter.cpp +49 -40
  13. package/cpp/rnwgpu/api/GPUBuffer.cpp +21 -19
  14. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +1 -0
  15. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +6 -6
  16. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -9
  17. package/cpp/rnwgpu/api/GPUDevice.cpp +7 -10
  18. package/cpp/rnwgpu/api/GPUFeatures.h +5 -14
  19. package/cpp/rnwgpu/api/GPUQueue.cpp +4 -4
  20. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -3
  21. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +31 -35
  22. package/cpp/rnwgpu/api/GPUSupportedLimits.h +3 -7
  23. package/cpp/rnwgpu/api/descriptors/Unions.h +257 -4
  24. package/cpp/webgpu/webgpu.h +2197 -1863
  25. package/cpp/webgpu/webgpu_cpp.h +2800 -2479
  26. package/cpp/webgpu/webgpu_cpp_print.h +33 -0
  27. package/cpp/webgpu/webgpu_glfw.h +17 -0
  28. package/lib/typescript/src/__tests__/components/meshes/mesh.d.ts.map +1 -1
  29. package/lib/typescript/src/__tests__/setup.d.ts.map +1 -1
  30. package/lib/typescript/src/hooks.d.ts.map +1 -1
  31. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  32. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  33. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  34. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  35. package/libs/apple/arm64_iphoneos/libwebgpu_dawn.a +0 -0
  36. package/libs/apple/arm64_iphonesimulator/libwebgpu_dawn.a +0 -0
  37. package/libs/apple/arm64_xros/libwebgpu_dawn.a +0 -0
  38. package/libs/apple/arm64_xrsimulator/libwebgpu_dawn.a +0 -0
  39. package/libs/apple/iphonesimulator/libwebgpu_dawn.a +0 -0
  40. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +11 -11
  41. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  42. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  43. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  44. package/libs/apple/libwebgpu_dawn.xcframework/xros-arm64/libwebgpu_dawn.a +0 -0
  45. package/libs/apple/libwebgpu_dawn.xcframework/xros-arm64-simulator/libwebgpu_dawn.a +0 -0
  46. package/libs/apple/universal_macosx/libwebgpu_dawn.a +0 -0
  47. package/libs/apple/x86_64_iphonesimulator/libwebgpu_dawn.a +0 -0
  48. package/libs/dawn.json +659 -798
  49. package/package.json +4 -4
@@ -37,41 +37,6 @@
37
37
 
38
38
  namespace wgpu {
39
39
 
40
- template <typename CharT, typename Traits>
41
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, WGSLFeatureName value) {
42
- switch (value) {
43
- case WGSLFeatureName::ReadonlyAndReadwriteStorageTextures:
44
- o << "WGSLFeatureName::ReadonlyAndReadwriteStorageTextures";
45
- break;
46
- case WGSLFeatureName::Packed4x8IntegerDotProduct:
47
- o << "WGSLFeatureName::Packed4x8IntegerDotProduct";
48
- break;
49
- case WGSLFeatureName::UnrestrictedPointerParameters:
50
- o << "WGSLFeatureName::UnrestrictedPointerParameters";
51
- break;
52
- case WGSLFeatureName::PointerCompositeAccess:
53
- o << "WGSLFeatureName::PointerCompositeAccess";
54
- break;
55
- case WGSLFeatureName::ChromiumTestingUnimplemented:
56
- o << "WGSLFeatureName::ChromiumTestingUnimplemented";
57
- break;
58
- case WGSLFeatureName::ChromiumTestingUnsafeExperimental:
59
- o << "WGSLFeatureName::ChromiumTestingUnsafeExperimental";
60
- break;
61
- case WGSLFeatureName::ChromiumTestingExperimental:
62
- o << "WGSLFeatureName::ChromiumTestingExperimental";
63
- break;
64
- case WGSLFeatureName::ChromiumTestingShippedWithKillswitch:
65
- o << "WGSLFeatureName::ChromiumTestingShippedWithKillswitch";
66
- break;
67
- case WGSLFeatureName::ChromiumTestingShipped:
68
- o << "WGSLFeatureName::ChromiumTestingShipped";
69
- break;
70
- default:
71
- o << "WGSLFeatureName::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<WGSLFeatureName>::type>(value);
72
- }
73
- return o;
74
- }
75
40
  template <typename CharT, typename Traits>
76
41
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, AdapterType value) {
77
42
  switch (value) {
@@ -255,6 +220,9 @@ namespace wgpu {
255
220
  template <typename CharT, typename Traits>
256
221
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, BufferBindingType value) {
257
222
  switch (value) {
223
+ case BufferBindingType::BindingNotUsed:
224
+ o << "BufferBindingType::BindingNotUsed";
225
+ break;
258
226
  case BufferBindingType::Undefined:
259
227
  o << "BufferBindingType::Undefined";
260
228
  break;
@@ -273,44 +241,6 @@ namespace wgpu {
273
241
  return o;
274
242
  }
275
243
  template <typename CharT, typename Traits>
276
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, BufferMapAsyncStatus value) {
277
- switch (value) {
278
- case BufferMapAsyncStatus::Success:
279
- o << "BufferMapAsyncStatus::Success";
280
- break;
281
- case BufferMapAsyncStatus::InstanceDropped:
282
- o << "BufferMapAsyncStatus::InstanceDropped";
283
- break;
284
- case BufferMapAsyncStatus::ValidationError:
285
- o << "BufferMapAsyncStatus::ValidationError";
286
- break;
287
- case BufferMapAsyncStatus::Unknown:
288
- o << "BufferMapAsyncStatus::Unknown";
289
- break;
290
- case BufferMapAsyncStatus::DeviceLost:
291
- o << "BufferMapAsyncStatus::DeviceLost";
292
- break;
293
- case BufferMapAsyncStatus::DestroyedBeforeCallback:
294
- o << "BufferMapAsyncStatus::DestroyedBeforeCallback";
295
- break;
296
- case BufferMapAsyncStatus::UnmappedBeforeCallback:
297
- o << "BufferMapAsyncStatus::UnmappedBeforeCallback";
298
- break;
299
- case BufferMapAsyncStatus::MappingAlreadyPending:
300
- o << "BufferMapAsyncStatus::MappingAlreadyPending";
301
- break;
302
- case BufferMapAsyncStatus::OffsetOutOfRange:
303
- o << "BufferMapAsyncStatus::OffsetOutOfRange";
304
- break;
305
- case BufferMapAsyncStatus::SizeOutOfRange:
306
- o << "BufferMapAsyncStatus::SizeOutOfRange";
307
- break;
308
- default:
309
- o << "BufferMapAsyncStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<BufferMapAsyncStatus>::type>(value);
310
- }
311
- return o;
312
- }
313
- template <typename CharT, typename Traits>
314
244
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, BufferMapState value) {
315
245
  switch (value) {
316
246
  case BufferMapState::Unmapped:
@@ -385,17 +315,8 @@ namespace wgpu {
385
315
  case CompilationInfoRequestStatus::Success:
386
316
  o << "CompilationInfoRequestStatus::Success";
387
317
  break;
388
- case CompilationInfoRequestStatus::InstanceDropped:
389
- o << "CompilationInfoRequestStatus::InstanceDropped";
390
- break;
391
- case CompilationInfoRequestStatus::Error:
392
- o << "CompilationInfoRequestStatus::Error";
393
- break;
394
- case CompilationInfoRequestStatus::DeviceLost:
395
- o << "CompilationInfoRequestStatus::DeviceLost";
396
- break;
397
- case CompilationInfoRequestStatus::Unknown:
398
- o << "CompilationInfoRequestStatus::Unknown";
318
+ case CompilationInfoRequestStatus::CallbackCancelled:
319
+ o << "CompilationInfoRequestStatus::CallbackCancelled";
399
320
  break;
400
321
  default:
401
322
  o << "CompilationInfoRequestStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<CompilationInfoRequestStatus>::type>(value);
@@ -448,23 +369,14 @@ namespace wgpu {
448
369
  case CreatePipelineAsyncStatus::Success:
449
370
  o << "CreatePipelineAsyncStatus::Success";
450
371
  break;
451
- case CreatePipelineAsyncStatus::InstanceDropped:
452
- o << "CreatePipelineAsyncStatus::InstanceDropped";
372
+ case CreatePipelineAsyncStatus::CallbackCancelled:
373
+ o << "CreatePipelineAsyncStatus::CallbackCancelled";
453
374
  break;
454
375
  case CreatePipelineAsyncStatus::ValidationError:
455
376
  o << "CreatePipelineAsyncStatus::ValidationError";
456
377
  break;
457
378
  case CreatePipelineAsyncStatus::InternalError:
458
379
  o << "CreatePipelineAsyncStatus::InternalError";
459
- break;
460
- case CreatePipelineAsyncStatus::DeviceLost:
461
- o << "CreatePipelineAsyncStatus::DeviceLost";
462
- break;
463
- case CreatePipelineAsyncStatus::DeviceDestroyed:
464
- o << "CreatePipelineAsyncStatus::DeviceDestroyed";
465
- break;
466
- case CreatePipelineAsyncStatus::Unknown:
467
- o << "CreatePipelineAsyncStatus::Unknown";
468
380
  break;
469
381
  default:
470
382
  o << "CreatePipelineAsyncStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<CreatePipelineAsyncStatus>::type>(value);
@@ -500,8 +412,8 @@ namespace wgpu {
500
412
  case DeviceLostReason::Destroyed:
501
413
  o << "DeviceLostReason::Destroyed";
502
414
  break;
503
- case DeviceLostReason::InstanceDropped:
504
- o << "DeviceLostReason::InstanceDropped";
415
+ case DeviceLostReason::CallbackCancelled:
416
+ o << "DeviceLostReason::CallbackCancelled";
505
417
  break;
506
418
  case DeviceLostReason::FailedCreation:
507
419
  o << "DeviceLostReason::FailedCreation";
@@ -545,9 +457,6 @@ namespace wgpu {
545
457
  break;
546
458
  case ErrorType::Unknown:
547
459
  o << "ErrorType::Unknown";
548
- break;
549
- case ErrorType::DeviceLost:
550
- o << "ErrorType::DeviceLost";
551
460
  break;
552
461
  default:
553
462
  o << "ErrorType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<ErrorType>::type>(value);
@@ -575,6 +484,23 @@ namespace wgpu {
575
484
  return o;
576
485
  }
577
486
  template <typename CharT, typename Traits>
487
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, FeatureLevel value) {
488
+ switch (value) {
489
+ case FeatureLevel::Undefined:
490
+ o << "FeatureLevel::Undefined";
491
+ break;
492
+ case FeatureLevel::Compatibility:
493
+ o << "FeatureLevel::Compatibility";
494
+ break;
495
+ case FeatureLevel::Core:
496
+ o << "FeatureLevel::Core";
497
+ break;
498
+ default:
499
+ o << "FeatureLevel::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<FeatureLevel>::type>(value);
500
+ }
501
+ return o;
502
+ }
503
+ template <typename CharT, typename Traits>
578
504
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, FeatureName value) {
579
505
  switch (value) {
580
506
  case FeatureName::DepthClipControl:
@@ -589,12 +515,18 @@ namespace wgpu {
589
515
  case FeatureName::TextureCompressionBC:
590
516
  o << "FeatureName::TextureCompressionBC";
591
517
  break;
518
+ case FeatureName::TextureCompressionBCSliced3D:
519
+ o << "FeatureName::TextureCompressionBCSliced3D";
520
+ break;
592
521
  case FeatureName::TextureCompressionETC2:
593
522
  o << "FeatureName::TextureCompressionETC2";
594
523
  break;
595
524
  case FeatureName::TextureCompressionASTC:
596
525
  o << "FeatureName::TextureCompressionASTC";
597
526
  break;
527
+ case FeatureName::TextureCompressionASTCSliced3D:
528
+ o << "FeatureName::TextureCompressionASTCSliced3D";
529
+ break;
598
530
  case FeatureName::IndirectFirstInstance:
599
531
  o << "FeatureName::IndirectFirstInstance";
600
532
  break;
@@ -613,11 +545,17 @@ namespace wgpu {
613
545
  case FeatureName::Float32Blendable:
614
546
  o << "FeatureName::Float32Blendable";
615
547
  break;
548
+ case FeatureName::ClipDistances:
549
+ o << "FeatureName::ClipDistances";
550
+ break;
551
+ case FeatureName::DualSourceBlending:
552
+ o << "FeatureName::DualSourceBlending";
553
+ break;
616
554
  case FeatureName::Subgroups:
617
555
  o << "FeatureName::Subgroups";
618
556
  break;
619
- case FeatureName::SubgroupsF16:
620
- o << "FeatureName::SubgroupsF16";
557
+ case FeatureName::CoreFeaturesAndLimits:
558
+ o << "FeatureName::CoreFeaturesAndLimits";
621
559
  break;
622
560
  case FeatureName::DawnInternalUsages:
623
561
  o << "FeatureName::DawnInternalUsages";
@@ -634,30 +572,18 @@ namespace wgpu {
634
572
  case FeatureName::ImplicitDeviceSynchronization:
635
573
  o << "FeatureName::ImplicitDeviceSynchronization";
636
574
  break;
637
- case FeatureName::ChromiumExperimentalImmediateData:
638
- o << "FeatureName::ChromiumExperimentalImmediateData";
639
- break;
640
575
  case FeatureName::TransientAttachments:
641
576
  o << "FeatureName::TransientAttachments";
642
577
  break;
643
578
  case FeatureName::MSAARenderToSingleSampled:
644
579
  o << "FeatureName::MSAARenderToSingleSampled";
645
580
  break;
646
- case FeatureName::DualSourceBlending:
647
- o << "FeatureName::DualSourceBlending";
648
- break;
649
581
  case FeatureName::D3D11MultithreadProtected:
650
582
  o << "FeatureName::D3D11MultithreadProtected";
651
583
  break;
652
584
  case FeatureName::ANGLETextureSharing:
653
585
  o << "FeatureName::ANGLETextureSharing";
654
586
  break;
655
- case FeatureName::ChromiumExperimentalSubgroups:
656
- o << "FeatureName::ChromiumExperimentalSubgroups";
657
- break;
658
- case FeatureName::ChromiumExperimentalSubgroupUniformControlFlow:
659
- o << "FeatureName::ChromiumExperimentalSubgroupUniformControlFlow";
660
- break;
661
587
  case FeatureName::PixelLocalStorageCoherent:
662
588
  o << "FeatureName::PixelLocalStorageCoherent";
663
589
  break;
@@ -703,11 +629,11 @@ namespace wgpu {
703
629
  case FeatureName::R8UnormStorage:
704
630
  o << "FeatureName::R8UnormStorage";
705
631
  break;
706
- case FeatureName::FormatCapabilities:
707
- o << "FeatureName::FormatCapabilities";
632
+ case FeatureName::DawnFormatCapabilities:
633
+ o << "FeatureName::DawnFormatCapabilities";
708
634
  break;
709
- case FeatureName::DrmFormatCapabilities:
710
- o << "FeatureName::DrmFormatCapabilities";
635
+ case FeatureName::DawnDrmFormatCapabilities:
636
+ o << "FeatureName::DawnDrmFormatCapabilities";
711
637
  break;
712
638
  case FeatureName::Norm16TextureFormats:
713
639
  o << "FeatureName::Norm16TextureFormats";
@@ -754,8 +680,8 @@ namespace wgpu {
754
680
  case FeatureName::SharedFenceVkSemaphoreOpaqueFD:
755
681
  o << "FeatureName::SharedFenceVkSemaphoreOpaqueFD";
756
682
  break;
757
- case FeatureName::SharedFenceVkSemaphoreSyncFD:
758
- o << "FeatureName::SharedFenceVkSemaphoreSyncFD";
683
+ case FeatureName::SharedFenceSyncFD:
684
+ o << "FeatureName::SharedFenceSyncFD";
759
685
  break;
760
686
  case FeatureName::SharedFenceVkSemaphoreZirconHandle:
761
687
  o << "FeatureName::SharedFenceVkSemaphoreZirconHandle";
@@ -787,8 +713,20 @@ namespace wgpu {
787
713
  case FeatureName::MultiDrawIndirect:
788
714
  o << "FeatureName::MultiDrawIndirect";
789
715
  break;
790
- case FeatureName::ClipDistances:
791
- o << "FeatureName::ClipDistances";
716
+ case FeatureName::DawnTexelCopyBufferRowAlignment:
717
+ o << "FeatureName::DawnTexelCopyBufferRowAlignment";
718
+ break;
719
+ case FeatureName::FlexibleTextureViews:
720
+ o << "FeatureName::FlexibleTextureViews";
721
+ break;
722
+ case FeatureName::ChromiumExperimentalSubgroupMatrix:
723
+ o << "FeatureName::ChromiumExperimentalSubgroupMatrix";
724
+ break;
725
+ case FeatureName::SharedFenceEGLSync:
726
+ o << "FeatureName::SharedFenceEGLSync";
727
+ break;
728
+ case FeatureName::DawnDeviceAllocatorControl:
729
+ o << "FeatureName::DawnDeviceAllocatorControl";
792
730
  break;
793
731
  default:
794
732
  o << "FeatureName::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<FeatureName>::type>(value);
@@ -892,17 +830,14 @@ namespace wgpu {
892
830
  case MapAsyncStatus::Success:
893
831
  o << "MapAsyncStatus::Success";
894
832
  break;
895
- case MapAsyncStatus::InstanceDropped:
896
- o << "MapAsyncStatus::InstanceDropped";
833
+ case MapAsyncStatus::CallbackCancelled:
834
+ o << "MapAsyncStatus::CallbackCancelled";
897
835
  break;
898
836
  case MapAsyncStatus::Error:
899
837
  o << "MapAsyncStatus::Error";
900
838
  break;
901
839
  case MapAsyncStatus::Aborted:
902
840
  o << "MapAsyncStatus::Aborted";
903
- break;
904
- case MapAsyncStatus::Unknown:
905
- o << "MapAsyncStatus::Unknown";
906
841
  break;
907
842
  default:
908
843
  o << "MapAsyncStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<MapAsyncStatus>::type>(value);
@@ -932,8 +867,11 @@ namespace wgpu {
932
867
  case PopErrorScopeStatus::Success:
933
868
  o << "PopErrorScopeStatus::Success";
934
869
  break;
935
- case PopErrorScopeStatus::InstanceDropped:
936
- o << "PopErrorScopeStatus::InstanceDropped";
870
+ case PopErrorScopeStatus::CallbackCancelled:
871
+ o << "PopErrorScopeStatus::CallbackCancelled";
872
+ break;
873
+ case PopErrorScopeStatus::Error:
874
+ o << "PopErrorScopeStatus::Error";
937
875
  break;
938
876
  default:
939
877
  o << "PopErrorScopeStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<PopErrorScopeStatus>::type>(value);
@@ -960,6 +898,9 @@ namespace wgpu {
960
898
  template <typename CharT, typename Traits>
961
899
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, PresentMode value) {
962
900
  switch (value) {
901
+ case PresentMode::Undefined:
902
+ o << "PresentMode::Undefined";
903
+ break;
963
904
  case PresentMode::Fifo:
964
905
  o << "PresentMode::Fifo";
965
906
  break;
@@ -1023,17 +964,11 @@ namespace wgpu {
1023
964
  case QueueWorkDoneStatus::Success:
1024
965
  o << "QueueWorkDoneStatus::Success";
1025
966
  break;
1026
- case QueueWorkDoneStatus::InstanceDropped:
1027
- o << "QueueWorkDoneStatus::InstanceDropped";
967
+ case QueueWorkDoneStatus::CallbackCancelled:
968
+ o << "QueueWorkDoneStatus::CallbackCancelled";
1028
969
  break;
1029
970
  case QueueWorkDoneStatus::Error:
1030
971
  o << "QueueWorkDoneStatus::Error";
1031
- break;
1032
- case QueueWorkDoneStatus::Unknown:
1033
- o << "QueueWorkDoneStatus::Unknown";
1034
- break;
1035
- case QueueWorkDoneStatus::DeviceLost:
1036
- o << "QueueWorkDoneStatus::DeviceLost";
1037
972
  break;
1038
973
  default:
1039
974
  o << "QueueWorkDoneStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<QueueWorkDoneStatus>::type>(value);
@@ -1046,17 +981,14 @@ namespace wgpu {
1046
981
  case RequestAdapterStatus::Success:
1047
982
  o << "RequestAdapterStatus::Success";
1048
983
  break;
1049
- case RequestAdapterStatus::InstanceDropped:
1050
- o << "RequestAdapterStatus::InstanceDropped";
984
+ case RequestAdapterStatus::CallbackCancelled:
985
+ o << "RequestAdapterStatus::CallbackCancelled";
1051
986
  break;
1052
987
  case RequestAdapterStatus::Unavailable:
1053
988
  o << "RequestAdapterStatus::Unavailable";
1054
989
  break;
1055
990
  case RequestAdapterStatus::Error:
1056
991
  o << "RequestAdapterStatus::Error";
1057
- break;
1058
- case RequestAdapterStatus::Unknown:
1059
- o << "RequestAdapterStatus::Unknown";
1060
992
  break;
1061
993
  default:
1062
994
  o << "RequestAdapterStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<RequestAdapterStatus>::type>(value);
@@ -1069,14 +1001,11 @@ namespace wgpu {
1069
1001
  case RequestDeviceStatus::Success:
1070
1002
  o << "RequestDeviceStatus::Success";
1071
1003
  break;
1072
- case RequestDeviceStatus::InstanceDropped:
1073
- o << "RequestDeviceStatus::InstanceDropped";
1004
+ case RequestDeviceStatus::CallbackCancelled:
1005
+ o << "RequestDeviceStatus::CallbackCancelled";
1074
1006
  break;
1075
1007
  case RequestDeviceStatus::Error:
1076
1008
  o << "RequestDeviceStatus::Error";
1077
- break;
1078
- case RequestDeviceStatus::Unknown:
1079
- o << "RequestDeviceStatus::Unknown";
1080
1009
  break;
1081
1010
  default:
1082
1011
  o << "RequestDeviceStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<RequestDeviceStatus>::type>(value);
@@ -1084,6 +1013,144 @@ namespace wgpu {
1084
1013
  return o;
1085
1014
  }
1086
1015
  template <typename CharT, typename Traits>
1016
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SamplerBindingType value) {
1017
+ switch (value) {
1018
+ case SamplerBindingType::BindingNotUsed:
1019
+ o << "SamplerBindingType::BindingNotUsed";
1020
+ break;
1021
+ case SamplerBindingType::Undefined:
1022
+ o << "SamplerBindingType::Undefined";
1023
+ break;
1024
+ case SamplerBindingType::Filtering:
1025
+ o << "SamplerBindingType::Filtering";
1026
+ break;
1027
+ case SamplerBindingType::NonFiltering:
1028
+ o << "SamplerBindingType::NonFiltering";
1029
+ break;
1030
+ case SamplerBindingType::Comparison:
1031
+ o << "SamplerBindingType::Comparison";
1032
+ break;
1033
+ default:
1034
+ o << "SamplerBindingType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SamplerBindingType>::type>(value);
1035
+ }
1036
+ return o;
1037
+ }
1038
+ template <typename CharT, typename Traits>
1039
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SharedFenceType value) {
1040
+ switch (value) {
1041
+ case SharedFenceType::VkSemaphoreOpaqueFD:
1042
+ o << "SharedFenceType::VkSemaphoreOpaqueFD";
1043
+ break;
1044
+ case SharedFenceType::SyncFD:
1045
+ o << "SharedFenceType::SyncFD";
1046
+ break;
1047
+ case SharedFenceType::VkSemaphoreZirconHandle:
1048
+ o << "SharedFenceType::VkSemaphoreZirconHandle";
1049
+ break;
1050
+ case SharedFenceType::DXGISharedHandle:
1051
+ o << "SharedFenceType::DXGISharedHandle";
1052
+ break;
1053
+ case SharedFenceType::MTLSharedEvent:
1054
+ o << "SharedFenceType::MTLSharedEvent";
1055
+ break;
1056
+ case SharedFenceType::EGLSync:
1057
+ o << "SharedFenceType::EGLSync";
1058
+ break;
1059
+ default:
1060
+ o << "SharedFenceType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SharedFenceType>::type>(value);
1061
+ }
1062
+ return o;
1063
+ }
1064
+ template <typename CharT, typename Traits>
1065
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, Status value) {
1066
+ switch (value) {
1067
+ case Status::Success:
1068
+ o << "Status::Success";
1069
+ break;
1070
+ case Status::Error:
1071
+ o << "Status::Error";
1072
+ break;
1073
+ default:
1074
+ o << "Status::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<Status>::type>(value);
1075
+ }
1076
+ return o;
1077
+ }
1078
+ template <typename CharT, typename Traits>
1079
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, StencilOperation value) {
1080
+ switch (value) {
1081
+ case StencilOperation::Undefined:
1082
+ o << "StencilOperation::Undefined";
1083
+ break;
1084
+ case StencilOperation::Keep:
1085
+ o << "StencilOperation::Keep";
1086
+ break;
1087
+ case StencilOperation::Zero:
1088
+ o << "StencilOperation::Zero";
1089
+ break;
1090
+ case StencilOperation::Replace:
1091
+ o << "StencilOperation::Replace";
1092
+ break;
1093
+ case StencilOperation::Invert:
1094
+ o << "StencilOperation::Invert";
1095
+ break;
1096
+ case StencilOperation::IncrementClamp:
1097
+ o << "StencilOperation::IncrementClamp";
1098
+ break;
1099
+ case StencilOperation::DecrementClamp:
1100
+ o << "StencilOperation::DecrementClamp";
1101
+ break;
1102
+ case StencilOperation::IncrementWrap:
1103
+ o << "StencilOperation::IncrementWrap";
1104
+ break;
1105
+ case StencilOperation::DecrementWrap:
1106
+ o << "StencilOperation::DecrementWrap";
1107
+ break;
1108
+ default:
1109
+ o << "StencilOperation::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<StencilOperation>::type>(value);
1110
+ }
1111
+ return o;
1112
+ }
1113
+ template <typename CharT, typename Traits>
1114
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, StorageTextureAccess value) {
1115
+ switch (value) {
1116
+ case StorageTextureAccess::BindingNotUsed:
1117
+ o << "StorageTextureAccess::BindingNotUsed";
1118
+ break;
1119
+ case StorageTextureAccess::Undefined:
1120
+ o << "StorageTextureAccess::Undefined";
1121
+ break;
1122
+ case StorageTextureAccess::WriteOnly:
1123
+ o << "StorageTextureAccess::WriteOnly";
1124
+ break;
1125
+ case StorageTextureAccess::ReadOnly:
1126
+ o << "StorageTextureAccess::ReadOnly";
1127
+ break;
1128
+ case StorageTextureAccess::ReadWrite:
1129
+ o << "StorageTextureAccess::ReadWrite";
1130
+ break;
1131
+ default:
1132
+ o << "StorageTextureAccess::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<StorageTextureAccess>::type>(value);
1133
+ }
1134
+ return o;
1135
+ }
1136
+ template <typename CharT, typename Traits>
1137
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, StoreOp value) {
1138
+ switch (value) {
1139
+ case StoreOp::Undefined:
1140
+ o << "StoreOp::Undefined";
1141
+ break;
1142
+ case StoreOp::Store:
1143
+ o << "StoreOp::Store";
1144
+ break;
1145
+ case StoreOp::Discard:
1146
+ o << "StoreOp::Discard";
1147
+ break;
1148
+ default:
1149
+ o << "StoreOp::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<StoreOp>::type>(value);
1150
+ }
1151
+ return o;
1152
+ }
1153
+ template <typename CharT, typename Traits>
1087
1154
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SType value) {
1088
1155
  switch (value) {
1089
1156
  case SType::ShaderSourceSPIRV:
@@ -1113,6 +1180,9 @@ namespace wgpu {
1113
1180
  case SType::SurfaceSourceXCBWindow:
1114
1181
  o << "SType::SurfaceSourceXCBWindow";
1115
1182
  break;
1183
+ case SType::AdapterPropertiesSubgroups:
1184
+ o << "SType::AdapterPropertiesSubgroups";
1185
+ break;
1116
1186
  case SType::TextureBindingViewDimensionDescriptor:
1117
1187
  o << "SType::TextureBindingViewDimensionDescriptor";
1118
1188
  break;
@@ -1125,8 +1195,8 @@ namespace wgpu {
1125
1195
  case SType::ExternalTextureBindingLayout:
1126
1196
  o << "SType::ExternalTextureBindingLayout";
1127
1197
  break;
1128
- case SType::SurfaceDescriptorFromWindowsSwapChainPanel:
1129
- o << "SType::SurfaceDescriptorFromWindowsSwapChainPanel";
1198
+ case SType::SurfaceDescriptorFromWindowsUWPSwapChainPanel:
1199
+ o << "SType::SurfaceDescriptorFromWindowsUWPSwapChainPanel";
1130
1200
  break;
1131
1201
  case SType::DawnTextureInternalUsageDescriptor:
1132
1202
  o << "SType::DawnTextureInternalUsageDescriptor";
@@ -1173,9 +1243,6 @@ namespace wgpu {
1173
1243
  case SType::BufferHostMappedPointer:
1174
1244
  o << "SType::BufferHostMappedPointer";
1175
1245
  break;
1176
- case SType::DawnExperimentalSubgroupLimits:
1177
- o << "SType::DawnExperimentalSubgroupLimits";
1178
- break;
1179
1246
  case SType::AdapterPropertiesMemoryHeaps:
1180
1247
  o << "SType::AdapterPropertiesMemoryHeaps";
1181
1248
  break;
@@ -1185,17 +1252,14 @@ namespace wgpu {
1185
1252
  case SType::AdapterPropertiesVk:
1186
1253
  o << "SType::AdapterPropertiesVk";
1187
1254
  break;
1188
- case SType::DawnComputePipelineFullSubgroups:
1189
- o << "SType::DawnComputePipelineFullSubgroups";
1190
- break;
1191
1255
  case SType::DawnWireWGSLControl:
1192
1256
  o << "SType::DawnWireWGSLControl";
1193
1257
  break;
1194
1258
  case SType::DawnWGSLBlocklist:
1195
1259
  o << "SType::DawnWGSLBlocklist";
1196
1260
  break;
1197
- case SType::DrmFormatCapabilities:
1198
- o << "SType::DrmFormatCapabilities";
1261
+ case SType::DawnDrmFormatCapabilities:
1262
+ o << "SType::DawnDrmFormatCapabilities";
1199
1263
  break;
1200
1264
  case SType::ShaderModuleCompilationOptions:
1201
1265
  o << "SType::ShaderModuleCompilationOptions";
@@ -1254,11 +1318,11 @@ namespace wgpu {
1254
1318
  case SType::SharedFenceVkSemaphoreOpaqueFDExportInfo:
1255
1319
  o << "SType::SharedFenceVkSemaphoreOpaqueFDExportInfo";
1256
1320
  break;
1257
- case SType::SharedFenceVkSemaphoreSyncFDDescriptor:
1258
- o << "SType::SharedFenceVkSemaphoreSyncFDDescriptor";
1321
+ case SType::SharedFenceSyncFDDescriptor:
1322
+ o << "SType::SharedFenceSyncFDDescriptor";
1259
1323
  break;
1260
- case SType::SharedFenceVkSemaphoreSyncFDExportInfo:
1261
- o << "SType::SharedFenceVkSemaphoreSyncFDExportInfo";
1324
+ case SType::SharedFenceSyncFDExportInfo:
1325
+ o << "SType::SharedFenceSyncFDExportInfo";
1262
1326
  break;
1263
1327
  case SType::SharedFenceVkSemaphoreZirconHandleDescriptor:
1264
1328
  o << "SType::SharedFenceVkSemaphoreZirconHandleDescriptor";
@@ -1293,148 +1357,75 @@ namespace wgpu {
1293
1357
  case SType::AHardwareBufferProperties:
1294
1358
  o << "SType::AHardwareBufferProperties";
1295
1359
  break;
1296
- case SType::DawnExperimentalImmediateDataLimits:
1297
- o << "SType::DawnExperimentalImmediateDataLimits";
1360
+ case SType::DawnTexelCopyBufferRowAlignmentLimits:
1361
+ o << "SType::DawnTexelCopyBufferRowAlignmentLimits";
1298
1362
  break;
1299
- default:
1300
- o << "SType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SType>::type>(value);
1301
- }
1302
- return o;
1303
- }
1304
- template <typename CharT, typename Traits>
1305
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SamplerBindingType value) {
1306
- switch (value) {
1307
- case SamplerBindingType::Undefined:
1308
- o << "SamplerBindingType::Undefined";
1363
+ case SType::AdapterPropertiesSubgroupMatrixConfigs:
1364
+ o << "SType::AdapterPropertiesSubgroupMatrixConfigs";
1309
1365
  break;
1310
- case SamplerBindingType::Filtering:
1311
- o << "SamplerBindingType::Filtering";
1312
- break;
1313
- case SamplerBindingType::NonFiltering:
1314
- o << "SamplerBindingType::NonFiltering";
1315
- break;
1316
- case SamplerBindingType::Comparison:
1317
- o << "SamplerBindingType::Comparison";
1318
- break;
1319
- default:
1320
- o << "SamplerBindingType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SamplerBindingType>::type>(value);
1321
- }
1322
- return o;
1323
- }
1324
- template <typename CharT, typename Traits>
1325
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SharedFenceType value) {
1326
- switch (value) {
1327
- case SharedFenceType::VkSemaphoreOpaqueFD:
1328
- o << "SharedFenceType::VkSemaphoreOpaqueFD";
1329
- break;
1330
- case SharedFenceType::VkSemaphoreSyncFD:
1331
- o << "SharedFenceType::VkSemaphoreSyncFD";
1332
- break;
1333
- case SharedFenceType::VkSemaphoreZirconHandle:
1334
- o << "SharedFenceType::VkSemaphoreZirconHandle";
1335
- break;
1336
- case SharedFenceType::DXGISharedHandle:
1337
- o << "SharedFenceType::DXGISharedHandle";
1338
- break;
1339
- case SharedFenceType::MTLSharedEvent:
1340
- o << "SharedFenceType::MTLSharedEvent";
1341
- break;
1342
- default:
1343
- o << "SharedFenceType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SharedFenceType>::type>(value);
1344
- }
1345
- return o;
1346
- }
1347
- template <typename CharT, typename Traits>
1348
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, Status value) {
1349
- switch (value) {
1350
- case Status::Success:
1351
- o << "Status::Success";
1352
- break;
1353
- case Status::Error:
1354
- o << "Status::Error";
1366
+ case SType::SharedFenceEGLSyncDescriptor:
1367
+ o << "SType::SharedFenceEGLSyncDescriptor";
1355
1368
  break;
1356
- default:
1357
- o << "Status::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<Status>::type>(value);
1358
- }
1359
- return o;
1360
- }
1361
- template <typename CharT, typename Traits>
1362
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, StencilOperation value) {
1363
- switch (value) {
1364
- case StencilOperation::Undefined:
1365
- o << "StencilOperation::Undefined";
1369
+ case SType::SharedFenceEGLSyncExportInfo:
1370
+ o << "SType::SharedFenceEGLSyncExportInfo";
1366
1371
  break;
1367
- case StencilOperation::Keep:
1368
- o << "StencilOperation::Keep";
1372
+ case SType::DawnInjectedInvalidSType:
1373
+ o << "SType::DawnInjectedInvalidSType";
1369
1374
  break;
1370
- case StencilOperation::Zero:
1371
- o << "StencilOperation::Zero";
1375
+ case SType::DawnCompilationMessageUtf16:
1376
+ o << "SType::DawnCompilationMessageUtf16";
1372
1377
  break;
1373
- case StencilOperation::Replace:
1374
- o << "StencilOperation::Replace";
1378
+ case SType::DawnFakeBufferOOMForTesting:
1379
+ o << "SType::DawnFakeBufferOOMForTesting";
1375
1380
  break;
1376
- case StencilOperation::Invert:
1377
- o << "StencilOperation::Invert";
1381
+ case SType::SurfaceDescriptorFromWindowsWinUISwapChainPanel:
1382
+ o << "SType::SurfaceDescriptorFromWindowsWinUISwapChainPanel";
1378
1383
  break;
1379
- case StencilOperation::IncrementClamp:
1380
- o << "StencilOperation::IncrementClamp";
1384
+ case SType::DawnDeviceAllocatorControl:
1385
+ o << "SType::DawnDeviceAllocatorControl";
1381
1386
  break;
1382
- case StencilOperation::DecrementClamp:
1383
- o << "StencilOperation::DecrementClamp";
1387
+ case SType::DawnHostMappedPointerLimits:
1388
+ o << "SType::DawnHostMappedPointerLimits";
1384
1389
  break;
1385
- case StencilOperation::IncrementWrap:
1386
- o << "StencilOperation::IncrementWrap";
1390
+ case SType::RenderPassDescriptorResolveRect:
1391
+ o << "SType::RenderPassDescriptorResolveRect";
1387
1392
  break;
1388
- case StencilOperation::DecrementWrap:
1389
- o << "StencilOperation::DecrementWrap";
1393
+ case SType::RequestAdapterWebGPUBackendOptions:
1394
+ o << "SType::RequestAdapterWebGPUBackendOptions";
1390
1395
  break;
1391
1396
  default:
1392
- o << "StencilOperation::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<StencilOperation>::type>(value);
1397
+ o << "SType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SType>::type>(value);
1393
1398
  }
1394
1399
  return o;
1395
1400
  }
1396
1401
  template <typename CharT, typename Traits>
1397
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, StorageTextureAccess value) {
1402
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SubgroupMatrixComponentType value) {
1398
1403
  switch (value) {
1399
- case StorageTextureAccess::Undefined:
1400
- o << "StorageTextureAccess::Undefined";
1404
+ case SubgroupMatrixComponentType::F32:
1405
+ o << "SubgroupMatrixComponentType::F32";
1401
1406
  break;
1402
- case StorageTextureAccess::WriteOnly:
1403
- o << "StorageTextureAccess::WriteOnly";
1407
+ case SubgroupMatrixComponentType::F16:
1408
+ o << "SubgroupMatrixComponentType::F16";
1404
1409
  break;
1405
- case StorageTextureAccess::ReadOnly:
1406
- o << "StorageTextureAccess::ReadOnly";
1410
+ case SubgroupMatrixComponentType::U32:
1411
+ o << "SubgroupMatrixComponentType::U32";
1407
1412
  break;
1408
- case StorageTextureAccess::ReadWrite:
1409
- o << "StorageTextureAccess::ReadWrite";
1413
+ case SubgroupMatrixComponentType::I32:
1414
+ o << "SubgroupMatrixComponentType::I32";
1410
1415
  break;
1411
1416
  default:
1412
- o << "StorageTextureAccess::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<StorageTextureAccess>::type>(value);
1413
- }
1414
- return o;
1415
- }
1416
- template <typename CharT, typename Traits>
1417
- std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, StoreOp value) {
1418
- switch (value) {
1419
- case StoreOp::Undefined:
1420
- o << "StoreOp::Undefined";
1421
- break;
1422
- case StoreOp::Store:
1423
- o << "StoreOp::Store";
1424
- break;
1425
- case StoreOp::Discard:
1426
- o << "StoreOp::Discard";
1427
- break;
1428
- default:
1429
- o << "StoreOp::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<StoreOp>::type>(value);
1417
+ o << "SubgroupMatrixComponentType::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<SubgroupMatrixComponentType>::type>(value);
1430
1418
  }
1431
1419
  return o;
1432
1420
  }
1433
1421
  template <typename CharT, typename Traits>
1434
1422
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, SurfaceGetCurrentTextureStatus value) {
1435
1423
  switch (value) {
1436
- case SurfaceGetCurrentTextureStatus::Success:
1437
- o << "SurfaceGetCurrentTextureStatus::Success";
1424
+ case SurfaceGetCurrentTextureStatus::SuccessOptimal:
1425
+ o << "SurfaceGetCurrentTextureStatus::SuccessOptimal";
1426
+ break;
1427
+ case SurfaceGetCurrentTextureStatus::SuccessSuboptimal:
1428
+ o << "SurfaceGetCurrentTextureStatus::SuccessSuboptimal";
1438
1429
  break;
1439
1430
  case SurfaceGetCurrentTextureStatus::Timeout:
1440
1431
  o << "SurfaceGetCurrentTextureStatus::Timeout";
@@ -1445,12 +1436,6 @@ namespace wgpu {
1445
1436
  case SurfaceGetCurrentTextureStatus::Lost:
1446
1437
  o << "SurfaceGetCurrentTextureStatus::Lost";
1447
1438
  break;
1448
- case SurfaceGetCurrentTextureStatus::OutOfMemory:
1449
- o << "SurfaceGetCurrentTextureStatus::OutOfMemory";
1450
- break;
1451
- case SurfaceGetCurrentTextureStatus::DeviceLost:
1452
- o << "SurfaceGetCurrentTextureStatus::DeviceLost";
1453
- break;
1454
1439
  case SurfaceGetCurrentTextureStatus::Error:
1455
1440
  o << "SurfaceGetCurrentTextureStatus::Error";
1456
1441
  break;
@@ -1849,6 +1834,9 @@ namespace wgpu {
1849
1834
  template <typename CharT, typename Traits>
1850
1835
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, TextureSampleType value) {
1851
1836
  switch (value) {
1837
+ case TextureSampleType::BindingNotUsed:
1838
+ o << "TextureSampleType::BindingNotUsed";
1839
+ break;
1852
1840
  case TextureSampleType::Undefined:
1853
1841
  o << "TextureSampleType::Undefined";
1854
1842
  break;
@@ -1904,54 +1892,81 @@ namespace wgpu {
1904
1892
  template <typename CharT, typename Traits>
1905
1893
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, VertexFormat value) {
1906
1894
  switch (value) {
1895
+ case VertexFormat::Uint8:
1896
+ o << "VertexFormat::Uint8";
1897
+ break;
1907
1898
  case VertexFormat::Uint8x2:
1908
1899
  o << "VertexFormat::Uint8x2";
1909
1900
  break;
1910
1901
  case VertexFormat::Uint8x4:
1911
1902
  o << "VertexFormat::Uint8x4";
1912
1903
  break;
1904
+ case VertexFormat::Sint8:
1905
+ o << "VertexFormat::Sint8";
1906
+ break;
1913
1907
  case VertexFormat::Sint8x2:
1914
1908
  o << "VertexFormat::Sint8x2";
1915
1909
  break;
1916
1910
  case VertexFormat::Sint8x4:
1917
1911
  o << "VertexFormat::Sint8x4";
1918
1912
  break;
1913
+ case VertexFormat::Unorm8:
1914
+ o << "VertexFormat::Unorm8";
1915
+ break;
1919
1916
  case VertexFormat::Unorm8x2:
1920
1917
  o << "VertexFormat::Unorm8x2";
1921
1918
  break;
1922
1919
  case VertexFormat::Unorm8x4:
1923
1920
  o << "VertexFormat::Unorm8x4";
1924
1921
  break;
1922
+ case VertexFormat::Snorm8:
1923
+ o << "VertexFormat::Snorm8";
1924
+ break;
1925
1925
  case VertexFormat::Snorm8x2:
1926
1926
  o << "VertexFormat::Snorm8x2";
1927
1927
  break;
1928
1928
  case VertexFormat::Snorm8x4:
1929
1929
  o << "VertexFormat::Snorm8x4";
1930
1930
  break;
1931
+ case VertexFormat::Uint16:
1932
+ o << "VertexFormat::Uint16";
1933
+ break;
1931
1934
  case VertexFormat::Uint16x2:
1932
1935
  o << "VertexFormat::Uint16x2";
1933
1936
  break;
1934
1937
  case VertexFormat::Uint16x4:
1935
1938
  o << "VertexFormat::Uint16x4";
1936
1939
  break;
1940
+ case VertexFormat::Sint16:
1941
+ o << "VertexFormat::Sint16";
1942
+ break;
1937
1943
  case VertexFormat::Sint16x2:
1938
1944
  o << "VertexFormat::Sint16x2";
1939
1945
  break;
1940
1946
  case VertexFormat::Sint16x4:
1941
1947
  o << "VertexFormat::Sint16x4";
1942
1948
  break;
1949
+ case VertexFormat::Unorm16:
1950
+ o << "VertexFormat::Unorm16";
1951
+ break;
1943
1952
  case VertexFormat::Unorm16x2:
1944
1953
  o << "VertexFormat::Unorm16x2";
1945
1954
  break;
1946
1955
  case VertexFormat::Unorm16x4:
1947
1956
  o << "VertexFormat::Unorm16x4";
1948
1957
  break;
1958
+ case VertexFormat::Snorm16:
1959
+ o << "VertexFormat::Snorm16";
1960
+ break;
1949
1961
  case VertexFormat::Snorm16x2:
1950
1962
  o << "VertexFormat::Snorm16x2";
1951
1963
  break;
1952
1964
  case VertexFormat::Snorm16x4:
1953
1965
  o << "VertexFormat::Snorm16x4";
1954
1966
  break;
1967
+ case VertexFormat::Float16:
1968
+ o << "VertexFormat::Float16";
1969
+ break;
1955
1970
  case VertexFormat::Float16x2:
1956
1971
  o << "VertexFormat::Float16x2";
1957
1972
  break;
@@ -1996,6 +2011,9 @@ namespace wgpu {
1996
2011
  break;
1997
2012
  case VertexFormat::Unorm10_10_10_2:
1998
2013
  o << "VertexFormat::Unorm10_10_10_2";
2014
+ break;
2015
+ case VertexFormat::Unorm8x4BGRA:
2016
+ o << "VertexFormat::Unorm8x4BGRA";
1999
2017
  break;
2000
2018
  default:
2001
2019
  o << "VertexFormat::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<VertexFormat>::type>(value);
@@ -2008,9 +2026,6 @@ namespace wgpu {
2008
2026
  case VertexStepMode::Undefined:
2009
2027
  o << "VertexStepMode::Undefined";
2010
2028
  break;
2011
- case VertexStepMode::VertexBufferNotUsed:
2012
- o << "VertexStepMode::VertexBufferNotUsed";
2013
- break;
2014
2029
  case VertexStepMode::Vertex:
2015
2030
  o << "VertexStepMode::Vertex";
2016
2031
  break;
@@ -2031,20 +2046,49 @@ namespace wgpu {
2031
2046
  case WaitStatus::TimedOut:
2032
2047
  o << "WaitStatus::TimedOut";
2033
2048
  break;
2034
- case WaitStatus::UnsupportedTimeout:
2035
- o << "WaitStatus::UnsupportedTimeout";
2049
+ case WaitStatus::Error:
2050
+ o << "WaitStatus::Error";
2036
2051
  break;
2037
- case WaitStatus::UnsupportedCount:
2038
- o << "WaitStatus::UnsupportedCount";
2052
+ default:
2053
+ o << "WaitStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<WaitStatus>::type>(value);
2054
+ }
2055
+ return o;
2056
+ }
2057
+ template <typename CharT, typename Traits>
2058
+ std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, WGSLLanguageFeatureName value) {
2059
+ switch (value) {
2060
+ case WGSLLanguageFeatureName::ReadonlyAndReadwriteStorageTextures:
2061
+ o << "WGSLLanguageFeatureName::ReadonlyAndReadwriteStorageTextures";
2039
2062
  break;
2040
- case WaitStatus::UnsupportedMixedSources:
2041
- o << "WaitStatus::UnsupportedMixedSources";
2063
+ case WGSLLanguageFeatureName::Packed4x8IntegerDotProduct:
2064
+ o << "WGSLLanguageFeatureName::Packed4x8IntegerDotProduct";
2042
2065
  break;
2043
- case WaitStatus::Unknown:
2044
- o << "WaitStatus::Unknown";
2066
+ case WGSLLanguageFeatureName::UnrestrictedPointerParameters:
2067
+ o << "WGSLLanguageFeatureName::UnrestrictedPointerParameters";
2068
+ break;
2069
+ case WGSLLanguageFeatureName::PointerCompositeAccess:
2070
+ o << "WGSLLanguageFeatureName::PointerCompositeAccess";
2071
+ break;
2072
+ case WGSLLanguageFeatureName::SizedBindingArray:
2073
+ o << "WGSLLanguageFeatureName::SizedBindingArray";
2074
+ break;
2075
+ case WGSLLanguageFeatureName::ChromiumTestingUnimplemented:
2076
+ o << "WGSLLanguageFeatureName::ChromiumTestingUnimplemented";
2077
+ break;
2078
+ case WGSLLanguageFeatureName::ChromiumTestingUnsafeExperimental:
2079
+ o << "WGSLLanguageFeatureName::ChromiumTestingUnsafeExperimental";
2080
+ break;
2081
+ case WGSLLanguageFeatureName::ChromiumTestingExperimental:
2082
+ o << "WGSLLanguageFeatureName::ChromiumTestingExperimental";
2083
+ break;
2084
+ case WGSLLanguageFeatureName::ChromiumTestingShippedWithKillswitch:
2085
+ o << "WGSLLanguageFeatureName::ChromiumTestingShippedWithKillswitch";
2086
+ break;
2087
+ case WGSLLanguageFeatureName::ChromiumTestingShipped:
2088
+ o << "WGSLLanguageFeatureName::ChromiumTestingShipped";
2045
2089
  break;
2046
2090
  default:
2047
- o << "WaitStatus::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<WaitStatus>::type>(value);
2091
+ o << "WGSLLanguageFeatureName::" << std::showbase << std::hex << std::setfill('0') << std::setw(4) << static_cast<typename std::underlying_type<WGSLLanguageFeatureName>::type>(value);
2048
2092
  }
2049
2093
  return o;
2050
2094
  }
@@ -2229,7 +2273,8 @@ namespace wgpu {
2229
2273
  std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& o, HeapProperty value) {
2230
2274
  o << "HeapProperty::";
2231
2275
  if (!static_cast<bool>(value)) {
2232
- o << std::showbase << std::hex << std::setfill('0') << std::setw(4) << 0;
2276
+ // 0 is often explicitly declared as None.
2277
+ o << "None";
2233
2278
  return o;
2234
2279
  }
2235
2280