react-native-wgpu 0.5.11 → 0.5.14

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 (397) hide show
  1. package/README.md +13 -302
  2. package/lib/commonjs/index.js +7 -4
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/module/index.js +4 -4
  5. package/lib/module/index.js.map +1 -1
  6. package/lib/typescript/{src → webgpu/src}/Canvas.d.ts +0 -10
  7. package/lib/typescript/webgpu/src/Canvas.d.ts.map +1 -0
  8. package/lib/typescript/webgpu/src/NativeWebGPUModule.d.ts.map +1 -0
  9. package/lib/typescript/webgpu/src/Offscreen.d.ts.map +1 -0
  10. package/lib/typescript/webgpu/src/WebGPUViewNativeComponent.d.ts.map +1 -0
  11. package/lib/typescript/webgpu/src/external/ModuleProxy.d.ts.map +1 -0
  12. package/lib/typescript/webgpu/src/external/index.d.ts.map +1 -0
  13. package/lib/typescript/webgpu/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
  14. package/lib/typescript/webgpu/src/external/reanimated/index.d.ts.map +1 -0
  15. package/lib/typescript/webgpu/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
  16. package/lib/typescript/webgpu/src/hooks.d.ts.map +1 -0
  17. package/lib/typescript/webgpu/src/index.d.ts +37 -0
  18. package/lib/typescript/webgpu/src/index.d.ts.map +1 -0
  19. package/lib/typescript/webgpu/src/main/index.d.ts.map +1 -0
  20. package/lib/typescript/webgpu/src/types.d.ts +50 -0
  21. package/lib/typescript/webgpu/src/types.d.ts.map +1 -0
  22. package/lib/typescript/{eslint.config.d.mts.map → webgpu-shim/eslint.config.d.mts.map} +1 -1
  23. package/lib/typescript/{lib → webgpu-shim/lib}/commonjs/index.d.ts.map +1 -1
  24. package/lib/typescript/webgpu-shim/lib/module/index.d.ts +2 -0
  25. package/lib/typescript/{lib → webgpu-shim/lib}/module/index.d.ts.map +1 -1
  26. package/lib/typescript/webgpu-shim/src/index.d.ts +2 -0
  27. package/lib/typescript/webgpu-shim/src/index.d.ts.map +1 -0
  28. package/package.json +13 -82
  29. package/src/index.ts +9 -0
  30. package/LICENSE +0 -20
  31. package/android/CMakeLists.txt +0 -108
  32. package/android/build.gradle +0 -138
  33. package/android/cpp/AndroidPlatformContext.h +0 -207
  34. package/android/cpp/cpp-adapter.cpp +0 -71
  35. package/android/src/main/AndroidManifest.xml +0 -3
  36. package/android/src/main/java/com/webgpu/WebGPUAHBView.java +0 -298
  37. package/android/src/main/java/com/webgpu/WebGPUAPI.java +0 -20
  38. package/android/src/main/java/com/webgpu/WebGPUBaseView.java +0 -61
  39. package/android/src/main/java/com/webgpu/WebGPUModule.java +0 -50
  40. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +0 -41
  41. package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +0 -79
  42. package/android/src/main/java/com/webgpu/WebGPUTextureView.java +0 -46
  43. package/android/src/main/java/com/webgpu/WebGPUView.java +0 -108
  44. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +0 -38
  45. package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +0 -50
  46. package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +0 -24
  47. package/apple/ApplePlatformContext.h +0 -31
  48. package/apple/ApplePlatformContext.mm +0 -157
  49. package/apple/MetalView.h +0 -13
  50. package/apple/MetalView.mm +0 -50
  51. package/apple/RNWGUIKit.h +0 -16
  52. package/apple/WebGPUModule.h +0 -13
  53. package/apple/WebGPUModule.mm +0 -89
  54. package/apple/WebGPUView.h +0 -12
  55. package/apple/WebGPUView.mm +0 -66
  56. package/cpp/WGPULogger.h +0 -100
  57. package/cpp/dawn_logging.cpp +0 -119
  58. package/cpp/jsi/EnumMapper.h +0 -45
  59. package/cpp/jsi/JSIConverter.h +0 -473
  60. package/cpp/jsi/NativeObject.h +0 -607
  61. package/cpp/jsi/Promise.cpp +0 -44
  62. package/cpp/jsi/Promise.h +0 -35
  63. package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
  64. package/cpp/jsi/RuntimeAwareCache.h +0 -100
  65. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  66. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
  67. package/cpp/rnwgpu/ArrayBuffer.h +0 -73
  68. package/cpp/rnwgpu/PlatformContext.h +0 -46
  69. package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -225
  70. package/cpp/rnwgpu/RNWebGPUManager.h +0 -46
  71. package/cpp/rnwgpu/SurfaceRegistry.h +0 -230
  72. package/cpp/rnwgpu/api/Canvas.h +0 -57
  73. package/cpp/rnwgpu/api/Convertors.h +0 -761
  74. package/cpp/rnwgpu/api/External.h +0 -12
  75. package/cpp/rnwgpu/api/GPU.cpp +0 -127
  76. package/cpp/rnwgpu/api/GPU.h +0 -58
  77. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -191
  78. package/cpp/rnwgpu/api/GPUAdapter.h +0 -59
  79. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  80. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  81. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  82. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  83. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -97
  84. package/cpp/rnwgpu/api/GPUBuffer.h +0 -87
  85. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -67
  86. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -66
  87. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  88. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  89. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  90. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  91. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  92. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  93. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  94. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  95. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  96. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -492
  97. package/cpp/rnwgpu/api/GPUDevice.h +0 -259
  98. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  99. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  100. package/cpp/rnwgpu/api/GPUError.h +0 -35
  101. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  102. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -45
  103. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  104. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  105. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  106. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  107. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  108. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  109. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  110. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  111. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -169
  112. package/cpp/rnwgpu/api/GPUQueue.h +0 -81
  113. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  114. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  115. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  116. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  117. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  118. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  119. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  120. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  121. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -51
  122. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  123. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  124. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  125. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  126. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  127. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  128. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -71
  129. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  130. package/cpp/rnwgpu/api/ImageBitmap.h +0 -40
  131. package/cpp/rnwgpu/api/RNWebGPU.h +0 -199
  132. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -65
  133. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  134. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -57
  135. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -98
  136. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -58
  137. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -53
  138. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -57
  139. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -57
  140. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -60
  141. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  142. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  143. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -67
  144. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -59
  145. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  146. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -46
  147. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -46
  148. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -57
  149. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -59
  150. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -68
  151. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -104
  152. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -100
  153. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -39
  154. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -80
  155. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -74
  156. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -63
  157. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  158. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -66
  159. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -82
  160. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -55
  161. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  162. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -55
  163. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -58
  164. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -70
  165. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -62
  166. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -56
  167. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -44
  168. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -46
  169. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -81
  170. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -82
  171. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -102
  172. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -93
  173. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -59
  174. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -104
  175. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -52
  176. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -46
  177. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -111
  178. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -61
  179. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -63
  180. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  181. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -65
  182. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -60
  183. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -60
  184. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -92
  185. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  186. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -92
  187. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -65
  188. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -54
  189. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -63
  190. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -74
  191. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  192. package/cpp/rnwgpu/async/AsyncDispatcher.h +0 -28
  193. package/cpp/rnwgpu/async/AsyncRunner.cpp +0 -215
  194. package/cpp/rnwgpu/async/AsyncRunner.h +0 -53
  195. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -181
  196. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -55
  197. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +0 -23
  198. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +0 -22
  199. package/cpp/webgpu/webgpu.h +0 -4918
  200. package/cpp/webgpu/webgpu_cpp.h +0 -10294
  201. package/cpp/webgpu/webgpu_cpp_chained_struct.h +0 -57
  202. package/cpp/webgpu/webgpu_cpp_print.h +0 -2755
  203. package/cpp/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  204. package/lib/commonjs/Canvas.js +0 -55
  205. package/lib/commonjs/Canvas.js.map +0 -1
  206. package/lib/commonjs/NativeWebGPUModule.js +0 -10
  207. package/lib/commonjs/NativeWebGPUModule.js.map +0 -1
  208. package/lib/commonjs/Offscreen.js +0 -103
  209. package/lib/commonjs/Offscreen.js.map +0 -1
  210. package/lib/commonjs/WebGPUViewNativeComponent.js +0 -10
  211. package/lib/commonjs/WebGPUViewNativeComponent.js.map +0 -1
  212. package/lib/commonjs/WebGPUViewNativeComponent.web.js +0 -103
  213. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +0 -1
  214. package/lib/commonjs/WebPolyfillGPUModule.js +0 -40
  215. package/lib/commonjs/WebPolyfillGPUModule.js.map +0 -1
  216. package/lib/commonjs/external/ModuleProxy.js +0 -36
  217. package/lib/commonjs/external/ModuleProxy.js.map +0 -1
  218. package/lib/commonjs/external/index.js +0 -17
  219. package/lib/commonjs/external/index.js.map +0 -1
  220. package/lib/commonjs/external/reanimated/ReanimatedProxy.js +0 -18
  221. package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +0 -1
  222. package/lib/commonjs/external/reanimated/index.js +0 -21
  223. package/lib/commonjs/external/reanimated/index.js.map +0 -1
  224. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +0 -49
  225. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  226. package/lib/commonjs/hooks.js +0 -83
  227. package/lib/commonjs/hooks.js.map +0 -1
  228. package/lib/commonjs/main/index.js +0 -91
  229. package/lib/commonjs/main/index.js.map +0 -1
  230. package/lib/commonjs/main/index.web.js +0 -51
  231. package/lib/commonjs/main/index.web.js.map +0 -1
  232. package/lib/commonjs/types.js +0 -2
  233. package/lib/commonjs/types.js.map +0 -1
  234. package/lib/commonjs/utils.js +0 -11
  235. package/lib/commonjs/utils.js.map +0 -1
  236. package/lib/module/Canvas.js +0 -46
  237. package/lib/module/Canvas.js.map +0 -1
  238. package/lib/module/NativeWebGPUModule.js +0 -4
  239. package/lib/module/NativeWebGPUModule.js.map +0 -1
  240. package/lib/module/Offscreen.js +0 -96
  241. package/lib/module/Offscreen.js.map +0 -1
  242. package/lib/module/WebGPUViewNativeComponent.js +0 -4
  243. package/lib/module/WebGPUViewNativeComponent.js.map +0 -1
  244. package/lib/module/WebGPUViewNativeComponent.web.js +0 -96
  245. package/lib/module/WebGPUViewNativeComponent.web.js.map +0 -1
  246. package/lib/module/WebPolyfillGPUModule.js +0 -38
  247. package/lib/module/WebPolyfillGPUModule.js.map +0 -1
  248. package/lib/module/external/ModuleProxy.js +0 -28
  249. package/lib/module/external/ModuleProxy.js.map +0 -1
  250. package/lib/module/external/index.js +0 -2
  251. package/lib/module/external/index.js.map +0 -1
  252. package/lib/module/external/reanimated/ReanimatedProxy.js +0 -12
  253. package/lib/module/external/reanimated/ReanimatedProxy.js.map +0 -1
  254. package/lib/module/external/reanimated/index.js +0 -3
  255. package/lib/module/external/reanimated/index.js.map +0 -1
  256. package/lib/module/external/reanimated/registerWebGPUForReanimated.js +0 -42
  257. package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  258. package/lib/module/hooks.js +0 -70
  259. package/lib/module/hooks.js.map +0 -1
  260. package/lib/module/main/index.js +0 -33
  261. package/lib/module/main/index.js.map +0 -1
  262. package/lib/module/main/index.web.js +0 -8
  263. package/lib/module/main/index.web.js.map +0 -1
  264. package/lib/module/types.js +0 -2
  265. package/lib/module/types.js.map +0 -1
  266. package/lib/module/utils.js +0 -5
  267. package/lib/module/utils.js.map +0 -1
  268. package/lib/typescript/babel.config.d.ts +0 -3
  269. package/lib/typescript/babel.config.d.ts.map +0 -1
  270. package/lib/typescript/jest.config.d.ts +0 -9
  271. package/lib/typescript/jest.config.d.ts.map +0 -1
  272. package/lib/typescript/lib/commonjs/Canvas.d.ts +0 -7
  273. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +0 -1
  274. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +0 -5
  275. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +0 -1
  276. package/lib/typescript/lib/commonjs/Offscreen.d.ts +0 -26
  277. package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +0 -1
  278. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +0 -5
  279. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +0 -1
  280. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +0 -4
  281. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  282. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +0 -2
  283. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +0 -1
  284. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +0 -12
  285. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +0 -1
  286. package/lib/typescript/lib/commonjs/external/index.d.ts.map +0 -1
  287. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +0 -6
  288. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  289. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +0 -4
  290. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +0 -1
  291. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +0 -9
  292. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  293. package/lib/typescript/lib/commonjs/hooks.d.ts +0 -18
  294. package/lib/typescript/lib/commonjs/hooks.d.ts.map +0 -1
  295. package/lib/typescript/lib/commonjs/index.d.ts +0 -2
  296. package/lib/typescript/lib/commonjs/main/index.d.ts +0 -3
  297. package/lib/typescript/lib/commonjs/main/index.d.ts.map +0 -1
  298. package/lib/typescript/lib/commonjs/main/index.web.d.ts +0 -2
  299. package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +0 -1
  300. package/lib/typescript/lib/commonjs/types.d.ts +0 -1
  301. package/lib/typescript/lib/commonjs/types.d.ts.map +0 -1
  302. package/lib/typescript/lib/commonjs/utils.d.ts +0 -3
  303. package/lib/typescript/lib/commonjs/utils.d.ts.map +0 -1
  304. package/lib/typescript/lib/module/Canvas.d.ts +0 -8
  305. package/lib/typescript/lib/module/Canvas.d.ts.map +0 -1
  306. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +0 -3
  307. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +0 -1
  308. package/lib/typescript/lib/module/Offscreen.d.ts +0 -25
  309. package/lib/typescript/lib/module/Offscreen.d.ts.map +0 -1
  310. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -3
  311. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +0 -1
  312. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +0 -3
  313. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  314. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +0 -2
  315. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +0 -1
  316. package/lib/typescript/lib/module/external/ModuleProxy.d.ts +0 -7
  317. package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +0 -1
  318. package/lib/typescript/lib/module/external/index.d.ts.map +0 -1
  319. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +0 -5
  320. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  321. package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +0 -1
  322. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +0 -2
  323. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  324. package/lib/typescript/lib/module/hooks.d.ts +0 -18
  325. package/lib/typescript/lib/module/hooks.d.ts.map +0 -1
  326. package/lib/typescript/lib/module/index.d.ts +0 -2
  327. package/lib/typescript/lib/module/main/index.d.ts.map +0 -1
  328. package/lib/typescript/lib/module/main/index.web.d.ts +0 -5
  329. package/lib/typescript/lib/module/main/index.web.d.ts.map +0 -1
  330. package/lib/typescript/lib/module/types.d.ts +0 -1
  331. package/lib/typescript/lib/module/types.d.ts.map +0 -1
  332. package/lib/typescript/lib/module/utils.d.ts +0 -2
  333. package/lib/typescript/lib/module/utils.d.ts.map +0 -1
  334. package/lib/typescript/src/Canvas.d.ts.map +0 -1
  335. package/lib/typescript/src/NativeWebGPUModule.d.ts.map +0 -1
  336. package/lib/typescript/src/Offscreen.d.ts.map +0 -1
  337. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +0 -1
  338. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +0 -9
  339. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  340. package/lib/typescript/src/WebPolyfillGPUModule.d.ts +0 -2
  341. package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +0 -1
  342. package/lib/typescript/src/external/ModuleProxy.d.ts.map +0 -1
  343. package/lib/typescript/src/external/index.d.ts +0 -2
  344. package/lib/typescript/src/external/index.d.ts.map +0 -1
  345. package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  346. package/lib/typescript/src/external/reanimated/index.d.ts +0 -3
  347. package/lib/typescript/src/external/reanimated/index.d.ts.map +0 -1
  348. package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  349. package/lib/typescript/src/hooks.d.ts.map +0 -1
  350. package/lib/typescript/src/index.d.ts +0 -18
  351. package/lib/typescript/src/index.d.ts.map +0 -1
  352. package/lib/typescript/src/main/index.d.ts +0 -6
  353. package/lib/typescript/src/main/index.d.ts.map +0 -1
  354. package/lib/typescript/src/main/index.web.d.ts +0 -6
  355. package/lib/typescript/src/main/index.web.d.ts.map +0 -1
  356. package/lib/typescript/src/types.d.ts +0 -19
  357. package/lib/typescript/src/types.d.ts.map +0 -1
  358. package/lib/typescript/src/utils.d.ts +0 -2
  359. package/lib/typescript/src/utils.d.ts.map +0 -1
  360. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  361. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  362. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  363. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  364. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +0 -59
  365. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  366. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  367. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  368. package/react-native-wgpu.podspec +0 -47
  369. package/src/Canvas.tsx +0 -91
  370. package/src/NativeWebGPUModule.ts +0 -9
  371. package/src/Offscreen.ts +0 -113
  372. package/src/WebGPUViewNativeComponent.ts +0 -11
  373. package/src/WebGPUViewNativeComponent.web.ts +0 -113
  374. package/src/WebPolyfillGPUModule.ts +0 -53
  375. package/src/external/ModuleProxy.ts +0 -30
  376. package/src/external/index.ts +0 -1
  377. package/src/external/reanimated/ReanimatedProxy.ts +0 -19
  378. package/src/external/reanimated/index.ts +0 -2
  379. package/src/external/reanimated/registerWebGPUForReanimated.ts +0 -43
  380. package/src/hooks.tsx +0 -93
  381. package/src/index.tsx +0 -31
  382. package/src/main/index.tsx +0 -40
  383. package/src/main/index.web.tsx +0 -8
  384. package/src/types.ts +0 -20
  385. package/src/utils.ts +0 -4
  386. /package/lib/typescript/{src → webgpu/src}/NativeWebGPUModule.d.ts +0 -0
  387. /package/lib/typescript/{src → webgpu/src}/Offscreen.d.ts +0 -0
  388. /package/lib/typescript/{src → webgpu/src}/WebGPUViewNativeComponent.d.ts +0 -0
  389. /package/lib/typescript/{src → webgpu/src}/external/ModuleProxy.d.ts +0 -0
  390. /package/lib/typescript/{lib/module → webgpu/src}/external/index.d.ts +0 -0
  391. /package/lib/typescript/{src → webgpu/src}/external/reanimated/ReanimatedProxy.d.ts +0 -0
  392. /package/lib/typescript/{lib/module → webgpu/src}/external/reanimated/index.d.ts +0 -0
  393. /package/lib/typescript/{src → webgpu/src}/external/reanimated/registerWebGPUForReanimated.d.ts +0 -0
  394. /package/lib/typescript/{src → webgpu/src}/hooks.d.ts +0 -0
  395. /package/lib/typescript/{lib/module → webgpu/src}/main/index.d.ts +0 -0
  396. /package/lib/typescript/{eslint.config.d.mts → webgpu-shim/eslint.config.d.mts} +0 -0
  397. /package/lib/typescript/{lib/commonjs/external → webgpu-shim/lib/commonjs}/index.d.ts +0 -0
