react-native-webgpu 0.9.0 → 0.10.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 (140) hide show
  1. package/Package.swift +191 -0
  2. package/android/CMakeLists.txt +1 -2
  3. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +10 -1
  4. package/android/src/main/java/com/webgpu/WebGPUTextureView.java +2 -2
  5. package/android/src/main/java/com/webgpu/WebGPUView.java +48 -16
  6. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +21 -4
  7. package/cpp/jsi/JSICache.cpp +97 -0
  8. package/cpp/jsi/JSICache.h +90 -0
  9. package/cpp/jsi/NativeObject.h +24 -86
  10. package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -3
  11. package/cpp/rnwgpu/SurfaceRegistry.h +153 -3
  12. package/cpp/rnwgpu/api/GPUAdapter.cpp +43 -1
  13. package/cpp/rnwgpu/api/GPUDevice.cpp +6 -1
  14. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +3 -3
  15. package/cpp/rnwgpu/api/GPUFeatures.h +2 -1
  16. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +2 -2
  17. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +11 -0
  18. package/cpp/webgpu/webgpu.h +63 -29
  19. package/cpp/webgpu/webgpu_cpp.h +415 -367
  20. package/cpp/webgpu/webgpu_cpp_print.h +21 -9
  21. package/cpp/webgpu/webgpu_enum_class_bitmasks.h +2 -1
  22. package/lib/commonjs/Canvas.js +8 -2
  23. package/lib/commonjs/Canvas.js.map +1 -1
  24. package/lib/commonjs/WebGPUViewNativeComponent.js.map +1 -1
  25. package/lib/commonjs/WebGPUViewNativeComponent.web.js +4 -2
  26. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +1 -1
  27. package/lib/commonjs/mock.js +3 -1
  28. package/lib/commonjs/mock.js.map +1 -1
  29. package/lib/module/Canvas.js +8 -2
  30. package/lib/module/Canvas.js.map +1 -1
  31. package/lib/module/WebGPUViewNativeComponent.js.map +1 -1
  32. package/lib/module/WebGPUViewNativeComponent.web.js +4 -2
  33. package/lib/module/WebGPUViewNativeComponent.web.js.map +1 -1
  34. package/lib/module/mock.js +3 -1
  35. package/lib/module/mock.js.map +1 -1
  36. package/lib/typescript/lib/commonjs/Canvas.d.ts +3 -2
  37. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +1 -1
  38. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +1 -1
  39. package/lib/typescript/lib/commonjs/mock.d.ts +3 -2
  40. package/lib/typescript/lib/commonjs/mock.d.ts.map +1 -1
  41. package/lib/typescript/lib/module/Canvas.d.ts +3 -2
  42. package/lib/typescript/lib/module/Canvas.d.ts.map +1 -1
  43. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +1 -1
  44. package/lib/typescript/lib/module/mock.d.ts +3 -2
  45. package/lib/typescript/lib/module/mock.d.ts.map +1 -1
  46. package/lib/typescript/src/Canvas.d.ts +24 -3
  47. package/lib/typescript/src/Canvas.d.ts.map +1 -1
  48. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts +4 -2
  49. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +1 -1
  50. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +3 -1
  51. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +1 -1
  52. package/lib/typescript/src/index.d.ts +1 -0
  53. package/lib/typescript/src/index.d.ts.map +1 -1
  54. package/lib/typescript/src/mock.d.ts +3 -7
  55. package/lib/typescript/src/mock.d.ts.map +1 -1
  56. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  57. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  58. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  59. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  60. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +12 -6
  61. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/dawn_proc_table.h +329 -0
  62. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/native/DawnNative.h +367 -0
  63. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/native/NullBackend.h +39 -0
  64. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/native/OpenGLBackend.h +89 -0
  65. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/native/VulkanBackend.h +183 -0
  66. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/native/dawn_native_export.h +49 -0
  67. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/webgpu.h +5063 -0
  68. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/webgpu.ixx +358 -0
  69. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/webgpu_cpp.h +10401 -0
  70. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/webgpu_cpp_print.h +2868 -0
  71. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/wire/client/webgpu.h +369 -0
  72. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/wire/client/webgpu_cpp.h +10584 -0
  73. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/dawn/wire/client/webgpu_cpp_print.h +2868 -0
  74. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu/webgpu.h +33 -0
  75. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu/webgpu_cpp.h +33 -0
  76. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu/webgpu_cpp_chained_struct.h +57 -0
  77. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu/webgpu_cpp_print.h +33 -0
  78. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu/webgpu_enum_class_bitmasks.h +163 -0
  79. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu_upstream/webgpu/webgpu_cpp.h +5932 -0
  80. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu_upstream/webgpu/webgpu_cpp_chained_struct.h +54 -0
  81. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu_upstream/webgpu/webgpu_cpp_print.h +2059 -0
  82. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/Headers/webgpu_upstream/webgpu/webgpu_enum_class_bitmasks.h +163 -0
  83. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  84. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/dawn_proc_table.h +329 -0
  85. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/native/DawnNative.h +367 -0
  86. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/native/NullBackend.h +39 -0
  87. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/native/OpenGLBackend.h +89 -0
  88. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/native/VulkanBackend.h +183 -0
  89. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/native/dawn_native_export.h +49 -0
  90. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/webgpu.h +5063 -0
  91. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/webgpu.ixx +358 -0
  92. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/webgpu_cpp.h +10401 -0
  93. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/webgpu_cpp_print.h +2868 -0
  94. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/wire/client/webgpu.h +369 -0
  95. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/wire/client/webgpu_cpp.h +10584 -0
  96. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/dawn/wire/client/webgpu_cpp_print.h +2868 -0
  97. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu/webgpu.h +33 -0
  98. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu/webgpu_cpp.h +33 -0
  99. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu/webgpu_cpp_chained_struct.h +57 -0
  100. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu/webgpu_cpp_print.h +33 -0
  101. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu/webgpu_enum_class_bitmasks.h +163 -0
  102. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu_upstream/webgpu/webgpu_cpp.h +5932 -0
  103. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu_upstream/webgpu/webgpu_cpp_chained_struct.h +54 -0
  104. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu_upstream/webgpu/webgpu_cpp_print.h +2059 -0
  105. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/Headers/webgpu_upstream/webgpu/webgpu_enum_class_bitmasks.h +163 -0
  106. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  107. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/dawn_proc_table.h +329 -0
  108. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/native/DawnNative.h +367 -0
  109. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/native/NullBackend.h +39 -0
  110. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/native/OpenGLBackend.h +89 -0
  111. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/native/VulkanBackend.h +183 -0
  112. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/native/dawn_native_export.h +49 -0
  113. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/webgpu.h +5063 -0
  114. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/webgpu.ixx +358 -0
  115. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/webgpu_cpp.h +10401 -0
  116. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/webgpu_cpp_print.h +2868 -0
  117. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/wire/client/webgpu.h +369 -0
  118. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/wire/client/webgpu_cpp.h +10584 -0
  119. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/dawn/wire/client/webgpu_cpp_print.h +2868 -0
  120. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu/webgpu.h +33 -0
  121. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu/webgpu_cpp.h +33 -0
  122. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu/webgpu_cpp_chained_struct.h +57 -0
  123. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu/webgpu_cpp_print.h +33 -0
  124. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu/webgpu_enum_class_bitmasks.h +163 -0
  125. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu_upstream/webgpu/webgpu_cpp.h +5932 -0
  126. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu_upstream/webgpu/webgpu_cpp_chained_struct.h +54 -0
  127. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu_upstream/webgpu/webgpu_cpp_print.h +2059 -0
  128. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/Headers/webgpu_upstream/webgpu/webgpu_enum_class_bitmasks.h +163 -0
  129. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  130. package/package.json +6 -4
  131. package/react-native-webgpu.podspec +33 -9
  132. package/src/Canvas.tsx +43 -4
  133. package/src/WebGPUViewNativeComponent.ts +10 -2
  134. package/src/WebGPUViewNativeComponent.web.ts +12 -3
  135. package/src/index.tsx +7 -0
  136. package/src/mock.ts +12 -9
  137. package/cpp/jsi/RuntimeAwareCache.cpp +0 -8
  138. package/cpp/jsi/RuntimeAwareCache.h +0 -133
  139. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  140. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
