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
package/libs/dawn.json CHANGED
@@ -58,7 +58,6 @@
58
58
  },
59
59
  "proc": {
60
60
  "category": "function pointer",
61
- "returns": "void",
62
61
  "args": []
63
62
  },
64
63
  "get proc address": {
@@ -84,7 +83,6 @@
84
83
  "category": "structure",
85
84
  "chained": "in",
86
85
  "chain roots": ["request adapter options"],
87
- "tags": ["upstream", "emscripten"],
88
86
  "members": [
89
87
  {"name": "xr compatible", "type": "bool"}
90
88
  ]
@@ -153,7 +151,6 @@
153
151
  },
154
152
  {
155
153
  "name": "get features",
156
- "returns": "void",
157
154
  "args": [
158
155
  {"name": "features", "type": "supported features", "annotation": "*"}
159
156
  ]
@@ -162,7 +159,7 @@
162
159
  "name": "request device",
163
160
  "returns": "future",
164
161
  "args": [
165
- {"name": "options", "type": "device descriptor", "annotation": "const*", "optional": true, "no_default": true},
162
+ {"name": "descriptor", "type": "device descriptor", "annotation": "const*", "optional": true, "no_default": true},
166
163
  {"name": "callback info", "type": "request device callback info"}
167
164
  ]
168
165
  },
@@ -224,6 +221,15 @@
224
221
  {"name": "uncaptured error callback info", "type": "uncaptured error callback info"}
225
222
  ]
226
223
  },
224
+ "dawn consume adapter descriptor": {
225
+ "tags": ["dawn"],
226
+ "category": "structure",
227
+ "chained": "in",
228
+ "chain roots": ["device descriptor"],
229
+ "members": [
230
+ {"name": "consume adapter", "type": "bool", "default": "false"}
231
+ ]
232
+ },
227
233
  "dawn toggles descriptor": {
228
234
  "tags": ["dawn", "native"],
229
235
  "category": "structure",
@@ -317,9 +323,12 @@
317
323
  "bind group": {
318
324
  "category": "object",
319
325
  "methods": [
326
+ {
327
+ "name": "destroy",
328
+ "tags": ["dawn"]
329
+ },
320
330
  {
321
331
  "name": "set label",
322
- "returns": "void",
323
332
  "args": [
324
333
  {"name": "label", "type": "string view"}
325
334
  ]
@@ -338,13 +347,22 @@
338
347
  {"name": "texture view", "type": "texture view", "optional": true}
339
348
  ]
340
349
  },
350
+ "bind group dynamic binding array": {
351
+ "category": "structure",
352
+ "tags": ["dawn"],
353
+ "chained": "in",
354
+ "chain roots": ["bind group descriptor"],
355
+ "members": [
356
+ {"name": "dynamic array size", "type": "uint32_t", "default": 0}
357
+ ]
358
+ },
341
359
  "bind group descriptor": {
342
360
  "category": "structure",
343
361
  "extensible": "in",
344
362
  "members": [
345
363
  {"name": "label", "type": "string view", "optional": true},
346
364
  {"name": "layout", "type": "bind group layout"},
347
- {"name": "entry count", "type": "size_t"},
365
+ {"name": "entry count", "type": "size_t", "default": 0},
348
366
  {"name": "entries", "type": "bind group entry", "annotation": "const*", "length": "entry count"}
349
367
  ]
350
368
  },
@@ -353,7 +371,6 @@
353
371
  "methods": [
354
372
  {
355
373
  "name": "set label",
356
- "returns": "void",
357
374
  "args": [
358
375
  {"name": "label", "type": "string view"}
359
376
  ]
@@ -440,13 +457,6 @@
440
457
  {"name": "present modes", "type": "present mode", "annotation": "const*", "length": "present mode count"},
441
458
  {"name": "alpha mode count", "type": "size_t"},
442
459
  {"name": "alpha modes", "type": "composite alpha mode", "annotation": "const*", "length": "alpha mode count"}
443
- ],
444
- "methods": [
445
- {
446
- "name": "free members",
447
- "returns": "void",
448
- "args": []
449
- }
450
460
  ]
451
461
  },
452
462
  "surface configuration": {
@@ -474,6 +484,16 @@
474
484
  ]
475
485
  },
476
486
 
487
+ "texel buffer binding entry": {
488
+ "category": "structure",
489
+ "tags": ["dawn"],
490
+ "chained": "in",
491
+ "chain roots": ["bind group entry"],
492
+ "members": [
493
+ {"name": "texel buffer view", "type": "texel buffer view"}
494
+ ]
495
+ },
496
+
477
497
  "external texture binding layout": {
478
498
  "category": "structure",
479
499
  "chained": "in",
@@ -492,6 +512,15 @@
492
512
  {"value": 4, "name": "read write"}
493
513
  ]
494
514
  },
515
+ "texel buffer access": {
516
+ "category": "enum",
517
+ "tags": ["dawn"],
518
+ "values": [
519
+ {"value": 0, "name": "undefined", "jsrepr": "undefined", "valid": false},
520
+ {"value": 1, "name": "read only"},
521
+ {"value": 2, "name": "read write"}
522
+ ]
523
+ },
495
524
  "storage texture binding layout": {
496
525
  "category": "structure",
497
526
  "extensible": "in",
@@ -501,7 +530,16 @@
501
530
  {"name": "view dimension", "type": "texture view dimension", "default": "2D"}
502
531
  ]
503
532
  },
504
-
533
+ "texel buffer binding layout": {
534
+ "category": "structure",
535
+ "tags": ["dawn"],
536
+ "chained": "in",
537
+ "chain roots": ["bind group layout entry"],
538
+ "members": [
539
+ {"name": "access", "type": "texel buffer access", "default": "read write"},
540
+ {"name": "format", "type": "texture format"}
541
+ ]
542
+ },
505
543
  "bind group layout entry": {
506
544
  "category": "structure",
507
545
  "extensible": "in",
@@ -515,12 +553,39 @@
515
553
  {"name": "storage texture", "type": "storage texture binding layout", "default": "zero"}
516
554
  ]
517
555
  },
556
+
557
+ "dynamic binding kind": {
558
+ "category": "enum",
559
+ "tags": ["dawn"],
560
+ "values": [
561
+ {"value": 0, "name": "undefined", "jsrepr": "undefined", "valid": false},
562
+ {"value": 1, "name": "sampled texture"}
563
+ ]
564
+ },
565
+ "dynamic binding array layout": {
566
+ "category": "structure",
567
+ "tags": ["dawn"],
568
+ "extensible": "in",
569
+ "members": [
570
+ {"name": "start", "type": "uint32_t", "default": 0},
571
+ {"name": "kind", "type": "dynamic binding kind"}
572
+ ]
573
+ },
574
+ "bind group layout dynamic binding array": {
575
+ "category": "structure",
576
+ "tags": ["dawn"],
577
+ "chained": "in",
578
+ "chain roots": ["bind group layout descriptor"],
579
+ "members": [
580
+ {"name": "dynamic array", "type": "dynamic binding array layout"}
581
+ ]
582
+ },
518
583
  "bind group layout descriptor": {
519
584
  "category": "structure",
520
585
  "extensible": "in",
521
586
  "members": [
522
587
  {"name": "label", "type": "string view", "optional": true},
523
- {"name": "entry count", "type": "size_t"},
588
+ {"name": "entry count", "type": "size_t", "default": 0},
524
589
  {"name": "entries", "type": "bind group layout entry", "annotation": "const*", "length": "entry count"}
525
590
  ]
526
591
  },
@@ -601,6 +666,7 @@
601
666
  },