@@ -1,71 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <variant>
6
-
7
- #include "JSIConverter.h"
8
- #include "NativeObject.h"
9
-
10
- #include "GPUInternalError.h"
11
- #include "GPUOutOfMemoryError.h"
12
- #include "GPUValidationError.h"
13
-
14
- namespace rnwgpu {
15
-
16
- namespace jsi = facebook::jsi;
17
-
18
- using GPUErrorVariant = std::variant<std::shared_ptr<GPUValidationError>,
19
- std::shared_ptr<GPUOutOfMemoryError>,
20
- std::shared_ptr<GPUInternalError>>;
21
-
22
- class GPUUncapturedErrorEvent : public NativeObject<GPUUncapturedErrorEvent> {
23
- public:
24
- static constexpr const char *CLASS_NAME = "GPUUncapturedErrorEvent";
25
-
26
- explicit GPUUncapturedErrorEvent(GPUErrorVariant error)
27
- : NativeObject(CLASS_NAME), _error(std::move(error)) {}
28
-
29
- public:
30
- std::string getBrand() { return CLASS_NAME; }
31
- std::string getType() { return "uncapturederror"; }
32
-
33
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
34
- installGetter(runtime, prototype, "__brand",
35
- &GPUUncapturedErrorEvent::getBrand);
36
- installGetter(runtime, prototype, "type",
37
- &GPUUncapturedErrorEvent::getType);
38
-
39
- // Custom getter for error that handles the variant conversion
40
- auto errorGetter = jsi::Function::createFromHostFunction(
41
- runtime, jsi::PropNameID::forUtf8(runtime, "get_error"), 0,
42
- [](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args,
43
- size_t count) -> jsi::Value {
44
- auto native = GPUUncapturedErrorEvent::fromValue(rt, thisVal);
45
- return std::visit(
46
- [&rt](auto &&err) -> jsi::Value {
47
- using T = std::decay_t<decltype(err)>;
48
- return JSIConverter<T>::toJSI(rt, err);
49
- },
50
- native->_error);
51
- });
52
-
53
- auto objectCtor = runtime.global().getPropertyAsObject(runtime, "Object");
54
- auto defineProperty =
55
- objectCtor.getPropertyAsFunction(runtime, "defineProperty");
56
-
57
- jsi::Object descriptor(runtime);
58
- descriptor.setProperty(runtime, "get", errorGetter);
59
- descriptor.setProperty(runtime, "enumerable", true);
60
- descriptor.setProperty(runtime, "configurable", true);
61
-
62
- defineProperty.call(runtime, prototype,
63
- jsi::String::createFromUtf8(runtime, "error"),
64
- descriptor);
65
- }
66
-
67
- private:
68
- GPUErrorVariant _error;
69
- };
70
-
71
- } // namespace rnwgpu
@@ -1,32 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- #include "NativeObject.h"
6
-
7
- namespace rnwgpu {
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- class GPUValidationError : public NativeObject<GPUValidationError> {
12
- public:
13
- static constexpr const char *CLASS_NAME = "GPUValidationError";
14
-
15
- explicit GPUValidationError(std::string message)
16
- : NativeObject(CLASS_NAME), _message(std::move(message)) {}
17
-
18
- public:
19
- std::string getBrand() { return CLASS_NAME; }
20
- std::string getMessage() { return _message; }
21
-
22
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
23
- installGetter(runtime, prototype, "__brand", &GPUValidationError::getBrand);
24
- installGetter(runtime, prototype, "message",
25
- &GPUValidationError::getMessage);
26
- }
27
-
28
- private:
29
- std::string _message;
30
- };
31
-
32
- } // namespace rnwgpu
@@ -1,40 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "NativeObject.h"
8
- #include "PlatformContext.h"
9
-
10
- namespace rnwgpu {
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- class ImageBitmap : public NativeObject<ImageBitmap> {
15
- public:
16
- static constexpr const char *CLASS_NAME = "ImageBitmap";
17
-
18
- explicit ImageBitmap(ImageData &imageData)
19
- : NativeObject(CLASS_NAME), _imageData(imageData) {}
20
-
21
- size_t getWidth() { return _imageData.width; }
22
-
23
- size_t getHeight() { return _imageData.height; }
24
-
25
- void *getData() { return _imageData.data.data(); }
26
-
27
- size_t getSize() { return _imageData.data.size(); }
28
-
29
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
30
- installGetter(runtime, prototype, "width", &ImageBitmap::getWidth);
31
- installGetter(runtime, prototype, "height", &ImageBitmap::getHeight);
32
- }
33
-
34
- size_t getMemoryPressure() override { return getSize(); }
35
-
36
- private:
37
- ImageData _imageData;
38
- };
39
-
40
- } // namespace rnwgpu
@@ -1,199 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "NativeObject.h"
7
-
8
- #include "Canvas.h"
9
- #include "GPU.h"
10
- #include "GPUCanvasContext.h"
11
- #include "ImageBitmap.h"
12
- #include "PlatformContext.h"
13
-
14
- #include <ReactCommon/CallInvoker.h>
15
-
16
- #include "JSIConverter.h"
17
- #include "Promise.h"
18
-
19
- namespace rnwgpu {
20
-
21
- namespace jsi = facebook::jsi;
22
-
23
- struct Blob {
24
- std::string blobId;
25
- double size;
26
- double offset;
27
- std::string type;
28
- std::string name;
29
- };
30
-
31
- // JSIConverter specialization must be declared before use
32
- template <> struct JSIConverter<std::shared_ptr<Blob>> {
33
- static std::shared_ptr<Blob>
34
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
35
- if (!outOfBounds && arg.isObject()) {
36
- auto result = std::make_unique<Blob>();
37
- auto val = arg.asObject(runtime);
38
- if (val.hasProperty(runtime, "_data")) {
39
- auto value = val.getPropertyAsObject(runtime, "_data");
40
- result->blobId = JSIConverter<std::string>::fromJSI(
41
- runtime, value.getProperty(runtime, "blobId"), false);
42
- result->size = JSIConverter<double>::fromJSI(
43
- runtime, value.getProperty(runtime, "size"), false);
44
- result->offset = JSIConverter<double>::fromJSI(
45
- runtime, value.getProperty(runtime, "offset"), false);
46
- }
47
- return result;
48
- } else {
49
- throw std::runtime_error("Invalid Blob::fromJSI()");
50
- }
51
- }
52
- static jsi::Value toJSI(jsi::Runtime &runtime, std::shared_ptr<Blob> arg) {
53
- throw std::runtime_error("Invalid Blob::toJSI()");
54
- }
55
- };
56
-
57
- class RNWebGPU : public NativeObject<RNWebGPU> {
58
- public:
59
- static constexpr const char *CLASS_NAME = "RNWebGPU";
60
-
61
- explicit RNWebGPU(std::shared_ptr<GPU> gpu,
62
- std::shared_ptr<PlatformContext> platformContext,
63
- std::shared_ptr<facebook::react::CallInvoker> callInvoker)
64
- : NativeObject(CLASS_NAME), _gpu(gpu), _platformContext(platformContext),
65
- _callInvoker(callInvoker) {}
66
-
67
- std::shared_ptr<GPU> getGPU() { return _gpu; }
68
-
69
- bool getFabric() { return true; }
70
-
71
- std::shared_ptr<GPUCanvasContext>
72
- MakeWebGPUCanvasContext(int contextId, float width, float height) {
73
- auto ctx =
74
- std::make_shared<GPUCanvasContext>(_gpu, contextId, width, height);
75
- return ctx;
76
- }
77
-
78
- jsi::Value createImageBitmap(jsi::Runtime &runtime,
79
- const jsi::Value & /*thisVal*/,
80
- const jsi::Value *args, size_t count) {
81
- if (count < 1) {
82
- throw jsi::JSError(runtime,
83
- "createImageBitmap requires a Blob or ArrayBuffer "
84
- "argument");
85
- }
86
-
87
- auto platformContext = _platformContext;
88
- auto callInvoker = _callInvoker;
89
-
90
- // Check if the argument is an ArrayBuffer or ArrayBufferView
91
- // (TypedArray / DataView)
92
- if (args[0].isObject()) {
93
- auto obj = args[0].getObject(runtime);
94
-
95
- std::span<const uint8_t> data;
96
-
97
- if (obj.isArrayBuffer(runtime)) {
98
- // Plain ArrayBuffer — use the full buffer
99
- const auto &ab = obj.getArrayBuffer(runtime);
100
- data = {ab.data(runtime), ab.size(runtime)};
101
- } else if (obj.hasProperty(runtime, "buffer")) {
102
- // TypedArray or DataView — respect byteOffset/byteLength
103
- auto bufferVal = obj.getProperty(runtime, "buffer");
104
- if (bufferVal.isObject() &&
105
- bufferVal.getObject(runtime).isArrayBuffer(runtime)) {
106
- const auto &ab = bufferVal.getObject(runtime).getArrayBuffer(runtime);
107
- auto byteOffset = static_cast<size_t>(
108
- obj.getProperty(runtime, "byteOffset").asNumber());
109
- auto byteLength = static_cast<size_t>(
110
- obj.getProperty(runtime, "byteLength").asNumber());
111
- data = {ab.data(runtime) + byteOffset, byteLength};
112
- }
113
- }
114
-
115
- if (!data.empty()) {
116
- // Copy bytes on the JS thread — the ArrayBuffer pointer is into
117
- // JS-owned memory that can be GC'd
118
- std::vector<uint8_t> dataCopy(data.begin(), data.end());
119
-
120
- return Promise::createPromise(
121
- runtime,
122
- [platformContext, callInvoker, dataCopy = std::move(dataCopy)](
123
- jsi::Runtime & /*runtime*/,
124
- std::shared_ptr<Promise> promise) mutable {
125
- platformContext->createImageBitmapFromDataAsync(
126
- dataCopy,
127
- [callInvoker, promise](ImageData imageData) {
128
- auto imageBitmap = std::make_shared<ImageBitmap>(imageData);
129
- callInvoker->invokeAsync([promise, imageBitmap]() {
130
- promise->resolve(
131
- JSIConverter<std::shared_ptr<ImageBitmap>>::toJSI(
132
- promise->runtime, imageBitmap));
133
- });
134
- },
135
- [callInvoker, promise](std::string error) {
136
- callInvoker->invokeAsync(
137
- [promise, error]() { promise->reject(error); });
138
- });
139
- });
140
- }
141
- }
142
-
143
- // Fall through to existing Blob path
144
- auto blob =
145
- JSIConverter<std::shared_ptr<Blob>>::fromJSI(runtime, args[0], false);
146
- std::string blobId = blob->blobId;
147
- double offset = blob->offset;
148
- double size = blob->size;
149
-
150
- return Promise::createPromise(
151
- runtime,
152
- [platformContext, callInvoker, blobId, offset,
153
- size](jsi::Runtime & /*runtime*/, std::shared_ptr<Promise> promise) {
154
- platformContext->createImageBitmapAsync(
155
- blobId, offset, size,
156
- [callInvoker, promise](ImageData imageData) {
157
- auto imageBitmap = std::make_shared<ImageBitmap>(imageData);
158
- callInvoker->invokeAsync([promise, imageBitmap]() {
159
- promise->resolve(
160
- JSIConverter<std::shared_ptr<ImageBitmap>>::toJSI(
161
- promise->runtime, imageBitmap));
162
- });
163
- },
164
- [callInvoker, promise](std::string error) {
165
- callInvoker->invokeAsync(
166
- [promise, error]() { promise->reject(error); });
167
- });
168
- });
169
- }
170
-
171
- std::shared_ptr<Canvas> getNativeSurface(int contextId) {
172
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
173
- auto info = registry.getSurfaceInfo(contextId);
174
- if (info == nullptr) {
175
- return std::make_shared<Canvas>(nullptr, 0, 0);
176
- }
177
- auto nativeInfo = info->getNativeInfo();
178
- return std::make_shared<Canvas>(nativeInfo.nativeSurface, nativeInfo.width,
179
- nativeInfo.height);
180
- }
181
-
182
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
183
- installGetter(runtime, prototype, "fabric", &RNWebGPU::getFabric);
184
- installGetter(runtime, prototype, "gpu", &RNWebGPU::getGPU);
185
- installMethod(runtime, prototype, "createImageBitmap",
186
- &RNWebGPU::createImageBitmap);
187
- installMethod(runtime, prototype, "getNativeSurface",
188
- &RNWebGPU::getNativeSurface);
189
- installMethod(runtime, prototype, "MakeWebGPUCanvasContext",
190
- &RNWebGPU::MakeWebGPUCanvasContext);
191
- }
192
-
193
- private:
194
- std::shared_ptr<GPU> _gpu;
195
- std::shared_ptr<PlatformContext> _platformContext;
196
- std::shared_ptr<facebook::react::CallInvoker> _callInvoker;
197
- };
198
-
199
- } // namespace rnwgpu
@@ -1,65 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <vector>
6
-
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- #include "JSIConverter.h"
10
- #include "WGPULogger.h"
11
-
12
- #include "GPUBindGroupEntry.h"
13
- #include "GPUBindGroupLayout.h"
14
-
15
- namespace jsi = facebook::jsi;
16
-
17
- namespace rnwgpu {
18
-
19
- struct GPUBindGroupDescriptor {
20
- std::shared_ptr<GPUBindGroupLayout> layout; // GPUBindGroupLayout
21
- std::vector<std::shared_ptr<GPUBindGroupEntry>>
22
- entries; // Iterable<GPUBindGroupEntry>
23
- std::optional<std::string> label; // string
24
- };
25
-
26
- } // namespace rnwgpu
27
-
28
- namespace rnwgpu {
29
-
30
- template <>
31
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUBindGroupDescriptor>> {
32
- static std::shared_ptr<rnwgpu::GPUBindGroupDescriptor>
33
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
34
- auto result = std::make_unique<rnwgpu::GPUBindGroupDescriptor>();
35
- if (!outOfBounds && arg.isObject()) {
36
- auto value = arg.getObject(runtime);
37
- if (value.hasProperty(runtime, "layout")) {
38
- auto prop = value.getProperty(runtime, "layout");
39
- result->layout =
40
- JSIConverter<std::shared_ptr<GPUBindGroupLayout>>::fromJSI(
41
- runtime, prop, false);
42
- }
43
- if (value.hasProperty(runtime, "entries")) {
44
- auto prop = value.getProperty(runtime, "entries");
45
- result->entries = JSIConverter<
46
- std::vector<std::shared_ptr<GPUBindGroupEntry>>>::fromJSI(runtime,
47
- prop,
48
- false);
49
- }
50
- if (value.hasProperty(runtime, "label")) {
51
- auto prop = value.getProperty(runtime, "label");
52
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
53
- runtime, prop, false);
54
- }
55
- }
56
-
57
- return result;
58
- }
59
- static jsi::Value toJSI(jsi::Runtime &runtime,
60
- std::shared_ptr<rnwgpu::GPUBindGroupDescriptor> arg) {
61
- throw std::runtime_error("Invalid GPUBindGroupDescriptor::toJSI()");
62
- }
63
- };
64
-
65
- } // namespace rnwgpu
@@ -1,78 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <variant>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "GPUBufferBinding.h"
9
- #include "GPUExternalTexture.h"
10
- #include "GPUSampler.h"
11
- #include "GPUTextureView.h"
12
- #include "JSIConverter.h"
13
- #include "WGPULogger.h"
14
-
15
- namespace jsi = facebook::jsi;
16
-
17
- namespace rnwgpu {
18
-
19
- struct GPUBindGroupEntry {
20
- double binding;
21
- std::shared_ptr<GPUSampler> sampler = nullptr;
22
- std::shared_ptr<GPUTextureView> textureView = nullptr;
23
- std::shared_ptr<GPUBufferBinding> buffer = nullptr;
24
- // external textures
25
- };
26
-
27
- } // namespace rnwgpu
28
-
29
- namespace rnwgpu {
30
-
31
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUBindGroupEntry>> {
32
- static std::shared_ptr<rnwgpu::GPUBindGroupEntry>
33
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
34
- auto result = std::make_unique<rnwgpu::GPUBindGroupEntry>();
35
- if (!outOfBounds && arg.isObject()) {
36
- auto value = arg.getObject(runtime);
37
- if (value.hasProperty(runtime, "binding")) {
38
- result->binding = value.getProperty(runtime, "binding").asNumber();
39
- }
40
- if (value.hasProperty(runtime, "resource")) {
41
- auto prop = value.getProperty(runtime, "resource");
42
- if (prop.isObject()) {
43
- auto obj = prop.getObject(runtime);
44
- if (obj.hasNativeState<rnwgpu::GPUSampler>(runtime)) {
45
- result->sampler = obj.getNativeState<rnwgpu::GPUSampler>(runtime);
46
- } else if (obj.hasNativeState<rnwgpu::GPUTextureView>(runtime)) {
47
- result->textureView =
48
- obj.getNativeState<rnwgpu::GPUTextureView>(runtime);
49
- } else if (obj.hasNativeState<rnwgpu::GPUBuffer>(runtime)) {
50
- // Support passing GPUBuffer directly as resource (auto-wrap in
51
- // GPUBufferBinding)
52
- auto binding = std::make_shared<rnwgpu::GPUBufferBinding>();
53
- binding->buffer = obj.getNativeState<rnwgpu::GPUBuffer>(runtime);
54
- result->buffer = binding;
55
- } else {
56
- result->buffer = JSIConverter<
57
- std::shared_ptr<rnwgpu::GPUBufferBinding>>::fromJSI(runtime,
58
- prop,
59
- false);
60
- }
61
- }
62
- // result->resource = JSIConverter<std::variant<
63
- // std::shared_ptr<GPUSampler>, std::shared_ptr<GPUTextureView>,
64
- // std::shared_ptr<GPUBufferBinding>,
65
- // std::shared_ptr<GPUExternalTexture>>>::fromJSI(runtime, prop,
66
- // false);
67
- }
68
- }
69
-
70
- return result;
71
- }
72
- static jsi::Value toJSI(jsi::Runtime &runtime,
73
- std::shared_ptr<rnwgpu::GPUBindGroupEntry> arg) {
74
- throw std::runtime_error("Invalid GPUBindGroupEntry::toJSI()");
75
- }
76
- };
77
-
78
- } // namespace rnwgpu
@@ -1,57 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <vector>
6
-
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- #include "JSIConverter.h"
10
- #include "WGPULogger.h"
11
-
12
- #include "GPUBindGroupLayoutEntry.h"
13
-
14
- namespace jsi = facebook::jsi;
15
-
16
- namespace rnwgpu {
17
-
18
- struct GPUBindGroupLayoutDescriptor {
19
- std::vector<std::shared_ptr<GPUBindGroupLayoutEntry>>
20
- entries; // Iterable<GPUBindGroupLayoutEntry>
21
- std::optional<std::string> label; // string
22
- };
23
-
24
- } // namespace rnwgpu
25
-
26
- namespace rnwgpu {
27
-
28
- template <>
29
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUBindGroupLayoutDescriptor>> {
30
- static std::shared_ptr<rnwgpu::GPUBindGroupLayoutDescriptor>
31
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
32
- auto result = std::make_unique<rnwgpu::GPUBindGroupLayoutDescriptor>();
33
- if (!outOfBounds && arg.isObject()) {
34
- auto value = arg.getObject(runtime);
35
- if (value.hasProperty(runtime, "entries")) {
36
- auto prop = value.getProperty(runtime, "entries");
37
- result->entries = JSIConverter<std::vector<
38
- std::shared_ptr<GPUBindGroupLayoutEntry>>>::fromJSI(runtime, prop,
39
- false);
40
- }
41
- if (value.hasProperty(runtime, "label")) {
42
- auto prop = value.getProperty(runtime, "label");
43
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
44
- runtime, prop, false);
45
- }
46
- }
47
-
48
- return result;
49
- }
50
- static jsi::Value
51
- toJSI(jsi::Runtime &runtime,
52
- std::shared_ptr<rnwgpu::GPUBindGroupLayoutDescriptor> arg) {
53
- throw std::runtime_error("Invalid GPUBindGroupLayoutDescriptor::toJSI()");
54
- }
55
- };
56
-
57
- } // namespace rnwgpu
@@ -1,98 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "JSIConverter.h"
8
- #include "WGPULogger.h"
9
-
10
- #include "GPUBufferBindingLayout.h"
11
- #include "GPUExternalTextureBindingLayout.h"
12
- #include "GPUSamplerBindingLayout.h"
13
- #include "GPUStorageTextureBindingLayout.h"
14
- #include "GPUTextureBindingLayout.h"
15
-
16
- namespace jsi = facebook::jsi;
17
-
18
- namespace rnwgpu {
19
-
20
- struct GPUBindGroupLayoutEntry {
21
- double binding; // GPUIndex32
22
- double visibility; // GPUShaderStageFlags
23
- std::optional<std::shared_ptr<GPUBufferBindingLayout>>
24
- buffer; // GPUBufferBindingLayout
25
- std::optional<std::shared_ptr<GPUSamplerBindingLayout>>
26
- sampler; // GPUSamplerBindingLayout
27
- std::optional<std::shared_ptr<GPUTextureBindingLayout>>
28
- texture; // GPUTextureBindingLayout
29
- std::optional<std::shared_ptr<GPUStorageTextureBindingLayout>>
30
- storageTexture; // GPUStorageTextureBindingLayout
31
- std::optional<std::shared_ptr<GPUExternalTextureBindingLayout>>
32
- externalTexture; // GPUExternalTextureBindingLayout
33
- };
34
-
35
- } // namespace rnwgpu
36
-
37
- namespace rnwgpu {
38
-
39
- template <>
40
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUBindGroupLayoutEntry>> {
41
- static std::shared_ptr<rnwgpu::GPUBindGroupLayoutEntry>
42
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
43
- auto result = std::make_unique<rnwgpu::GPUBindGroupLayoutEntry>();
44
- if (!outOfBounds && arg.isObject()) {
45
- auto value = arg.getObject(runtime);
46
- if (value.hasProperty(runtime, "binding")) {
47
- auto prop = value.getProperty(runtime, "binding");
48
- result->binding = JSIConverter<double>::fromJSI(runtime, prop, false);
49
- }
50
- if (value.hasProperty(runtime, "visibility")) {
51
- auto prop = value.getProperty(runtime, "visibility");
52
- result->visibility =
53
- JSIConverter<double>::fromJSI(runtime, prop, false);
54
- }
55
- if (value.hasProperty(runtime, "buffer")) {
56
- auto prop = value.getProperty(runtime, "buffer");
57
- result->buffer = JSIConverter<std::optional<
58
- std::shared_ptr<GPUBufferBindingLayout>>>::fromJSI(runtime, prop,
59
- false);
60
- }
61
- if (value.hasProperty(runtime, "sampler")) {
62
- auto prop = value.getProperty(runtime, "sampler");
63
- result->sampler = JSIConverter<std::optional<
64
- std::shared_ptr<GPUSamplerBindingLayout>>>::fromJSI(runtime, prop,
65
- false);
66
- }
67
- if (value.hasProperty(runtime, "texture")) {
68
- auto prop = value.getProperty(runtime, "texture");
69
- result->texture = JSIConverter<std::optional<
70
- std::shared_ptr<GPUTextureBindingLayout>>>::fromJSI(runtime, prop,
71
- false);
72
- }
73
- if (value.hasProperty(runtime, "storageTexture")) {
74
- auto prop = value.getProperty(runtime, "storageTexture");
75
- result->storageTexture = JSIConverter<std::optional<
76
- std::shared_ptr<GPUStorageTextureBindingLayout>>>::fromJSI(runtime,
77
- prop,
78
- false);
79
- }
80
- if (value.hasProperty(runtime, "externalTexture")) {
81
- auto prop = value.getProperty(runtime, "externalTexture");
82
- result->externalTexture = JSIConverter<std::optional<
83
- std::shared_ptr<GPUExternalTextureBindingLayout>>>::fromJSI(runtime,
84
- prop,
85
- false);
86
- }
87
- }
88
-
89
- return result;
90
- }
91
- static jsi::Value
92
- toJSI(jsi::Runtime &runtime,
93
- std::shared_ptr<rnwgpu::GPUBindGroupLayoutEntry> arg) {
94
- throw std::runtime_error("Invalid GPUBindGroupLayoutEntry::toJSI()");
95
- }
96
- };
97
-
98
- } // namespace rnwgpu