@@ -178,6 +178,7 @@ struct WGPUDawnHostMappedPointerLimits;
178
178
  struct WGPUDawnInjectedInvalidSType;
179
179
  struct WGPUDawnRenderPassSampleCount;
180
180
  struct WGPUDawnShaderModuleSPIRVOptionsDescriptor;
181
+ struct WGPUDawnShaderSourceSPIRV;
181
182
  struct WGPUDawnTexelCopyBufferRowAlignmentLimits;
182
183
  struct WGPUDawnTextureInternalUsageDescriptor;
183
184
  struct WGPUDawnTogglesDescriptor;
@@ -202,7 +203,7 @@ struct WGPUPrimitiveState;
202
203
  struct WGPUQuerySetDescriptor;
203
204
  struct WGPUQueueDescriptor;
204
205
  struct WGPURenderBundleDescriptor;
205
- struct WGPURenderBundleEncoderDescriptor;
206
+ struct WGPURenderBundleEncoderResourceTable;
206
207
  struct WGPURenderPassDepthStencilAttachment;
207
208
  struct WGPURenderPassDescriptorResolveRect;
208
209
  struct WGPURenderPassMaxDrawCount;
@@ -289,6 +290,7 @@ struct WGPUImageCopyExternalTexture;
289
290
  struct WGPUInstanceDescriptor;