602
667
  {
603
668
  "name": "get mapped range",
669
+ "no autolock": true,
604
670
  "returns": "void *",
605
671
  "args": [
606
672
  {"name": "offset", "type": "size_t", "default": 0},
@@ -609,6 +675,7 @@
609
675
  },
610
676
  {
611
677
  "name": "get const mapped range",
678
+ "no autolock": true,
612
679
  "returns": "void const *",
613
680
  "args": [
614
681
  {"name": "offset", "type": "size_t", "default": 0},
@@ -617,6 +684,7 @@
617
684
  },
618
685
  {
619
686
  "name": "write mapped range",
687
+ "no autolock": true,
620
688
  "returns": "status",
621
689
  "args": [
622
690
  {"name": "offset", "type": "size_t"},
@@ -626,6 +694,7 @@
626
694
  },
627
695
  {
628
696
  "name": "read mapped range",
697
+ "no autolock": true,
629
698
  "returns": "status",
630
699
  "args": [
631
700
  {"name": "offset", "type": "size_t"},
@@ -633,9 +702,16 @@
633
702
  {"name": "size", "type": "size_t"}
634
703
  ]
635
704
  },
705
+ {
706
+ "name": "create texel view",
707
+ "returns": "texel buffer view",
708
+ "tags": ["dawn"],
709
+ "args": [
710
+ {"name": "descriptor", "type": "texel buffer view descriptor", "annotation": "const*"}
711
+ ]
712
+ },
636
713
  {
637
714
  "name": "set label",
638
- "returns": "void",
639
715
  "args": [
640
716
  {"name": "label", "type": "string view"}
641
717
  ]
@@ -736,7 +812,8 @@
736
812
  {"value": 64, "name": "uniform"},
737
813
  {"value": 128, "name": "storage"},
738
814
  {"value": 256, "name": "indirect"},
739
- {"value": 512, "name": "query resolve"}
815
+ {"value": 512, "name": "query resolve"},
816
+ {"value": 1024, "name": "texel buffer", "tags": ["dawn"]}
740
817
  ]
741
818
  },
742
819
  "char": {
@@ -775,7 +852,6 @@
775
852
  "methods": [
776
853
  {
777
854
  "name": "set label",
778
- "returns": "void",
779
855
  "args": [
780
856
  {"name": "label", "type": "string view"}
781
857
  ]
@@ -908,7 +984,6 @@
908
984
  },
909
985
  {
910
986
  "name": "set label",
911
- "returns": "void",
912
987
  "args": [
913
988
  {"name": "label", "type": "string view"}
914
989
  ]
@@ -1069,7 +1144,6 @@
1069
1144
  },
1070
1145
  {
1071
1146
  "name": "set label",
1072
- "returns": "void",
1073
1147
  "args": [
1074
1148
  {"name": "label", "type": "string view"}
1075
1149
  ]
@@ -1100,6 +1174,7 @@
1100
1174
  "methods": [
1101
1175
  {
1102
1176
  "name": "get bind group layout",
1177
+ "no autolock": true,
1103
1178
  "returns": "bind group layout",
1104
1179
  "args": [
1105
1180
  {"name": "group index", "type": "uint32_t"}
@@ -1107,7 +1182,6 @@
1107
1182
  },
1108
1183
  {
1109
1184
  "name": "set label",
1110
- "returns": "void",
1111
1185
  "args": [
1112
1186
  {"name": "label", "type": "string view"}
1113
1187
  ]
@@ -1226,7 +1300,7 @@
1226
1300
  {
1227
1301
  "name": "create buffer",
1228
1302
  "no autolock": true,
1229
- "returns": "buffer",
1303
+ "returns": {"type": "buffer", "optional": true},
1230
1304
  "args": [
1231
1305
  {"name": "descriptor", "type": "buffer descriptor", "annotation": "const*"}
1232
1306
  ]
@@ -1256,6 +1330,7 @@
1256
1330
  },
1257
1331
  {
1258
1332
  "name": "create compute pipeline async",
1333
+ "no autolock": true,
1259
1334
  "returns": "future",
1260
1335
  "args": [
1261
1336
  {"name": "descriptor", "type": "compute pipeline descriptor", "annotation": "const*"},
@@ -1291,6 +1366,7 @@
1291
1366
  },
1292
1367
  {
1293
1368
  "name": "create render pipeline async",
1369
+ "no autolock": true,
1294
1370
  "returns": "future",
1295
1371
  "args": [
1296
1372
  {"name": "descriptor", "type": "render pipeline descriptor", "annotation": "const*"},
@@ -1389,6 +1465,7 @@
1389
1465
  },
1390
1466
  {
1391
1467
  "name": "get limits",
1468
+ "no autolock": true,
1392
1469
  "returns": "status",
1393
1470
  "args": [
1394
1471
  {"name": "limits", "type": "limits", "annotation": "*"}
@@ -1400,6 +1477,7 @@
1400
1477
  },
1401
1478
  {
1402
1479
  "name": "has feature",
1480
+ "no autolock": true,
1403
1481
  "returns": "bool",
1404
1482
  "args": [
1405
1483
  {"name": "feature", "type": "feature name"}
@@ -1407,13 +1485,14 @@
1407
1485
  },
1408
1486
  {
1409
1487
  "name": "get features",
1410
- "returns": "void",
1488
+ "no autolock": true,
1411
1489
  "args": [
1412
1490
  {"name": "features", "type": "supported features", "annotation": "*"}
1413
1491
  ]
1414
1492
  },
1415
1493
  {
1416
1494
  "name": "get adapter info",
1495
+ "no autolock": true,
1417
1496
  "returns": "status",
1418
1497
  "args": [
1419
1498
  {"name": "adapter info", "type": "adapter info", "annotation": "*"}
@@ -1421,11 +1500,13 @@
1421
1500
  },
1422
1501
  {
1423
1502
  "name": "get adapter",
1503
+ "no autolock": true,
1424
1504
  "returns": "adapter",
1425
1505
  "tags": ["dawn"]
1426
1506
  },
1427
1507
  {
1428
1508
  "name": "get queue",
1509
+ "no autolock": true,
1429
1510
  "returns": "queue"
1430
1511
  },
1431
1512
  {
@@ -1473,7 +1554,6 @@
1473
1554
  },
1474
1555
  {
1475
1556
  "name": "set label",
1476
- "returns": "void",
1477
1557
  "args": [
1478
1558
  {"name": "label", "type": "string view"}
1479
1559
  ]
@@ -1591,20 +1671,19 @@
1591
1671
  {"name": "max compute workgroup size y", "type": "uint32_t", "default": "limit u32 undefined"},
1592
1672
  {"name": "max compute workgroup size z", "type": "uint32_t", "default": "limit u32 undefined"},
1593
1673
  {"name": "max compute workgroups per dimension", "type": "uint32_t", "default": "limit u32 undefined"},
1594
- {"name": "max immediate size", "type": "uint32_t", "default": "limit u32 undefined"},
1595
- {"name": "max storage buffers in vertex stage", "type": "uint32_t", "default": "limit u32 undefined"},
1596
- {"name": "max storage textures in vertex stage", "type": "uint32_t", "default": "limit u32 undefined"},
1597
- {"name": "max storage buffers in fragment stage", "type": "uint32_t", "default": "limit u32 undefined"},
1598
- {"name": "max storage textures in fragment stage", "type": "uint32_t", "default": "limit u32 undefined"}
1674
+ {"name": "max immediate size", "type": "uint32_t", "default": "limit u32 undefined"}
1599
1675
  ]
1600
1676
  },
1601
- "adapter properties subgroups": {
1677
+ "compatibility mode limits": {
1602
1678
  "category": "structure",
1603
1679
  "chained": "out",
1604
- "chain roots": ["adapter info"],
1680
+ "chain roots": ["limits"],
1681
+ "tags": ["compat"],
1605
1682
  "members": [
1606
- {"name": "subgroup min size", "type": "uint32_t", "default": "limit u32 undefined"},
1607
- {"name": "subgroup max size", "type": "uint32_t", "default": "limit u32 undefined"}
1683
+ {"name": "max storage buffers in vertex stage", "type": "uint32_t", "default": "limit u32 undefined"},
1684
+ {"name": "max storage textures in vertex stage", "type": "uint32_t", "default": "limit u32 undefined"},
1685
+ {"name": "max storage buffers in fragment stage", "type": "uint32_t", "default": "limit u32 undefined"},
1686
+ {"name": "max storage textures in fragment stage", "type": "uint32_t", "default": "limit u32 undefined"}
1608
1687
  ]
1609
1688
  },
1610
1689
  "dawn texel copy buffer row alignment limits": {
@@ -1625,6 +1704,15 @@
1625
1704
  {"name": "host mapped pointer alignment", "type": "uint32_t", "default": "limit u32 undefined"}
1626
1705
  ]
1627
1706
  },
1707
+ "dynamic binding array limits": {
1708
+ "category": "structure",
1709
+ "chained": "out",
1710
+ "chain roots": ["limits"],
1711
+ "tags": ["dawn"],
1712
+ "members": [
1713
+ {"name": "max dynamic binding array size", "type": "uint32_t", "default": "limit u32 undefined"}
1714
+ ]
1715
+ },
1628
1716
  "supported features": {
1629
1717
  "category": "structure",
1630
1718
  "out": true,
@@ -1633,6 +1721,14 @@
1633
1721
  {"name": "features", "type": "feature name", "annotation": "const*", "length": "feature count"}
1634
1722
  ]
1635
1723
  },
1724
+ "supported instance features": {
1725
+ "category": "structure",
1726
+ "out": true,
1727
+ "members": [
1728
+ {"name": "feature count", "type": "size_t"},
1729
+ {"name": "features", "type": "instance feature name", "annotation": "const*", "length": "feature count"}
1730
+ ]
1731
+ },
1636
1732
  "supported WGSL language features": {
1637
1733
  "category": "structure",
1638
1734
  "out": true,
@@ -1707,22 +1803,18 @@
1707
1803
  "methods": [
1708
1804
  {
1709
1805
  "name": "set label",
1710
- "returns": "void",
1711
1806
  "args": [
1712
1807
  {"name": "label", "type": "string view"}
1713
1808
  ]
1714
1809
  },
1715
1810
  {
1716
- "name": "destroy",
1717
- "returns": "void"
1811
+ "name": "destroy"
1718
1812
  },
1719
1813
  {
1720
- "name": "expire",
1721
- "returns": "void"
1814
+ "name": "expire"
1722
1815
  },
1723
1816
  {
1724
- "name": "refresh",
1725
- "returns": "void"
1817
+ "name": "refresh"
1726
1818
  }
1727
1819
  ]
1728
1820
  },
@@ -1774,7 +1866,6 @@
1774
1866
  "methods": [
1775
1867
  {
1776
1868
  "name": "set label",
1777
- "returns": "void",
1778
1869
  "args": [
1779
1870
  {"name": "label", "type": "string view"}
1780
1871
  ]
@@ -1839,7 +1930,6 @@
1839
1930
  "methods": [
1840
1931
  {
1841
1932
  "name": "set label",
1842
- "returns": "void",
1843
1933
  "args": [
1844
1934
  {"name": "label", "type": "string view"}
1845
1935
  ]
@@ -2080,13 +2170,21 @@
2080
2170
  {"name": "is swapchain", "type": "bool", "default": "false"}
2081
2171
  ]
2082
2172
  },
2173
+ "shared texture memory D3D11 begin state": {
2174
+ "category": "structure",
2175
+ "chained": "in",
2176
+ "chain roots": ["shared texture memory begin access descriptor"],
2177
+ "tags": ["dawn", "native"],
2178
+ "members": [
2179
+ {"name": "requires end access fence", "type": "bool", "default": "true"}
2180
+ ]
2181
+ },
2083
2182
  "shared fence": {
2084
2183
  "category": "object",
2085
2184
  "tags": ["dawn", "native"],
2086
2185
  "methods": [
2087
2186
  {
2088
2187
  "name": "export info",
2089
- "returns": "void",
2090
2188
  "args": [
2091
2189
  {"name": "info", "type": "shared fence export info", "annotation": "*"}
2092
2190
  ]
@@ -2167,6 +2265,13 @@
2167
2265
  {"name": "fake OOM at device", "type": "bool"}
2168
2266
  ]
2169
2267
  },
2268
+ "dawn fake device initialize error for testing": {
2269
+ "category": "structure",
2270
+ "chained": "in",
2271
+ "chain roots": ["device descriptor"],
2272
+ "tags": ["dawn"],
2273
+ "members": []
2274
+ },
2170
2275
  "shared fence type": {
2171
2276
  "category": "enum",
2172
2277
  "tags": ["dawn", "native"],
@@ -2252,25 +2357,29 @@
2252
2357
  },
2253
2358
  "feature name": {
2254
2359
  "category": "enum",
2360
+ "emscripten_string_to_int": true,
2255
2361
  "values": [
2256
- {"value": 1, "name": "depth clip control"},
2257
- {"value": 2, "name": "depth32 float stencil8"},
2258
- {"value": 3, "name": "timestamp query"},
2362
+ {"value": 1, "name": "core features and limits"},
2363
+ {"value": 2, "name": "depth clip control"},
2364
+ {"value": 3, "name": "depth32 float stencil8"},
2259
2365
  {"value": 4, "name": "texture compression BC"},
2260
2366
  {"value": 5, "name": "texture compression BC sliced 3D"},
2261
2367
  {"value": 6, "name": "texture compression ETC2"},
2262
2368
  {"value": 7, "name": "texture compression ASTC"},
2263
2369
  {"value": 8, "name": "texture compression ASTC sliced 3D"},
2264
- {"value": 9, "name": "indirect first instance"},
2265
- {"value": 10, "name": "shader f16"},
2266
- {"value": 11, "name": "RG11B10 ufloat renderable"},
2267
- {"value": 12, "name": "BGRA8 unorm storage"},
2268
- {"value": 13, "name": "float32 filterable", "jsrepr": "'float32-filterable'"},
2269
- {"value": 14, "name": "float32 blendable", "jsrepr": "'float32-blendable'"},
2270
- {"value": 15, "name": "clip distances"},
2271
- {"value": 16, "name": "dual source blending"},
2272
- {"value": 17, "name": "subgroups"},
2273
- {"value": 18, "name": "core features and limits", "jsrepr": "'core-features-and-limits'"},
2370
+ {"value": 9, "name": "timestamp query"},
2371
+ {"value": 10, "name": "indirect first instance"},
2372
+ {"value": 11, "name": "shader f16"},
2373
+ {"value": 12, "name": "RG11B10 ufloat renderable"},
2374
+ {"value": 13, "name": "BGRA8 unorm storage"},
2375
+ {"value": 14, "name": "float32 filterable", "jsrepr": "'float32-filterable'"},
2376
+ {"value": 15, "name": "float32 blendable", "jsrepr": "'float32-blendable'"},
2377
+ {"value": 16, "name": "clip distances"},
2378
+ {"value": 17, "name": "dual source blending"},
2379
+ {"value": 18, "name": "subgroups"},
2380
+ {"value": 19, "name": "texture formats tier1"},
2381
+ {"value": 20, "name": "texture formats tier2"},
2382
+ {"value": 21, "name": "primitive index"},
2274
2383
 
2275
2384
  {"value": 0, "name": "dawn internal usages", "tags": ["dawn"]},
2276
2385
  {"value": 1, "name": "dawn multi planar formats", "tags": ["dawn"]},
@@ -2330,7 +2439,9 @@
2330
2439
  {"value": 54, "name": "flexible texture views", "tags": ["dawn"]},
2331
2440
  {"value": 55, "name": "chromium experimental subgroup matrix", "tags": ["dawn"]},
2332
2441
  {"value": 56, "name": "shared fence EGL sync", "tags": ["dawn", "native"]},
2333
- {"value": 57, "name": "dawn device allocator control", "tags": ["dawn"]}
2442
+ {"value": 57, "name": "dawn device allocator control", "tags": ["dawn"]},
2443
+ {"value": 58, "name": "texture component swizzle", "tags": ["dawn"]},
2444
+ {"value": 60, "name": "chromium experimental bindless", "tags": ["dawn"]}
2334
2445
  ]
2335
2446
  },
2336
2447
  "filter mode": {
@@ -2438,7 +2549,7 @@
2438
2549
  "returns": "wait status",
2439
2550
  "args": [
2440
2551
  {"name": "future count", "type": "size_t"},
2441
- {"name": "futures", "type": "future wait info", "annotation": "*", "length": "future count"},
2552
+ {"name": "futures", "type": "future wait info", "annotation": "*", "length": "future count", "optional": true, "no_default": true},
2442
2553
  {"name": "timeout NS", "type": "uint64_t"}
2443
2554
  ]
2444
2555
  },
@@ -2459,7 +2570,6 @@
2459
2570
  },
2460
2571
  {
2461
2572
  "name": "get WGSL language features",
2462
- "returns": "status",
2463
2573
  "args": [
2464
2574
  {"name": "features", "type": "supported WGSL language features", "annotation": "*"}
2465
2575
  ]
@@ -2498,27 +2608,48 @@
2498
2608
  {"name": "completed", "type": "bool", "default": "false"}
2499
2609
  ]
2500
2610
  },
2501
- "instance capabilities": {
2611
+ "instance limits": {
2502
2612
  "category": "structure",
2503
2613
  "extensible": "out",
2504
- "_comment": "TODO(crbug.com/374263404): Using 'out' for extensible even though this can be in/out until C++ gen is updated.",
2505
2614
  "members": [
2506
- {"name": "timed wait any enable", "type": "bool", "default": "false"},
2507
2615
  {"name": "timed wait any max count", "type": "size_t", "default": "0"}
2508
2616
  ]
2509
2617
  },
2618
+ "instance feature name": {
2619
+ "category": "enum",
2620
+ "values": [
2621
+ {"value": 1, "name": "timed wait any"},
2622
+ {"value": 2, "name": "shader source SPIRV"},
2623
+ {"value": 3, "name": "multiple devices per adapter"}
2624
+ ]
2625
+ },
2510
2626
  "instance descriptor": {
2511
2627
  "category": "structure",
2512
2628
  "extensible": "in",
2513
2629
  "members": [
2514
- {"name": "capabilities", "type": "instance capabilities"}
2630
+ {"name": "required feature count", "type": "size_t", "default": 0},
2631
+ {"name": "required features", "type": "instance feature name", "annotation": "const*", "length": "required feature count", "default": "nullptr"},
2632
+ {"name": "required limits", "type": "instance limits", "annotation": "const*", "optional": true}
2515
2633
  ]
2516
2634
  },
2517
- "get instance capabilities": {
2635
+ "get instance features": {
2636
+ "category": "function",
2637
+ "args": [
2638
+ {"name": "features", "type": "supported instance features", "annotation": "*"}
2639
+ ]
2640
+ },
2641
+ "has instance feature": {
2642
+ "category": "function",
2643
+ "returns": "bool",
2644
+ "args": [
2645
+ {"name": "feature", "type": "instance feature name"}
2646
+ ]
2647
+ },
2648
+ "get instance limits": {
2518
2649
  "category": "function",
2519
2650
  "returns": "status",
2520
2651
  "args": [
2521
- {"name": "capabilities", "type": "instance capabilities", "annotation": "*"}
2652
+ {"name": "limits", "type": "instance limits", "annotation": "*"}
2522
2653
  ]
2523
2654
  },
2524
2655
  "dawn wire WGSL control": {
@@ -2631,7 +2762,6 @@
2631
2762
  "methods": [
2632
2763
  {
2633
2764
  "name": "set label",
2634
- "returns": "void",
2635
2765
  "args": [
2636
2766
  {"name": "label", "type": "string view"}
2637
2767
  ]
@@ -2644,7 +2774,7 @@
2644
2774
  "members": [
2645
2775
  {"name": "label", "type": "string view", "optional": true},
2646
2776
  {"name": "bind group layout count", "type": "size_t"},
2647
- {"name": "bind group layouts", "type": "bind group layout", "annotation": "const*", "length": "bind group layout count", "optional": true},
2777
+ {"name": "bind group layouts", "type": "bind group layout", "annotation": "const*", "length": "bind group layout count", "array_element_optional": true},
2648
2778
  {"name": "immediate size", "type": "uint32_t", "default": 0}
2649
2779
  ]
2650
2780
  },
@@ -2713,7 +2843,6 @@
2713
2843
  "methods": [
2714
2844
  {
2715
2845
  "name": "set label",
2716
- "returns": "void",
2717
2846
  "args": [
2718
2847
  {"name": "label", "type": "string view"}
2719
2848
  ]
@@ -2807,7 +2936,6 @@
2807
2936
  },
2808
2937
  {
2809
2938
  "name": "set label",
2810
- "returns": "void",
2811
2939
  "args": [
2812
2940
  {"name": "label", "type": "string view"}
2813
2941
  ]
@@ -2824,7 +2952,8 @@
2824
2952
  "queue work done callback": {
2825
2953
  "category": "callback function",
2826
2954
  "args": [
2827
- {"name": "status", "type": "queue work done status"}
2955
+ {"name": "status", "type": "queue work done status"},
2956
+ {"name": "message", "type": "string view"}
2828
2957
  ]
2829
2958
  },
2830
2959
  "queue work done callback info": {
@@ -2849,7 +2978,6 @@
2849
2978
  "methods": [
2850
2979
  {
2851
2980
  "name": "set label",
2852
- "returns": "void",
2853
2981
  "args": [
2854
2982
  {"name": "label", "type": "string view"}
2855
2983
  ]
@@ -2952,7 +3080,6 @@
2952
3080
  },
2953
3081
  {
2954
3082
  "name": "set label",
2955
- "returns": "void",
2956
3083
  "args": [
2957
3084
  {"name": "label", "type": "string view"}
2958
3085
  ]
@@ -3042,7 +3169,8 @@
3042
3169
  },
3043
3170
  "render pass descriptor max draw count": {
3044
3171
  "category": "typedef",
3045
- "type": "render pass max draw count"
3172
+ "type": "render pass max draw count",
3173
+ "tags": ["dawn"]
3046
3174
  },
3047
3175
  "render pass max draw count": {
3048
3176
  "category": "structure",
@@ -3155,6 +3283,7 @@
3155
3283
  },
3156
3284
  {
3157
3285
  "name": "multi draw indirect",
3286
+ "tags": ["dawn", "emscripten"],
3158
3287
  "args": [
3159
3288
  {"name": "indirect buffer", "type": "buffer"},
3160
3289
  {"name": "indirect offset", "type": "uint64_t"},
@@ -3166,6 +3295,7 @@
3166
3295
  },
3167
3296
  {
3168
3297
  "name": "multi draw indexed indirect",
3298
+ "tags": ["dawn", "emscripten"],
3169
3299
  "args": [
3170
3300
  {"name": "indirect buffer", "type": "buffer"},
3171
3301
  {"name": "indirect offset", "type": "uint64_t"},
@@ -3273,7 +3403,6 @@
3273
3403
  },
3274
3404
  {
3275
3405
  "name": "set label",
3276
- "returns": "void",
3277
3406
  "args": [
3278
3407
  {"name": "label", "type": "string view"}
3279
3408
  ]
@@ -3294,6 +3423,7 @@
3294
3423
  "methods": [
3295
3424
  {
3296
3425
  "name": "get bind group layout",
3426
+ "no autolock": true,
3297
3427
  "returns": "bind group layout",
3298
3428
  "args": [
3299
3429
  {"name": "group index", "type": "uint32_t"}
@@ -3301,7 +3431,6 @@
3301
3431
  },
3302
3432
  {
3303
3433
  "name": "set label",
3304
- "returns": "void",
3305
3434
  "args": [
3306
3435
  {"name": "label", "type": "string view"}
3307
3436
  ]
@@ -3373,8 +3502,8 @@
3373
3502
  {"name": "stencil read mask", "type": "uint32_t", "default": "0xFFFFFFFF"},
3374
3503
  {"name": "stencil write mask", "type": "uint32_t", "default": "0xFFFFFFFF"},
3375
3504
  {"name": "depth bias", "type": "int32_t", "default": "0"},
3376
- {"name": "depth bias slope scale", "type": "float", "default": "0.0f"},
3377
- {"name": "depth bias clamp", "type": "float", "default": "0.0f"}
3505
+ {"name": "depth bias slope scale", "type": "float", "default": "0.f"},
3506
+ {"name": "depth bias clamp", "type": "float", "default": "0.f"}
3378
3507
  ]
3379
3508
  },
3380
3509
 
@@ -3446,7 +3575,6 @@
3446
3575
  "methods": [
3447
3576
  {
3448
3577
  "name": "set label",
3449
- "returns": "void",
3450
3578
  "args": [
3451
3579
  {"name": "label", "type": "string view"}
3452
3580
  ]
@@ -3464,8 +3592,8 @@
3464
3592
  {"name": "mag filter", "type": "filter mode", "default": "nearest"},
3465
3593
  {"name": "min filter", "type": "filter mode", "default": "nearest"},
3466
3594
  {"name": "mipmap filter", "type": "mipmap filter mode", "default": "nearest"},
3467
- {"name": "lod min clamp", "type": "float", "default": "0.0f"},
3468
- {"name": "lod max clamp", "type": "float", "default": "32.0f"},
3595
+ {"name": "lod min clamp", "type": "float", "default": "0.f"},
3596
+ {"name": "lod max clamp", "type": "float", "default": "32.f"},
3469
3597
  {"name": "compare", "type": "compare function"},
3470
3598
  {"name": "max anisotropy", "type": "uint16_t", "default": "1"}
3471
3599
  ]
@@ -3482,7 +3610,6 @@
3482
3610
  },
3483
3611
  {
3484
3612
  "name": "set label",
3485
- "returns": "void",
3486
3613
  "args": [
3487
3614
  {"name": "label", "type": "string view"}
3488
3615
  ]
@@ -3498,7 +3625,8 @@
3498
3625
  },
3499
3626
  "shader module SPIRV descriptor": {
3500
3627
  "category": "typedef",
3501
- "type": "shader source SPIRV"
3628
+ "type": "shader source SPIRV",
3629
+ "tags": ["dawn"]
3502
3630
  },
3503
3631
  "shader source SPIRV": {
3504
3632
  "category": "structure",
@@ -3511,7 +3639,8 @@
3511
3639
  },
3512
3640
  "shader module WGSL descriptor": {
3513
3641
  "category": "typedef",
3514
- "type": "shader source WGSL"
3642
+ "type": "shader source WGSL",
3643
+ "tags": ["dawn"]
3515
3644
  },
3516
3645
  "shader source WGSL": {
3517
3646
  "category": "structure",
@@ -3578,7 +3707,6 @@
3578
3707
  "methods": [
3579
3708
  {
3580
3709
  "name": "configure",
3581
- "returns": "void",
3582
3710
  "args": [
3583
3711
  {"name": "config", "type": "surface configuration", "annotation": "const*"}
3584
3712
  ]
@@ -3593,24 +3721,21 @@
3593
3721
  },
3594
3722
  {
3595
3723
  "name": "get current texture",
3596
- "returns": "void",
3597
3724
  "args": [
3598
3725
  {"name": "surface texture", "type": "surface texture", "annotation": "*"}
3599
3726
  ]
3600
3727
  },
3601
3728
  {
3602
3729
  "name": "present",
3603
- "returns": "void",
3730
+ "returns": "status",
3604
3731
  "args": []
3605
3732
  },
3606
3733
  {
3607
3734
  "name": "unconfigure",
3608
- "returns": "void",
3609
3735
  "args": []
3610
3736
  },
3611
3737
  {
3612
3738
  "name": "set label",
3613
- "returns": "void",
3614
3739
  "args": [
3615
3740
  {"name": "label", "type": "string view"}
3616
3741
  ]
@@ -3627,7 +3752,7 @@
3627
3752
  "surface descriptor from android native window": {
3628
3753
  "category": "typedef",
3629
3754
  "type": "surface source android native window",
3630
- "tags": ["art", "native"]
3755
+ "tags": ["art", "native", "dawn"]
3631
3756
  },
3632
3757
  "surface source android native window": {
3633
3758
  "category": "structure",
@@ -3650,7 +3775,7 @@
3650
3775
  "surface descriptor from metal layer": {
3651
3776
  "category": "typedef",
3652
3777
  "type": "surface source metal layer",
3653
- "tags": ["native"]
3778
+ "tags": ["native", "dawn"]
3654
3779
  },
3655
3780
  "surface source metal layer": {
3656
3781
  "category": "structure",
@@ -3664,7 +3789,7 @@
3664
3789
  "surface descriptor from windows HWND": {
3665
3790
  "category": "typedef",
3666
3791
  "type": "surface source windows HWND",
3667
- "tags": ["native"]
3792
+ "tags": ["native", "dawn"]
3668
3793
  },
3669
3794
  "surface source windows HWND": {
3670
3795
  "category": "structure",
@@ -3679,7 +3804,7 @@
3679
3804
  "surface descriptor from xcb window": {
3680
3805
  "category": "typedef",
3681
3806
  "type": "surface source XCB window",
3682
- "tags": ["native"]
3807
+ "tags": ["native", "dawn"]
3683
3808
  },
3684
3809
  "surface source XCB window": {
3685
3810
  "category": "structure",
@@ -3694,7 +3819,7 @@
3694
3819
  "surface descriptor from xlib window": {
3695
3820
  "category": "typedef",
3696
3821
  "type": "surface source xlib window",
3697
- "tags": ["native"]
3822
+ "tags": ["native", "dawn"]
3698
3823
  },
3699
3824
  "surface source xlib window": {
3700
3825
  "category": "structure",
@@ -3709,7 +3834,7 @@
3709
3834
  "surface descriptor from wayland surface": {
3710
3835
  "category": "typedef",
3711
3836
  "type": "surface source wayland surface",
3712
- "tags": ["native"]
3837
+ "tags": ["native", "dawn"]
3713
3838
  },
3714
3839
  "surface source wayland surface": {
3715
3840
  "category": "structure",
@@ -3752,7 +3877,6 @@
3752
3877
  "category": "structure",
3753
3878
  "chained": "in",
3754
3879
  "chain roots": ["surface descriptor"],
3755
- "tags": ["upstream", "emscripten"],
3756
3880
  "members": [
3757
3881
  {"name": "color space", "type": "predefined color space"},
3758
3882
  {"name": "tone mapping mode", "type": "tone mapping mode"}
@@ -3760,7 +3884,6 @@
3760
3884
  },
3761
3885
  "predefined color space": {
3762
3886
  "category": "enum",
3763
- "tags": ["upstream", "emscripten"],
3764
3887
  "values": [
3765
3888
  {"value": 1, "name": "sRGB"},
3766
3889
  {"value": 2, "name": "display p3"}
@@ -3768,7 +3891,6 @@
3768
3891
  },
3769
3892
  "tone mapping mode": {
3770
3893
  "category": "enum",
3771
- "tags": ["upstream", "emscripten"],
3772
3894
  "values": [
3773
3895
  {"value": 1, "name": "standard"},
3774
3896
  {"value": 2, "name": "extended"}
@@ -3795,11 +3917,11 @@
3795
3917
  {"value": 7, "name": "surface source wayland surface"},
3796
3918
  {"value": 8, "name": "surface source android native window"},
3797
3919
  {"value": 9, "name": "surface source XCB window"},
3798
- {"value": 10, "name": "surface color management", "tags": ["upstream", "emscripten"]},
3799
- {"value": 11, "name": "request adapter WebXR options", "tags": ["upstream", "emscripten"]},
3800
- {"value": 12, "name": "adapter properties subgroups"},
3920
+ {"value": 10, "name": "surface color management"},
3921
+ {"value": 11, "name": "request adapter WebXR options"},
3801
3922
 
3802
- {"value": 0, "name": "texture binding view dimension descriptor", "tags": ["compat"]},
3923
+ {"value": 0, "name": "compatibility mode limits", "tags": ["compat"]},
3924
+ {"value": 1, "name": "texture binding view dimension descriptor", "tags": ["compat"]},
3803
3925
 
3804
3926
  {"value": 0, "name": "emscripten surface source canvas HTML selector", "tags": ["emscripten"]},
3805
3927
 
@@ -3872,7 +3994,16 @@
3872
3994
  {"value": 66, "name": "dawn device allocator control", "tags": ["dawn"]},
3873
3995
  {"value": 67, "name": "dawn host mapped pointer limits", "tags": ["dawn"]},
3874
3996
  {"value": 68, "name": "render pass descriptor resolve rect", "tags": ["dawn"]},
3875
- {"value": 69, "name": "request adapter WebGPU backend options", "tags": ["dawn", "native"]}
3997
+ {"value": 69, "name": "request adapter WebGPU backend options", "tags": ["dawn", "native"]},
3998
+ {"value": 70, "name": "dawn fake device initialize error for testing", "tags": ["dawn"]},
3999
+ {"value": 71, "name": "texture component swizzle descriptor", "tags": ["dawn"]},
4000
+ {"value": 72, "name": "shared texture memory D3D11 begin state", "tags": ["dawn", "native"]},
4001
+ {"value": 73, "name": "dawn consume adapter descriptor", "tags": ["dawn"]},
4002
+ {"value": 74, "name": "bind group layout dynamic binding array", "tags": ["dawn"]},
4003
+ {"value": 75, "name": "dynamic binding array limits", "tags": ["dawn"]},
4004
+ {"value": 76, "name": "bind group dynamic binding array", "tags": ["dawn"]},
4005
+ {"value": 77, "name": "texel buffer binding entry", "tags": ["dawn"]},
4006
+ {"value": 78, "name": "texel buffer binding layout", "tags": ["dawn"]}
3876
4007
  ]
3877
4008
  },
3878
4009
  "texture": {
@@ -3880,6 +4011,7 @@
3880
4011
  "methods": [
3881
4012
  {
3882
4013
  "name": "create view",
4014
+ "no autolock": true,
3883
4015
  "returns": "texture view",
3884
4016
  "args": [
3885
4017
  {"name": "descriptor", "type": "texture view descriptor", "annotation": "const*", "optional": true}
@@ -3895,45 +4027,63 @@
3895
4027
  },
3896
4028
  {
3897
4029
  "name": "set label",
3898
- "returns": "void",
3899
4030
  "args": [
3900
4031
  {"name": "label", "type": "string view"}
3901
4032
  ]
3902
4033
  },
3903
4034
  {
3904
4035
  "name": "get width",
4036
+ "no autolock": true,
3905
4037
  "returns": "uint32_t"
3906
4038
  },
3907
4039
  {
3908
4040
  "name": "get height",
4041
+ "no autolock": true,
3909
4042
  "returns": "uint32_t"
3910
4043
  },
3911
4044
  {
3912
4045
  "name": "get depth or array layers",
4046
+ "no autolock": true,
3913
4047
  "returns": "uint32_t"
3914
4048
  },
3915
4049
  {
3916
4050
  "name": "get mip level count",
4051
+ "no autolock": true,
3917
4052
  "returns": "uint32_t"
3918
4053
  },
3919
4054
  {
3920
4055
  "name": "get sample count",
4056
+ "no autolock": true,
3921
4057
  "returns": "uint32_t"
3922
4058
  },
3923
4059
  {
3924
4060
  "name": "get dimension",
4061
+ "no autolock": true,
3925
4062
  "returns": "texture dimension"
3926
4063
  },
3927
4064
  {
3928
4065
  "name": "get format",
4066
+ "no autolock": true,
3929
4067
  "returns": "texture format"
3930
4068
  },
3931
4069
  {
3932
4070
  "name": "get usage",
4071
+ "no autolock": true,
3933
4072
  "returns": "texture usage"
3934
4073
  },
3935
4074
  {
3936
4075
  "name": "destroy"
4076
+ },
4077
+ {
4078
+ "name": "pin",
4079
+ "tags": ["dawn"],
4080
+ "args": [
4081
+ {"name": "usage", "type": "texture usage"}
4082
+ ]
4083
+ },
4084
+ {
4085
+ "name": "unpin",
4086
+ "tags": ["dawn"]
3937
4087
  }
3938
4088
  ]
3939
4089
  },
@@ -3979,6 +4129,7 @@
3979
4129
  "category": "structure",
3980
4130
  "chained": "in",
3981
4131
  "chain roots": ["texture descriptor"],
4132
+ "tags": ["compat"],
3982
4133
  "members": [
3983
4134
  {"name": "texture binding view dimension", "type": "texture view dimension"}
3984
4135
  ]
@@ -4002,111 +4153,115 @@
4002
4153
  {"value": 3, "name": "R8 uint"},
4003
4154
  {"value": 4, "name": "R8 sint"},
4004
4155
 
4005
- {"value": 5, "name": "R16 uint"},
4006
- {"value": 6, "name": "R16 sint"},
4007
- {"value": 7, "name": "R16 float"},
4008
- {"value": 8, "name": "RG8 unorm"},
4009
- {"value": 9, "name": "RG8 snorm"},
4010
- {"value": 10, "name": "RG8 uint"},
4011
- {"value": 11, "name": "RG8 sint"},
4156
+ {"value": 5, "name": "R16 unorm"},
4157
+ {"value": 6, "name": "R16 snorm"},
4158
+ {"value": 7, "name": "R16 uint"},
4159
+ {"value": 8, "name": "R16 sint"},
4160
+ {"value": 9, "name": "R16 float"},
4161
+
4162
+ {"value": 10, "name": "RG8 unorm"},
4163
+ {"value": 11, "name": "RG8 snorm"},
4164
+ {"value": 12, "name": "RG8 uint"},
4165
+ {"value": 13, "name": "RG8 sint"},
4166
+
4167
+ {"value": 14, "name": "R32 float"},
4168
+ {"value": 15, "name": "R32 uint"},
4169
+ {"value": 16, "name": "R32 sint"},
4170
+
4171
+ {"value": 17, "name": "RG16 unorm"},
4172
+ {"value": 18, "name": "RG16 snorm"},
4173
+ {"value": 19, "name": "RG16 uint"},
4174
+ {"value": 20, "name": "RG16 sint"},
4175
+ {"value": 21, "name": "RG16 float"},
4176
+
4177
+ {"value": 22, "name": "RGBA8 unorm"},
4178
+ {"value": 23, "name": "RGBA8 unorm srgb"},
4179
+ {"value": 24, "name": "RGBA8 snorm"},
4180
+ {"value": 25, "name": "RGBA8 uint"},
4181
+ {"value": 26, "name": "RGBA8 sint"},
4182
+ {"value": 27, "name": "BGRA8 unorm"},
4183
+ {"value": 28, "name": "BGRA8 unorm srgb"},
4012
4184
 
4013
- {"value": 12, "name": "R32 float"},
4014
- {"value": 13, "name": "R32 uint"},
4015
- {"value": 14, "name": "R32 sint"},
4016
- {"value": 15, "name": "RG16 uint"},
4017
- {"value": 16, "name": "RG16 sint"},
4018
- {"value": 17, "name": "RG16 float"},
4019
- {"value": 18, "name": "RGBA8 unorm"},
4020
- {"value": 19, "name": "RGBA8 unorm srgb"},
4021
- {"value": 20, "name": "RGBA8 snorm"},
4022
- {"value": 21, "name": "RGBA8 uint"},
4023
- {"value": 22, "name": "RGBA8 sint"},
4024
- {"value": 23, "name": "BGRA8 unorm"},
4025
- {"value": 24, "name": "BGRA8 unorm srgb"},
4026
- {"value": 25, "name": "RGB10 A2 uint"},
4027
- {"value": 26, "name": "RGB10 A2 unorm"},
4028
- {"value": 27, "name": "RG11 B10 ufloat"},
4029
- {"value": 28, "name": "RGB9 E5 ufloat"},
4185
+ {"value": 29, "name": "RGB10 A2 uint"},
4186
+ {"value": 30, "name": "RGB10 A2 unorm"},
4187
+ {"value": 31, "name": "RG11 B10 ufloat"},
4188
+ {"value": 32, "name": "RGB9 E5 ufloat"},
4030
4189
 
4031
- {"value": 29, "name": "RG32 float"},
4032
- {"value": 30, "name": "RG32 uint"},
4033
- {"value": 31, "name": "RG32 sint"},
4034
- {"value": 32, "name": "RGBA16 uint"},
4035
- {"value": 33, "name": "RGBA16 sint"},
4036
- {"value": 34, "name": "RGBA16 float"},
4190
+ {"value": 33, "name": "RG32 float"},
4191
+ {"value": 34, "name": "RG32 uint"},
4192
+ {"value": 35, "name": "RG32 sint"},
4037
4193
 
4038
- {"value": 35, "name": "RGBA32 float"},
4039
- {"value": 36, "name": "RGBA32 uint"},
4040
- {"value": 37, "name": "RGBA32 sint"},
4194
+ {"value": 36, "name": "RGBA16 unorm"},
4195
+ {"value": 37, "name": "RGBA16 snorm"},
4196
+ {"value": 38, "name": "RGBA16 uint"},
4197
+ {"value": 39, "name": "RGBA16 sint"},
4198
+ {"value": 40, "name": "RGBA16 float"},
4041
4199
 
4042
- {"value": 38, "name": "stencil8"},
4043
- {"value": 39, "name": "depth16 unorm"},
4044
- {"value": 40, "name": "depth24 plus"},
4045
- {"value": 41, "name": "depth24 plus stencil8"},
4046
- {"value": 42, "name": "depth32 float"},
4047
- {"value": 43, "name": "depth32 float stencil8"},
4200
+ {"value": 41, "name": "RGBA32 float"},
4201
+ {"value": 42, "name": "RGBA32 uint"},
4202
+ {"value": 43, "name": "RGBA32 sint"},
4048
4203
 
4049
- {"value": 44, "name": "BC1 RGBA unorm", "jsrepr": "'bc1-rgba-unorm'"},
4050
- {"value": 45, "name": "BC1 RGBA unorm srgb", "jsrepr": "'bc1-rgba-unorm-srgb'"},
4051
- {"value": 46, "name": "BC2 RGBA unorm", "jsrepr": "'bc2-rgba-unorm'"},
4052
- {"value": 47, "name": "BC2 RGBA unorm srgb", "jsrepr": "'bc2-rgba-unorm-srgb'"},
4053
- {"value": 48, "name": "BC3 RGBA unorm", "jsrepr": "'bc3-rgba-unorm'"},
4054
- {"value": 49, "name": "BC3 RGBA unorm srgb", "jsrepr": "'bc3-rgba-unorm-srgb'"},
4055
- {"value": 50, "name": "BC4 R unorm", "jsrepr": "'bc4-r-unorm'"},
4056
- {"value": 51, "name": "BC4 R snorm", "jsrepr": "'bc4-r-snorm'"},
4057
- {"value": 52, "name": "BC5 RG unorm", "jsrepr": "'bc5-rg-unorm'"},
4058
- {"value": 53, "name": "BC5 RG snorm", "jsrepr": "'bc5-rg-snorm'"},
4059
- {"value": 54, "name": "BC6H RGB ufloat", "jsrepr": "'bc6h-rgb-ufloat'"},
4060
- {"value": 55, "name": "BC6H RGB float", "jsrepr": "'bc6h-rgb-float'"},
4061
- {"value": 56, "name": "BC7 RGBA unorm", "jsrepr": "'bc7-rgba-unorm'"},
4062
- {"value": 57, "name": "BC7 RGBA unorm srgb", "jsrepr": "'bc7-rgba-unorm-srgb'"},
4204
+ {"value": 44, "name": "stencil8"},
4205
+ {"value": 45, "name": "depth16 unorm"},
4206
+ {"value": 46, "name": "depth24 plus"},
4207
+ {"value": 47, "name": "depth24 plus stencil8"},
4208
+ {"value": 48, "name": "depth32 float"},
4209
+ {"value": 49, "name": "depth32 float stencil8"},
4063
4210
 
4064
- {"value": 58, "name": "ETC2 RGB8 unorm", "jsrepr": "'etc2-rgb8unorm'"},
4065
- {"value": 59, "name": "ETC2 RGB8 unorm srgb", "jsrepr": "'etc2-rgb8unorm-srgb'"},
4066
- {"value": 60, "name": "ETC2 RGB8A1 unorm", "jsrepr": "'etc2-rgb8a1unorm'"},
4067
- {"value": 61, "name": "ETC2 RGB8A1 unorm srgb", "jsrepr": "'etc2-rgb8a1unorm-srgb'"},
4068
- {"value": 62, "name": "ETC2 RGBA8 unorm", "jsrepr": "'etc2-rgba8unorm'"},
4069
- {"value": 63, "name": "ETC2 RGBA8 unorm srgb", "jsrepr": "'etc2-rgba8unorm-srgb'"},
4070
- {"value": 64, "name": "EAC R11 unorm", "jsrepr": "'eac-r11unorm'"},
4071
- {"value": 65, "name": "EAC R11 snorm", "jsrepr": "'eac-r11snorm'"},
4072
- {"value": 66, "name": "EAC RG11 unorm", "jsrepr": "'eac-rg11unorm'"},
4073
- {"value": 67, "name": "EAC RG11 snorm", "jsrepr": "'eac-rg11snorm'"},
4211
+ {"value": 50, "name": "BC1 RGBA unorm", "jsrepr": "'bc1-rgba-unorm'"},
4212
+ {"value": 51, "name": "BC1 RGBA unorm srgb", "jsrepr": "'bc1-rgba-unorm-srgb'"},
4213
+ {"value": 52, "name": "BC2 RGBA unorm", "jsrepr": "'bc2-rgba-unorm'"},
4214
+ {"value": 53, "name": "BC2 RGBA unorm srgb", "jsrepr": "'bc2-rgba-unorm-srgb'"},
4215
+ {"value": 54, "name": "BC3 RGBA unorm", "jsrepr": "'bc3-rgba-unorm'"},
4216
+ {"value": 55, "name": "BC3 RGBA unorm srgb", "jsrepr": "'bc3-rgba-unorm-srgb'"},
4217
+ {"value": 56, "name": "BC4 R unorm", "jsrepr": "'bc4-r-unorm'"},
4218
+ {"value": 57, "name": "BC4 R snorm", "jsrepr": "'bc4-r-snorm'"},
4219
+ {"value": 58, "name": "BC5 RG unorm", "jsrepr": "'bc5-rg-unorm'"},
4220
+ {"value": 59, "name": "BC5 RG snorm", "jsrepr": "'bc5-rg-snorm'"},
4221
+ {"value": 60, "name": "BC6H RGB ufloat", "jsrepr": "'bc6h-rgb-ufloat'"},
4222
+ {"value": 61, "name": "BC6H RGB float", "jsrepr": "'bc6h-rgb-float'"},
4223
+ {"value": 62, "name": "BC7 RGBA unorm", "jsrepr": "'bc7-rgba-unorm'"},
4224
+ {"value": 63, "name": "BC7 RGBA unorm srgb", "jsrepr": "'bc7-rgba-unorm-srgb'"},
4074
4225
 
4075
- {"value": 68, "name": "ASTC 4x4 unorm", "jsrepr": "'astc-4x4-unorm'"},
4076
- {"value": 69, "name": "ASTC 4x4 unorm srgb", "jsrepr": "'astc-4x4-unorm-srgb'"},
4077
- {"value": 70, "name": "ASTC 5x4 unorm", "jsrepr": "'astc-5x4-unorm'"},
4078
- {"value": 71, "name": "ASTC 5x4 unorm srgb", "jsrepr": "'astc-5x4-unorm-srgb'"},
4079
- {"value": 72, "name": "ASTC 5x5 unorm", "jsrepr": "'astc-5x5-unorm'"},
4080
- {"value": 73, "name": "ASTC 5x5 unorm srgb", "jsrepr": "'astc-5x5-unorm-srgb'"},
4081
- {"value": 74, "name": "ASTC 6x5 unorm", "jsrepr": "'astc-6x5-unorm'"},
4082
- {"value": 75, "name": "ASTC 6x5 unorm srgb", "jsrepr": "'astc-6x5-unorm-srgb'"},
4083
- {"value": 76, "name": "ASTC 6x6 unorm", "jsrepr": "'astc-6x6-unorm'"},
4084
- {"value": 77, "name": "ASTC 6x6 unorm srgb", "jsrepr": "'astc-6x6-unorm-srgb'"},
4085
- {"value": 78, "name": "ASTC 8x5 unorm", "jsrepr": "'astc-8x5-unorm'"},
4086
- {"value": 79, "name": "ASTC 8x5 unorm srgb", "jsrepr": "'astc-8x5-unorm-srgb'"},
4087
- {"value": 80, "name": "ASTC 8x6 unorm", "jsrepr": "'astc-8x6-unorm'"},
4088
- {"value": 81, "name": "ASTC 8x6 unorm srgb", "jsrepr": "'astc-8x6-unorm-srgb'"},
4089
- {"value": 82, "name": "ASTC 8x8 unorm", "jsrepr": "'astc-8x8-unorm'"},
4090
- {"value": 83, "name": "ASTC 8x8 unorm srgb", "jsrepr": "'astc-8x8-unorm-srgb'"},
4091
- {"value": 84, "name": "ASTC 10x5 unorm", "jsrepr": "'astc-10x5-unorm'"},
4092
- {"value": 85, "name": "ASTC 10x5 unorm srgb", "jsrepr": "'astc-10x5-unorm-srgb'"},
4093
- {"value": 86, "name": "ASTC 10x6 unorm", "jsrepr": "'astc-10x6-unorm'"},
4094
- {"value": 87, "name": "ASTC 10x6 unorm srgb", "jsrepr": "'astc-10x6-unorm-srgb'"},
4095
- {"value": 88, "name": "ASTC 10x8 unorm", "jsrepr": "'astc-10x8-unorm'"},
4096
- {"value": 89, "name": "ASTC 10x8 unorm srgb", "jsrepr": "'astc-10x8-unorm-srgb'"},
4097
- {"value": 90, "name": "ASTC 10x10 unorm", "jsrepr": "'astc-10x10-unorm'"},
4098
- {"value": 91, "name": "ASTC 10x10 unorm srgb", "jsrepr": "'astc-10x10-unorm-srgb'"},
4099
- {"value": 92, "name": "ASTC 12x10 unorm", "jsrepr": "'astc-12x10-unorm'"},
4100
- {"value": 93, "name": "ASTC 12x10 unorm srgb", "jsrepr": "'astc-12x10-unorm-srgb'"},
4101
- {"value": 94, "name": "ASTC 12x12 unorm", "jsrepr": "'astc-12x12-unorm'"},
4102
- {"value": 95, "name": "ASTC 12x12 unorm srgb", "jsrepr": "'astc-12x12-unorm-srgb'"},
4226
+ {"value": 64, "name": "ETC2 RGB8 unorm", "jsrepr": "'etc2-rgb8unorm'"},
4227
+ {"value": 65, "name": "ETC2 RGB8 unorm srgb", "jsrepr": "'etc2-rgb8unorm-srgb'"},
4228
+ {"value": 66, "name": "ETC2 RGB8A1 unorm", "jsrepr": "'etc2-rgb8a1unorm'"},
4229
+ {"value": 67, "name": "ETC2 RGB8A1 unorm srgb", "jsrepr": "'etc2-rgb8a1unorm-srgb'"},
4230
+ {"value": 68, "name": "ETC2 RGBA8 unorm", "jsrepr": "'etc2-rgba8unorm'"},
4231
+ {"value": 69, "name": "ETC2 RGBA8 unorm srgb", "jsrepr": "'etc2-rgba8unorm-srgb'"},
4232
+ {"value": 70, "name": "EAC R11 unorm", "jsrepr": "'eac-r11unorm'"},
4233
+ {"value": 71, "name": "EAC R11 snorm", "jsrepr": "'eac-r11snorm'"},
4234
+ {"value": 72, "name": "EAC RG11 unorm", "jsrepr": "'eac-rg11unorm'"},
4235
+ {"value": 73, "name": "EAC RG11 snorm", "jsrepr": "'eac-rg11snorm'"},
4103
4236
 
4104
- {"value": 0, "name": "R16 unorm", "tags": ["dawn"]},
4105
- {"value": 1, "name": "RG16 unorm", "tags": ["dawn"]},
4106
- {"value": 2, "name": "RGBA16 unorm", "tags": ["dawn"]},
4107
- {"value": 3, "name": "R16 snorm", "tags": ["dawn"]},
4108
- {"value": 4, "name": "RG16 snorm", "tags": ["dawn"]},
4109
- {"value": 5, "name": "RGBA16 snorm", "tags": ["dawn"]},
4237
+ {"value": 74, "name": "ASTC 4x4 unorm", "jsrepr": "'astc-4x4-unorm'"},
4238
+ {"value": 75, "name": "ASTC 4x4 unorm srgb", "jsrepr": "'astc-4x4-unorm-srgb'"},
4239
+ {"value": 76, "name": "ASTC 5x4 unorm", "jsrepr": "'astc-5x4-unorm'"},
4240
+ {"value": 77, "name": "ASTC 5x4 unorm srgb", "jsrepr": "'astc-5x4-unorm-srgb'"},
4241
+ {"value": 78, "name": "ASTC 5x5 unorm", "jsrepr": "'astc-5x5-unorm'"},
4242
+ {"value": 79, "name": "ASTC 5x5 unorm srgb", "jsrepr": "'astc-5x5-unorm-srgb'"},
4243
+ {"value": 80, "name": "ASTC 6x5 unorm", "jsrepr": "'astc-6x5-unorm'"},
4244
+ {"value": 81, "name": "ASTC 6x5 unorm srgb", "jsrepr": "'astc-6x5-unorm-srgb'"},
4245
+ {"value": 82, "name": "ASTC 6x6 unorm", "jsrepr": "'astc-6x6-unorm'"},
4246
+ {"value": 83, "name": "ASTC 6x6 unorm srgb", "jsrepr": "'astc-6x6-unorm-srgb'"},
4247
+ {"value": 84, "name": "ASTC 8x5 unorm", "jsrepr": "'astc-8x5-unorm'"},
4248
+ {"value": 85, "name": "ASTC 8x5 unorm srgb", "jsrepr": "'astc-8x5-unorm-srgb'"},
4249
+ {"value": 86, "name": "ASTC 8x6 unorm", "jsrepr": "'astc-8x6-unorm'"},
4250
+ {"value": 87, "name": "ASTC 8x6 unorm srgb", "jsrepr": "'astc-8x6-unorm-srgb'"},
4251
+ {"value": 88, "name": "ASTC 8x8 unorm", "jsrepr": "'astc-8x8-unorm'"},
4252
+ {"value": 89, "name": "ASTC 8x8 unorm srgb", "jsrepr": "'astc-8x8-unorm-srgb'"},
4253
+ {"value": 90, "name": "ASTC 10x5 unorm", "jsrepr": "'astc-10x5-unorm'"},
4254
+ {"value": 91, "name": "ASTC 10x5 unorm srgb", "jsrepr": "'astc-10x5-unorm-srgb'"},
4255
+ {"value": 92, "name": "ASTC 10x6 unorm", "jsrepr": "'astc-10x6-unorm'"},
4256
+ {"value": 93, "name": "ASTC 10x6 unorm srgb", "jsrepr": "'astc-10x6-unorm-srgb'"},
4257
+ {"value": 94, "name": "ASTC 10x8 unorm", "jsrepr": "'astc-10x8-unorm'"},
4258
+ {"value": 95, "name": "ASTC 10x8 unorm srgb", "jsrepr": "'astc-10x8-unorm-srgb'"},
4259
+ {"value": 96, "name": "ASTC 10x10 unorm", "jsrepr": "'astc-10x10-unorm'"},
4260
+ {"value": 97, "name": "ASTC 10x10 unorm srgb", "jsrepr": "'astc-10x10-unorm-srgb'"},
4261
+ {"value": 98, "name": "ASTC 12x10 unorm", "jsrepr": "'astc-12x10-unorm'"},
4262
+ {"value": 99, "name": "ASTC 12x10 unorm srgb", "jsrepr": "'astc-12x10-unorm-srgb'"},
4263
+ {"value": 100, "name": "ASTC 12x12 unorm", "jsrepr": "'astc-12x12-unorm'"},
4264
+ {"value": 101, "name": "ASTC 12x12 unorm srgb", "jsrepr": "'astc-12x12-unorm-srgb'"},
4110
4265
 
4111
4266
  {"value": 6, "name": "R8 BG8 Biplanar 420 unorm", "tags": ["dawn"]},
4112
4267
  {"value": 7, "name": "R10X6 BG10X6 Biplanar 420 unorm", "tags": ["dawn"]},
@@ -4146,12 +4301,43 @@
4146
4301
  {"name": "usage", "type": "texture usage"}
4147
4302
  ]
4148
4303
  },
4304
+ "texel buffer view descriptor": {
4305
+ "category": "structure",
4306
+ "tags": ["dawn"],
4307
+ "extensible": "in",
4308
+ "members": [
4309
+ {"name": "label", "type": "string view", "optional": true},
4310
+ {"name": "format", "type": "texture format"},
4311
+ {"name": "offset", "type": "uint64_t", "default": "0"},
4312
+ {"name": "size", "type": "uint64_t", "default": "whole size"}
4313
+ ]
4314
+ },
4315
+ "texture component swizzle descriptor": {
4316
+ "category": "structure",
4317
+ "tags": ["dawn"],
4318
+ "chained": "in",
4319
+ "chain roots": ["texture view descriptor"],
4320
+ "members": [
4321
+ {"name": "swizzle", "type": "texture component swizzle"}
4322
+ ]
4323
+ },
4149
4324
  "texture view": {
4150
4325
  "category": "object",
4151
4326
  "methods": [
4152
4327
  {
4153
4328
  "name": "set label",
4154
- "returns": "void",
4329
+ "args": [
4330
+ {"name": "label", "type": "string view"}
4331
+ ]
4332
+ }
4333
+ ]
4334
+ },
4335
+ "texel buffer view": {
4336
+ "category": "object",
4337
+ "tags": ["dawn"],
4338
+ "methods": [
4339
+ {
4340
+ "name": "set label",
4155
4341
  "args": [
4156
4342
  {"name": "label", "type": "string view"}
4157
4343
  ]
@@ -4170,6 +4356,30 @@
4170
4356
  {"value": 6, "name": "3D"}
4171
4357
  ]
4172
4358
  },
4359
+ "texture component swizzle": {
4360
+ "category": "structure",
4361
+ "tags": ["dawn"],
4362
+ "extensible": false,
4363
+ "members": [
4364
+ {"name": "r", "type": "component swizzle", "default": "r"},
4365
+ {"name": "g", "type": "component swizzle", "default": "g"},
4366
+ {"name": "b", "type": "component swizzle", "default": "b"},
4367
+ {"name": "a", "type": "component swizzle", "default": "a"}
4368
+ ]
4369
+ },
4370
+ "component swizzle": {
4371
+ "category": "enum",
4372
+ "tags": ["dawn"],
4373
+ "values": [
4374
+ {"value": 0, "name": "undefined", "jsrepr": "undefined"},
4375
+ {"value": 1, "name": "zero"},
4376
+ {"value": 2, "name": "one"},
4377
+ {"value": 3, "name": "r"},
4378
+ {"value": 4, "name": "g"},
4379
+ {"value": 5, "name": "b"},
4380
+ {"value": 6, "name": "a"}
4381
+ ]
4382
+ },
4173
4383
  "y cb cr vk descriptor": {
4174
4384
  "category": "structure",
4175
4385
  "chained": "in",
@@ -4243,7 +4453,9 @@
4243
4453
  {"value": 2, "name": "packed 4x8 integer dot product", "jsrepr": "'packed_4x8_integer_dot_product'"},
4244
4454
  {"value": 3, "name": "unrestricted pointer parameters", "jsrepr": "'unrestricted_pointer_parameters'"},
4245
4455
  {"value": 4, "name": "pointer composite access", "jsrepr": "'pointer_composite_access'"},
4246
- {"value": 5, "name": "sized binding array", "jsrepr": "'sized_binding_array'"},
4456
+ {"value": 5, "name": "sized binding array", "jsrepr": "'sized_binding_array'", "tags": ["dawn"]},
4457
+ {"value": 6, "name": "texel buffers", "jsrepr": "'texel_buffers'", "tags": ["dawn"]},
4458
+ {"value": 7, "name": "chromium print", "jsrepr": "'chromium_print'", "tags": ["dawn"]},
4247
4459
 
4248
4460
  {"value": 0, "name": "chromium testing unimplemented", "jsrepr": "'chromium_testing_unimplemented'", "tags": ["dawn"]},
4249
4461
  {"value": 1, "name": "chromium testing unsafe experimental", "jsrepr": "'chromium_testing_unsafe_experimental'", "tags": ["dawn"]},
@@ -4321,15 +4533,16 @@
4321
4533
  "category": "native"
4322
4534
  },
4323
4535
  "void": {
4324
- "category": "native",
4325
- "wasm type": "v"
4536
+ "category": "native"
4326
4537
  },
4327
4538
  "void *": {
4328
4539
  "category": "native",
4540
+ "is nullable pointer": true,
4329
4541
  "wasm type": "p"
4330
4542
  },
4331
4543
  "void const *": {
4332
4544
  "category": "native",
4545
+ "is nullable pointer": true,
4333
4546
  "wasm type": "p"
4334
4547
  },
4335
4548
  "int": {
@@ -4446,11 +4659,14 @@
4446
4659
  "subgroup matrix component type": {
4447
4660
  "category": "enum",
4448
4661
  "emscripten_no_enum_table": true,
4662
+ "tags": ["dawn"],
4449
4663
  "values": [
4450
4664
  {"value": 1, "name": "f32"},
4451
4665
  {"value": 2, "name": "f16"},
4452
4666
  {"value": 3, "name": "u32"},
4453
- {"value": 4, "name": "i32"}
4667
+ {"value": 4, "name": "i32"},
4668
+ {"value": 5, "name": "u8"},
4669
+ {"value": 6, "name": "i8"}
4454
4670
  ]
4455
4671
  },
4456
4672
  "subgroup matrix config": {