290
291
  struct WGPULimits;
291
292
  struct WGPUPipelineLayoutPixelLocalStorage;
293
+ struct WGPURenderBundleEncoderDescriptor;
292
294
  struct WGPURenderPassColorAttachment;
293
295
  struct WGPURenderPassRenderAreaRect;
294
296
  struct WGPURenderPassStorageAttachment;
@@ -451,6 +453,7 @@ typedef enum WGPUColorSpaceTransferDawn {
451
453
  WGPUColorSpaceTransferDawn_SMPTE_170M = 0x00000004,
452
454
  WGPUColorSpaceTransferDawn_HLG = 0x00000005,
453
455
  WGPUColorSpaceTransferDawn_PQ = 0x00000006,
456
+ WGPUColorSpaceTransferDawn_BT_1886 = 0x00000007,
454
457
  WGPUColorSpaceTransferDawn_Force32 = 0x7FFFFFFF
455
458
  } WGPUColorSpaceTransferDawn WGPU_ENUM_ATTRIBUTE;
456
459
 
@@ -660,6 +663,7 @@ typedef enum WGPUFeatureName {
660
663
  WGPUFeatureName_AdapterPropertiesDrm = 0x00050040,
661
664
  WGPUFeatureName_TextureCompressionUnaligned = 0x00050041,
662
665
  WGPUFeatureName_DawnAllowUndefinedLoadStoreOp = 0x00050042,
666
+ WGPUFeatureName_BufferMapWriteExtendedUsages = 0x00050043,
663
667
  WGPUFeatureName_Force32 = 0x7FFFFFFF
664
668
  } WGPUFeatureName WGPU_ENUM_ATTRIBUTE;
665
669
 
@@ -950,6 +954,8 @@ typedef enum WGPUSType {
950
954
  WGPUSType_RequestAdapterOptionsAngleVirtualizationGroup = 0x0005004F,
951
955
  WGPUSType_PipelineLayoutResourceTable = 0x00050050,
952
956
  WGPUSType_AdapterPropertiesDrm = 0x00050051,
957
+ WGPUSType_RenderBundleEncoderResourceTable = 0x00050052,
958
+ WGPUSType_DawnShaderSourceSPIRV = 0x00050053,
953
959
  WGPUSType_Force32 = 0x7FFFFFFF
954
960
  } WGPUSType WGPU_ENUM_ATTRIBUTE;
955
961
 
@@ -1213,6 +1219,9 @@ typedef enum WGPUWGSLLanguageFeatureName {
1213
1219
  WGPUWGSLLanguageFeatureName_TextureFormatsTier1 = 0x00000009,
1214
1220
  WGPUWGSLLanguageFeatureName_LinearIndexing = 0x0000000A,
1215
1221
  WGPUWGSLLanguageFeatureName_ImmediateAddressSpace = 0x0000000B,
1222
+ WGPUWGSLLanguageFeatureName_BufferView = 0x0000000C,
1223
+ WGPUWGSLLanguageFeatureName_SwizzleAssignment = 0x0000000D,
1224
+ WGPUWGSLLanguageFeatureName_FragmentDepth = 0x0000000E,
1216
1225
  WGPUWGSLLanguageFeatureName_ChromiumTestingUnimplemented = 0x00050000,
1217
1226
  WGPUWGSLLanguageFeatureName_ChromiumTestingUnsafeExperimental = 0x00050001,
1218
1227
  WGPUWGSLLanguageFeatureName_ChromiumTestingExperimental = 0x00050002,
@@ -1221,9 +1230,6 @@ typedef enum WGPUWGSLLanguageFeatureName {
1221
1230
  WGPUWGSLLanguageFeatureName_SizedBindingArray = 0x00050005,
1222
1231
  WGPUWGSLLanguageFeatureName_TexelBuffers = 0x00050006,
1223
1232
  WGPUWGSLLanguageFeatureName_ChromiumPrint = 0x00050007,
1224
- WGPUWGSLLanguageFeatureName_FragmentDepth = 0x00050008,
1225
- WGPUWGSLLanguageFeatureName_BufferView = 0x00050009,
1226
- WGPUWGSLLanguageFeatureName_SwizzleAssignment = 0x0005000A,
1227
1233
  WGPUWGSLLanguageFeatureName_Force32 = 0x7FFFFFFF
1228
1234
  } WGPUWGSLLanguageFeatureName WGPU_ENUM_ATTRIBUTE;
1229
1235
 
@@ -1958,6 +1964,22 @@ typedef struct WGPUDawnShaderModuleSPIRVOptionsDescriptor {
1958
1964
  /*.allowNonUniformDerivatives=*/WGPU_FALSE _wgpu_COMMA \
1959
1965
  })
1960
1966
 
1967
+ // Can be chained in WGPUShaderModuleDescriptor
1968
+ typedef struct WGPUDawnShaderSourceSPIRV {
1969
+ WGPUChainedStruct chain;
1970
+ size_t codeSize;
1971
+ uint32_t const * code;
1972
+ } WGPUDawnShaderSourceSPIRV WGPU_STRUCTURE_ATTRIBUTE;
1973
+
1974
+ #define WGPU_DAWN_SHADER_SOURCE_SPIRV_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDawnShaderSourceSPIRV, { \
1975
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
1976
+ /*.next=*/NULL _wgpu_COMMA \
1977
+ /*.sType=*/WGPUSType_DawnShaderSourceSPIRV _wgpu_COMMA \
1978
+ }) _wgpu_COMMA \
1979
+ /*.codeSize=*/0 _wgpu_COMMA \
1980
+ /*.code=*/NULL _wgpu_COMMA \
1981
+ })
1982
+
1961
1983
  // Can be chained in WGPULimits
1962
1984
  typedef struct WGPUDawnTexelCopyBufferRowAlignmentLimits {
1963
1985
  WGPUChainedStruct chain;
@@ -2268,26 +2290,18 @@ typedef struct WGPURenderBundleDescriptor {
2268
2290
  /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
2269
2291
  })
2270
2292
 
2271
- typedef struct WGPURenderBundleEncoderDescriptor {
2272
- WGPUChainedStruct * nextInChain;
2273
- WGPUStringView label;
2274
- size_t colorFormatCount;
2275
- WGPUTextureFormat const * colorFormats;
2276
- WGPUTextureFormat depthStencilFormat;
2277
- uint32_t sampleCount;
2278
- WGPUBool depthReadOnly;
2279
- WGPUBool stencilReadOnly;
2280
- } WGPURenderBundleEncoderDescriptor WGPU_STRUCTURE_ATTRIBUTE;
2293
+ // Can be chained in WGPURenderBundleEncoderDescriptor
2294
+ typedef struct WGPURenderBundleEncoderResourceTable {
2295
+ WGPUChainedStruct chain;
2296
+ WGPUBool usesResourceTable;
2297
+ } WGPURenderBundleEncoderResourceTable WGPU_STRUCTURE_ATTRIBUTE;
2281
2298
 
2282
- #define WGPU_RENDER_BUNDLE_ENCODER_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPURenderBundleEncoderDescriptor, { \
2283
- /*.nextInChain=*/NULL _wgpu_COMMA \
2284
- /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
2285
- /*.colorFormatCount=*/0 _wgpu_COMMA \
2286
- /*.colorFormats=*/NULL _wgpu_COMMA \
2287
- /*.depthStencilFormat=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
2288
- /*.sampleCount=*/1 _wgpu_COMMA \
2289
- /*.depthReadOnly=*/WGPU_FALSE _wgpu_COMMA \
2290
- /*.stencilReadOnly=*/WGPU_FALSE _wgpu_COMMA \
2299
+ #define WGPU_RENDER_BUNDLE_ENCODER_RESOURCE_TABLE_INIT _wgpu_MAKE_INIT_STRUCT(WGPURenderBundleEncoderResourceTable, { \
2300
+ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \
2301
+ /*.next=*/NULL _wgpu_COMMA \
2302
+ /*.sType=*/WGPUSType_RenderBundleEncoderResourceTable _wgpu_COMMA \
2303
+ }) _wgpu_COMMA \
2304
+ /*.usesResourceTable=*/WGPU_FALSE _wgpu_COMMA \
2291
2305
  })
2292
2306
 
2293
2307
  typedef struct WGPURenderPassDepthStencilAttachment {
@@ -3685,6 +3699,28 @@ typedef struct WGPUPipelineLayoutPixelLocalStorage {
3685
3699
  /*.storageAttachments=*/NULL _wgpu_COMMA \
3686
3700
  })
3687
3701
 
3702
+ typedef struct WGPURenderBundleEncoderDescriptor {
3703
+ WGPUChainedStruct * nextInChain;
3704
+ WGPUStringView label;
3705
+ size_t colorFormatCount;
3706
+ WGPUTextureFormat const * colorFormats;
3707
+ WGPUTextureFormat depthStencilFormat;
3708
+ uint32_t sampleCount;
3709
+ WGPUBool depthReadOnly;
3710
+ WGPUBool stencilReadOnly;
3711
+ } WGPURenderBundleEncoderDescriptor WGPU_STRUCTURE_ATTRIBUTE;
3712
+
3713
+ #define WGPU_RENDER_BUNDLE_ENCODER_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPURenderBundleEncoderDescriptor, { \
3714
+ /*.nextInChain=*/NULL _wgpu_COMMA \
3715
+ /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \
3716
+ /*.colorFormatCount=*/0 _wgpu_COMMA \
3717
+ /*.colorFormats=*/NULL _wgpu_COMMA \
3718
+ /*.depthStencilFormat=*/WGPUTextureFormat_Undefined _wgpu_COMMA \
3719
+ /*.sampleCount=*/1 _wgpu_COMMA \
3720
+ /*.depthReadOnly=*/WGPU_FALSE _wgpu_COMMA \
3721
+ /*.stencilReadOnly=*/WGPU_FALSE _wgpu_COMMA \
3722
+ })
3723
+
3688
3724
  typedef struct WGPURenderPassColorAttachment {
3689
3725
  WGPUChainedStruct * nextInChain;
3690
3726
  WGPU_NULLABLE WGPUTextureView view;
@@ -4382,7 +4418,7 @@ typedef void (*WGPUProcCommandEncoderPopDebugGroup)(WGPUCommandEncoder commandEn
4382
4418
  typedef void (*WGPUProcCommandEncoderPushDebugGroup)(WGPUCommandEncoder commandEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE;
4383
4419
  typedef void (*WGPUProcCommandEncoderResolveQuerySet)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE;
4384
4420
  typedef void (*WGPUProcCommandEncoderSetLabel)(WGPUCommandEncoder commandEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4385
- typedef void (*WGPUProcCommandEncoderWriteBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4421
+ typedef void (*WGPUProcCommandEncoderWriteBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE;
4386
4422
  typedef void (*WGPUProcCommandEncoderWriteTimestamp)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE;
4387
4423
  typedef void (*WGPUProcCommandEncoderAddRef)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
4388
4424
  typedef void (*WGPUProcCommandEncoderRelease)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
@@ -4519,7 +4555,6 @@ typedef void (*WGPUProcRenderBundleEncoderSetImmediates)(WGPURenderBundleEncoder
4519
4555
  typedef void (*WGPUProcRenderBundleEncoderSetIndexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4520
4556
  typedef void (*WGPUProcRenderBundleEncoderSetLabel)(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4521
4557
  typedef void (*WGPUProcRenderBundleEncoderSetPipeline)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
4522
- typedef void (*WGPUProcRenderBundleEncoderSetResourceTable)(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE;
4523
4558
  typedef void (*WGPUProcRenderBundleEncoderSetVertexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4524
4559
  typedef void (*WGPUProcRenderBundleEncoderAddRef)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
4525
4560
  typedef void (*WGPUProcRenderBundleEncoderRelease)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
@@ -4545,7 +4580,7 @@ typedef void (*WGPUProcRenderPassEncoderSetImmediates)(WGPURenderPassEncoder ren
4545
4580
  typedef void (*WGPUProcRenderPassEncoderSetIndexBuffer)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4546
4581
  typedef void (*WGPUProcRenderPassEncoderSetLabel)(WGPURenderPassEncoder renderPassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4547
4582
  typedef void (*WGPUProcRenderPassEncoderSetPipeline)(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
4548
- typedef void (*WGPUProcRenderPassEncoderSetResourceTable)(WGPURenderPassEncoder renderPassEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE;
4583
+ typedef void (*WGPUProcRenderPassEncoderSetResourceTable)(WGPURenderPassEncoder renderPassEncoder, WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE;
4549
4584
  typedef void (*WGPUProcRenderPassEncoderSetScissorRect)(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE;
4550
4585
  typedef void (*WGPUProcRenderPassEncoderSetStencilReference)(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE;
4551
4586
  typedef void (*WGPUProcRenderPassEncoderSetVertexBuffer)(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
@@ -4739,7 +4774,7 @@ WGPU_EXPORT void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncod
4739
4774
  WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE;
4740
4775
  WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE;
4741
4776
  WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4742
- WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4777
+ WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE;
4743
4778
  WGPU_EXPORT void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE;
4744
4779
  WGPU_EXPORT void wgpuCommandEncoderAddRef(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
4745
4780
  WGPU_EXPORT void wgpuCommandEncoderRelease(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE;
@@ -4876,7 +4911,6 @@ WGPU_EXPORT void wgpuRenderBundleEncoderSetImmediates(WGPURenderBundleEncoder re
4876
4911
  WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4877
4912
  WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4878
4913
  WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
4879
- WGPU_EXPORT void wgpuRenderBundleEncoderSetResourceTable(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE;
4880
4914
  WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4881
4915
  WGPU_EXPORT void wgpuRenderBundleEncoderAddRef(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
4882
4916
  WGPU_EXPORT void wgpuRenderBundleEncoderRelease(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE;
@@ -4902,7 +4936,7 @@ WGPU_EXPORT void wgpuRenderPassEncoderSetImmediates(WGPURenderPassEncoder render
4902
4936
  WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;
4903
4937
  WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE;
4904
4938
  WGPU_EXPORT void wgpuRenderPassEncoderSetPipeline(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE;
4905
- WGPU_EXPORT void wgpuRenderPassEncoderSetResourceTable(WGPURenderPassEncoder renderPassEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE;
4939
+ WGPU_EXPORT void wgpuRenderPassEncoderSetResourceTable(WGPURenderPassEncoder renderPassEncoder, WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE;
4906
4940
  WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE;
4907
4941
  WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE;
4908
4942
  WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE;