react-native-wgpu 0.5.13 → 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 (405) hide show
  1. package/README.md +13 -386
  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/webgpu/src/Canvas.d.ts.map +1 -0
  7. package/lib/typescript/webgpu/src/NativeWebGPUModule.d.ts.map +1 -0
  8. package/lib/typescript/webgpu/src/Offscreen.d.ts.map +1 -0
  9. package/lib/typescript/webgpu/src/WebGPUViewNativeComponent.d.ts.map +1 -0
  10. package/lib/typescript/webgpu/src/external/ModuleProxy.d.ts.map +1 -0
  11. package/lib/typescript/webgpu/src/external/index.d.ts.map +1 -0
  12. package/lib/typescript/webgpu/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
  13. package/lib/typescript/webgpu/src/external/reanimated/index.d.ts.map +1 -0
  14. package/lib/typescript/webgpu/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
  15. package/lib/typescript/webgpu/src/hooks.d.ts.map +1 -0
  16. package/lib/typescript/webgpu/src/index.d.ts.map +1 -0
  17. package/lib/typescript/webgpu/src/main/index.d.ts.map +1 -0
  18. package/lib/typescript/webgpu/src/types.d.ts.map +1 -0
  19. package/lib/typescript/{eslint.config.d.mts.map → webgpu-shim/eslint.config.d.mts.map} +1 -1
  20. package/lib/typescript/{lib → webgpu-shim/lib}/commonjs/index.d.ts.map +1 -1
  21. package/lib/typescript/webgpu-shim/lib/module/index.d.ts +2 -0
  22. package/lib/typescript/{lib → webgpu-shim/lib}/module/index.d.ts.map +1 -1
  23. package/lib/typescript/webgpu-shim/src/index.d.ts +2 -0
  24. package/lib/typescript/webgpu-shim/src/index.d.ts.map +1 -0
  25. package/package.json +12 -81
  26. package/src/index.ts +9 -0
  27. package/LICENSE +0 -20
  28. package/android/CMakeLists.txt +0 -110
  29. package/android/build.gradle +0 -138
  30. package/android/cpp/AndroidPlatformContext.h +0 -328
  31. package/android/cpp/cpp-adapter.cpp +0 -71
  32. package/android/src/main/AndroidManifest.xml +0 -3
  33. package/android/src/main/java/com/webgpu/WebGPUAHBView.java +0 -298
  34. package/android/src/main/java/com/webgpu/WebGPUAPI.java +0 -20
  35. package/android/src/main/java/com/webgpu/WebGPUBaseView.java +0 -61
  36. package/android/src/main/java/com/webgpu/WebGPUModule.java +0 -50
  37. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +0 -41
  38. package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +0 -79
  39. package/android/src/main/java/com/webgpu/WebGPUTextureView.java +0 -46
  40. package/android/src/main/java/com/webgpu/WebGPUView.java +0 -108
  41. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +0 -38
  42. package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +0 -50
  43. package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +0 -24
  44. package/apple/ApplePlatformContext.h +0 -44
  45. package/apple/ApplePlatformContext.mm +0 -302
  46. package/apple/AppleVideoPlayer.h +0 -31
  47. package/apple/AppleVideoPlayer.mm +0 -314
  48. package/apple/MetalView.h +0 -13
  49. package/apple/MetalView.mm +0 -50
  50. package/apple/RNWGUIKit.h +0 -16
  51. package/apple/WebGPUModule.h +0 -13
  52. package/apple/WebGPUModule.mm +0 -89
  53. package/apple/WebGPUView.h +0 -12
  54. package/apple/WebGPUView.mm +0 -66
  55. package/cpp/WGPULogger.h +0 -100
  56. package/cpp/dawn_logging.cpp +0 -119
  57. package/cpp/jsi/EnumMapper.h +0 -45
  58. package/cpp/jsi/JSIConverter.h +0 -473
  59. package/cpp/jsi/NativeObject.h +0 -607
  60. package/cpp/jsi/Promise.cpp +0 -44
  61. package/cpp/jsi/Promise.h +0 -35
  62. package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
  63. package/cpp/jsi/RuntimeAwareCache.h +0 -100
  64. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  65. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
  66. package/cpp/rnwgpu/ArrayBuffer.h +0 -117
  67. package/cpp/rnwgpu/PlatformContext.h +0 -127
  68. package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -237
  69. package/cpp/rnwgpu/RNWebGPUManager.h +0 -46
  70. package/cpp/rnwgpu/SurfaceRegistry.h +0 -230
  71. package/cpp/rnwgpu/api/Canvas.h +0 -57
  72. package/cpp/rnwgpu/api/Convertors.h +0 -783
  73. package/cpp/rnwgpu/api/External.h +0 -12
  74. package/cpp/rnwgpu/api/GPU.cpp +0 -154
  75. package/cpp/rnwgpu/api/GPU.h +0 -58
  76. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -267
  77. package/cpp/rnwgpu/api/GPUAdapter.h +0 -59
  78. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  79. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  80. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  81. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  82. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -97
  83. package/cpp/rnwgpu/api/GPUBuffer.h +0 -87
  84. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -67
  85. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -66
  86. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  87. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  88. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  89. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  90. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  91. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  92. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  93. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  94. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  95. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -545
  96. package/cpp/rnwgpu/api/GPUDevice.h +0 -265
  97. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  98. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  99. package/cpp/rnwgpu/api/GPUError.h +0 -35
  100. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  101. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -335
  102. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -90
  103. package/cpp/rnwgpu/api/GPUFeatures.h +0 -206
  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 -50
  122. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  123. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -80
  124. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -71
  125. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  126. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  127. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  128. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  129. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  130. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -71
  131. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  132. package/cpp/rnwgpu/api/ImageBitmap.h +0 -48
  133. package/cpp/rnwgpu/api/RNWebGPU.h +0 -241
  134. package/cpp/rnwgpu/api/RnFeatures.h +0 -53
  135. package/cpp/rnwgpu/api/VideoFrame.h +0 -76
  136. package/cpp/rnwgpu/api/VideoPlayer.h +0 -69
  137. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -65
  138. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -81
  139. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -57
  140. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -98
  141. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -58
  142. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -53
  143. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -57
  144. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -57
  145. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -60
  146. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  147. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  148. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -67
  149. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -59
  150. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  151. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -46
  152. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -46
  153. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -57
  154. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -59
  155. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -68
  156. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -57
  157. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -104
  158. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -115
  159. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -39
  160. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -82
  161. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -74
  162. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -63
  163. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  164. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -66
  165. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -82
  166. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -55
  167. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  168. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -55
  169. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -58
  170. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -70
  171. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -62
  172. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -56
  173. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -44
  174. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -46
  175. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -81
  176. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -82
  177. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -102
  178. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -93
  179. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -59
  180. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -104
  181. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -52
  182. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -46
  183. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -111
  184. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -61
  185. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -63
  186. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  187. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -62
  188. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -65
  189. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -60
  190. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -60
  191. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -92
  192. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  193. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -92
  194. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -65
  195. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -54
  196. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -63
  197. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -74
  198. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1979
  199. package/cpp/rnwgpu/async/AsyncDispatcher.h +0 -28
  200. package/cpp/rnwgpu/async/AsyncRunner.cpp +0 -215
  201. package/cpp/rnwgpu/async/AsyncRunner.h +0 -53
  202. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -181
  203. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -55
  204. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +0 -23
  205. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +0 -22
  206. package/cpp/webgpu/webgpu.h +0 -4979
  207. package/cpp/webgpu/webgpu_cpp.h +0 -10059
  208. package/cpp/webgpu/webgpu_cpp_chained_struct.h +0 -57
  209. package/cpp/webgpu/webgpu_cpp_print.h +0 -2844
  210. package/cpp/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  211. package/lib/commonjs/Canvas.js +0 -55
  212. package/lib/commonjs/Canvas.js.map +0 -1
  213. package/lib/commonjs/NativeWebGPUModule.js +0 -10
  214. package/lib/commonjs/NativeWebGPUModule.js.map +0 -1
  215. package/lib/commonjs/Offscreen.js +0 -103
  216. package/lib/commonjs/Offscreen.js.map +0 -1
  217. package/lib/commonjs/WebGPUViewNativeComponent.js +0 -10
  218. package/lib/commonjs/WebGPUViewNativeComponent.js.map +0 -1
  219. package/lib/commonjs/WebGPUViewNativeComponent.web.js +0 -103
  220. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +0 -1
  221. package/lib/commonjs/WebPolyfillGPUModule.js +0 -40
  222. package/lib/commonjs/WebPolyfillGPUModule.js.map +0 -1
  223. package/lib/commonjs/external/ModuleProxy.js +0 -36
  224. package/lib/commonjs/external/ModuleProxy.js.map +0 -1
  225. package/lib/commonjs/external/index.js +0 -17
  226. package/lib/commonjs/external/index.js.map +0 -1
  227. package/lib/commonjs/external/reanimated/ReanimatedProxy.js +0 -18
  228. package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +0 -1
  229. package/lib/commonjs/external/reanimated/index.js +0 -21
  230. package/lib/commonjs/external/reanimated/index.js.map +0 -1
  231. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +0 -49
  232. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  233. package/lib/commonjs/hooks.js +0 -83
  234. package/lib/commonjs/hooks.js.map +0 -1
  235. package/lib/commonjs/main/index.js +0 -91
  236. package/lib/commonjs/main/index.js.map +0 -1
  237. package/lib/commonjs/main/index.web.js +0 -51
  238. package/lib/commonjs/main/index.web.js.map +0 -1
  239. package/lib/commonjs/types.js +0 -2
  240. package/lib/commonjs/types.js.map +0 -1
  241. package/lib/commonjs/utils.js +0 -11
  242. package/lib/commonjs/utils.js.map +0 -1
  243. package/lib/module/Canvas.js +0 -46
  244. package/lib/module/Canvas.js.map +0 -1
  245. package/lib/module/NativeWebGPUModule.js +0 -4
  246. package/lib/module/NativeWebGPUModule.js.map +0 -1
  247. package/lib/module/Offscreen.js +0 -96
  248. package/lib/module/Offscreen.js.map +0 -1
  249. package/lib/module/WebGPUViewNativeComponent.js +0 -4
  250. package/lib/module/WebGPUViewNativeComponent.js.map +0 -1
  251. package/lib/module/WebGPUViewNativeComponent.web.js +0 -96
  252. package/lib/module/WebGPUViewNativeComponent.web.js.map +0 -1
  253. package/lib/module/WebPolyfillGPUModule.js +0 -38
  254. package/lib/module/WebPolyfillGPUModule.js.map +0 -1
  255. package/lib/module/external/ModuleProxy.js +0 -28
  256. package/lib/module/external/ModuleProxy.js.map +0 -1
  257. package/lib/module/external/index.js +0 -2
  258. package/lib/module/external/index.js.map +0 -1
  259. package/lib/module/external/reanimated/ReanimatedProxy.js +0 -12
  260. package/lib/module/external/reanimated/ReanimatedProxy.js.map +0 -1
  261. package/lib/module/external/reanimated/index.js +0 -3
  262. package/lib/module/external/reanimated/index.js.map +0 -1
  263. package/lib/module/external/reanimated/registerWebGPUForReanimated.js +0 -42
  264. package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  265. package/lib/module/hooks.js +0 -70
  266. package/lib/module/hooks.js.map +0 -1
  267. package/lib/module/main/index.js +0 -33
  268. package/lib/module/main/index.js.map +0 -1
  269. package/lib/module/main/index.web.js +0 -8
  270. package/lib/module/main/index.web.js.map +0 -1
  271. package/lib/module/types.js +0 -2
  272. package/lib/module/types.js.map +0 -1
  273. package/lib/module/utils.js +0 -5
  274. package/lib/module/utils.js.map +0 -1
  275. package/lib/typescript/babel.config.d.ts +0 -3
  276. package/lib/typescript/babel.config.d.ts.map +0 -1
  277. package/lib/typescript/jest.config.d.ts +0 -9
  278. package/lib/typescript/jest.config.d.ts.map +0 -1
  279. package/lib/typescript/lib/commonjs/Canvas.d.ts +0 -7
  280. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +0 -1
  281. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +0 -5
  282. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +0 -1
  283. package/lib/typescript/lib/commonjs/Offscreen.d.ts +0 -26
  284. package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +0 -1
  285. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +0 -5
  286. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +0 -1
  287. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +0 -4
  288. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  289. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +0 -2
  290. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +0 -1
  291. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +0 -12
  292. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +0 -1
  293. package/lib/typescript/lib/commonjs/external/index.d.ts.map +0 -1
  294. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +0 -6
  295. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  296. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +0 -4
  297. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +0 -1
  298. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +0 -9
  299. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  300. package/lib/typescript/lib/commonjs/hooks.d.ts +0 -18
  301. package/lib/typescript/lib/commonjs/hooks.d.ts.map +0 -1
  302. package/lib/typescript/lib/commonjs/index.d.ts +0 -2
  303. package/lib/typescript/lib/commonjs/main/index.d.ts +0 -3
  304. package/lib/typescript/lib/commonjs/main/index.d.ts.map +0 -1
  305. package/lib/typescript/lib/commonjs/main/index.web.d.ts +0 -2
  306. package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +0 -1
  307. package/lib/typescript/lib/commonjs/types.d.ts +0 -1
  308. package/lib/typescript/lib/commonjs/types.d.ts.map +0 -1
  309. package/lib/typescript/lib/commonjs/utils.d.ts +0 -3
  310. package/lib/typescript/lib/commonjs/utils.d.ts.map +0 -1
  311. package/lib/typescript/lib/module/Canvas.d.ts +0 -8
  312. package/lib/typescript/lib/module/Canvas.d.ts.map +0 -1
  313. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +0 -3
  314. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +0 -1
  315. package/lib/typescript/lib/module/Offscreen.d.ts +0 -25
  316. package/lib/typescript/lib/module/Offscreen.d.ts.map +0 -1
  317. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -3
  318. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +0 -1
  319. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +0 -3
  320. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  321. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +0 -2
  322. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +0 -1
  323. package/lib/typescript/lib/module/external/ModuleProxy.d.ts +0 -7
  324. package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +0 -1
  325. package/lib/typescript/lib/module/external/index.d.ts.map +0 -1
  326. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +0 -5
  327. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  328. package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +0 -1
  329. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +0 -2
  330. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  331. package/lib/typescript/lib/module/hooks.d.ts +0 -18
  332. package/lib/typescript/lib/module/hooks.d.ts.map +0 -1
  333. package/lib/typescript/lib/module/index.d.ts +0 -2
  334. package/lib/typescript/lib/module/main/index.d.ts.map +0 -1
  335. package/lib/typescript/lib/module/main/index.web.d.ts +0 -5
  336. package/lib/typescript/lib/module/main/index.web.d.ts.map +0 -1
  337. package/lib/typescript/lib/module/types.d.ts +0 -1
  338. package/lib/typescript/lib/module/types.d.ts.map +0 -1
  339. package/lib/typescript/lib/module/utils.d.ts +0 -2
  340. package/lib/typescript/lib/module/utils.d.ts.map +0 -1
  341. package/lib/typescript/src/Canvas.d.ts.map +0 -1
  342. package/lib/typescript/src/NativeWebGPUModule.d.ts.map +0 -1
  343. package/lib/typescript/src/Offscreen.d.ts.map +0 -1
  344. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +0 -1
  345. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +0 -9
  346. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  347. package/lib/typescript/src/WebPolyfillGPUModule.d.ts +0 -2
  348. package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +0 -1
  349. package/lib/typescript/src/external/ModuleProxy.d.ts.map +0 -1
  350. package/lib/typescript/src/external/index.d.ts +0 -2
  351. package/lib/typescript/src/external/index.d.ts.map +0 -1
  352. package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  353. package/lib/typescript/src/external/reanimated/index.d.ts +0 -3
  354. package/lib/typescript/src/external/reanimated/index.d.ts.map +0 -1
  355. package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  356. package/lib/typescript/src/hooks.d.ts.map +0 -1
  357. package/lib/typescript/src/index.d.ts.map +0 -1
  358. package/lib/typescript/src/main/index.d.ts +0 -6
  359. package/lib/typescript/src/main/index.d.ts.map +0 -1
  360. package/lib/typescript/src/main/index.web.d.ts +0 -6
  361. package/lib/typescript/src/main/index.web.d.ts.map +0 -1
  362. package/lib/typescript/src/types.d.ts.map +0 -1
  363. package/lib/typescript/src/utils.d.ts +0 -2
  364. package/lib/typescript/src/utils.d.ts.map +0 -1
  365. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  366. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  367. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  368. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  369. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +0 -59
  370. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  371. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  372. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  373. package/react-native-wgpu.podspec +0 -47
  374. package/src/Canvas.tsx +0 -76
  375. package/src/NativeWebGPUModule.ts +0 -9
  376. package/src/Offscreen.ts +0 -113
  377. package/src/WebGPUViewNativeComponent.ts +0 -11
  378. package/src/WebGPUViewNativeComponent.web.ts +0 -113
  379. package/src/WebPolyfillGPUModule.ts +0 -53
  380. package/src/external/ModuleProxy.ts +0 -30
  381. package/src/external/index.ts +0 -1
  382. package/src/external/reanimated/ReanimatedProxy.ts +0 -19
  383. package/src/external/reanimated/index.ts +0 -2
  384. package/src/external/reanimated/registerWebGPUForReanimated.ts +0 -43
  385. package/src/hooks.tsx +0 -93
  386. package/src/index.tsx +0 -91
  387. package/src/main/index.tsx +0 -40
  388. package/src/main/index.web.tsx +0 -8
  389. package/src/types.ts +0 -102
  390. package/src/utils.ts +0 -4
  391. /package/lib/typescript/{src → webgpu/src}/Canvas.d.ts +0 -0
  392. /package/lib/typescript/{src → webgpu/src}/NativeWebGPUModule.d.ts +0 -0
  393. /package/lib/typescript/{src → webgpu/src}/Offscreen.d.ts +0 -0
  394. /package/lib/typescript/{src → webgpu/src}/WebGPUViewNativeComponent.d.ts +0 -0
  395. /package/lib/typescript/{src → webgpu/src}/external/ModuleProxy.d.ts +0 -0
  396. /package/lib/typescript/{lib/module → webgpu/src}/external/index.d.ts +0 -0
  397. /package/lib/typescript/{src → webgpu/src}/external/reanimated/ReanimatedProxy.d.ts +0 -0
  398. /package/lib/typescript/{lib/module → webgpu/src}/external/reanimated/index.d.ts +0 -0
  399. /package/lib/typescript/{src → webgpu/src}/external/reanimated/registerWebGPUForReanimated.d.ts +0 -0
  400. /package/lib/typescript/{src → webgpu/src}/hooks.d.ts +0 -0
  401. /package/lib/typescript/{src → webgpu/src}/index.d.ts +0 -0
  402. /package/lib/typescript/{lib/module → webgpu/src}/main/index.d.ts +0 -0
  403. /package/lib/typescript/{src → webgpu/src}/types.d.ts +0 -0
  404. /package/lib/typescript/{eslint.config.d.mts → webgpu-shim/eslint.config.d.mts} +0 -0
  405. /package/lib/typescript/{lib/commonjs/external → webgpu-shim/lib/commonjs}/index.d.ts +0 -0
@@ -1,265 +0,0 @@
1
- #pragma once
2
-
3
- #include <functional>
4
- #include <memory>
5
- #include <mutex>
6
- #include <optional>
7
- #include <string>
8
- #include <unordered_map>
9
- #include <unordered_set>
10
- #include <utility>
11
- #include <variant>
12
- #include <vector>
13
-
14
- #include "Unions.h"
15
-
16
- #include "NativeObject.h"
17
-
18
- #include "rnwgpu/async/AsyncRunner.h"
19
- #include "rnwgpu/async/AsyncTaskHandle.h"
20
-
21
- #include "webgpu/webgpu_cpp.h"
22
-
23
- #include "GPUBindGroup.h"
24
- #include "GPUBindGroupDescriptor.h"
25
- #include "GPUBindGroupLayout.h"
26
- #include "GPUBindGroupLayoutDescriptor.h"
27
- #include "GPUBuffer.h"
28
- #include "GPUBufferDescriptor.h"
29
- #include "GPUCommandEncoder.h"
30
- #include "GPUCommandEncoderDescriptor.h"
31
- #include "GPUComputePipeline.h"
32
- #include "GPUComputePipelineDescriptor.h"
33
- #include "GPUDeviceLostInfo.h"
34
- #include "GPUError.h"
35
- #include "GPUExternalTexture.h"
36
- #include "GPUExternalTextureDescriptor.h"
37
- #include "GPUPipelineLayout.h"
38
- #include "GPUPipelineLayoutDescriptor.h"
39
- #include "GPUQuerySet.h"
40
- #include "GPUQuerySetDescriptor.h"
41
- #include "GPUQueue.h"
42
- #include "GPURenderBundleEncoder.h"
43
- #include "GPURenderBundleEncoderDescriptor.h"
44
- #include "GPURenderPipeline.h"
45
- #include "GPURenderPipelineDescriptor.h"
46
- #include "GPUSampler.h"
47
- #include "GPUSamplerDescriptor.h"
48
- #include "GPUSharedTextureMemory.h"
49
- #include "GPUSharedTextureMemoryDescriptor.h"
50
- #include "GPUShaderModule.h"
51
- #include "GPUShaderModuleDescriptor.h"
52
- #include "GPUSupportedLimits.h"
53
- #include "GPUTexture.h"
54
- #include "GPUTextureDescriptor.h"
55
- #include "GPUUncapturedErrorEvent.h"
56
-
57
- namespace rnwgpu {
58
-
59
- namespace jsi = facebook::jsi;
60
-
61
- class GPUDevice : public NativeObject<GPUDevice> {
62
- public:
63
- static constexpr const char *CLASS_NAME = "GPUDevice";
64
-
65
- explicit GPUDevice(wgpu::Device instance,
66
- std::shared_ptr<async::AsyncRunner> async,
67
- std::string label)
68
- : NativeObject(CLASS_NAME), _instance(instance), _async(async),
69
- _label(label) {}
70
-
71
- ~GPUDevice() override {
72
- // Unregister from the static registry
73
- unregisterDevice(_instance.Get());
74
- }
75
-
76
- // Static registry for looking up GPUDevice from wgpu::Device in callbacks
77
- static void registerDevice(WGPUDevice handle,
78
- std::weak_ptr<GPUDevice> device) {
79
- std::lock_guard<std::mutex> lock(getRegistryMutex());
80
- getRegistry()[handle] = device;
81
- }
82
-
83
- static void unregisterDevice(WGPUDevice handle) {
84
- std::lock_guard<std::mutex> lock(getRegistryMutex());
85
- getRegistry().erase(handle);
86
- }
87
-
88
- static std::shared_ptr<GPUDevice> lookupDevice(WGPUDevice handle) {
89
- std::lock_guard<std::mutex> lock(getRegistryMutex());
90
- auto it = getRegistry().find(handle);
91
- if (it != getRegistry().end()) {
92
- return it->second.lock();
93
- }
94
- return nullptr;
95
- }
96
-
97
- private:
98
- static std::unordered_map<WGPUDevice, std::weak_ptr<GPUDevice>> &
99
- getRegistry() {
100
- static std::unordered_map<WGPUDevice, std::weak_ptr<GPUDevice>> registry;
101
- return registry;
102
- }
103
-
104
- static std::mutex &getRegistryMutex() {
105
- static std::mutex mutex;
106
- return mutex;
107
- }
108
-
109
- public:
110
- std::string getBrand() { return CLASS_NAME; }
111
-
112
- void destroy();
113
- std::shared_ptr<GPUBuffer>
114
- createBuffer(std::shared_ptr<GPUBufferDescriptor> descriptor);
115
- std::shared_ptr<GPUTexture>
116
- createTexture(std::shared_ptr<GPUTextureDescriptor> descriptor);
117
- std::shared_ptr<GPUSampler> createSampler(
118
- std::optional<std::shared_ptr<GPUSamplerDescriptor>> descriptor);
119
- std::shared_ptr<GPUExternalTexture> importExternalTexture(
120
- std::shared_ptr<GPUExternalTextureDescriptor> descriptor);
121
- std::shared_ptr<GPUSharedTextureMemory> importSharedTextureMemory(
122
- std::shared_ptr<GPUSharedTextureMemoryDescriptor> descriptor);
123
- std::shared_ptr<GPUBindGroupLayout> createBindGroupLayout(
124
- std::shared_ptr<GPUBindGroupLayoutDescriptor> descriptor);
125
- std::shared_ptr<GPUPipelineLayout>
126
- createPipelineLayout(std::shared_ptr<GPUPipelineLayoutDescriptor> descriptor);
127
- std::shared_ptr<GPUBindGroup>
128
- createBindGroup(std::shared_ptr<GPUBindGroupDescriptor> descriptor);
129
- std::shared_ptr<GPUShaderModule>
130
- createShaderModule(std::shared_ptr<GPUShaderModuleDescriptor> descriptor);
131
- std::shared_ptr<GPUComputePipeline> createComputePipeline(
132
- std::shared_ptr<GPUComputePipelineDescriptor> descriptor);
133
- std::shared_ptr<GPURenderPipeline>
134
- createRenderPipeline(std::shared_ptr<GPURenderPipelineDescriptor> descriptor);
135
- async::AsyncTaskHandle createComputePipelineAsync(
136
- std::shared_ptr<GPUComputePipelineDescriptor> descriptor);
137
- async::AsyncTaskHandle createRenderPipelineAsync(
138
- std::shared_ptr<GPURenderPipelineDescriptor> descriptor);
139
- std::shared_ptr<GPUCommandEncoder> createCommandEncoder(
140
- std::optional<std::shared_ptr<GPUCommandEncoderDescriptor>> descriptor);
141
- std::shared_ptr<GPURenderBundleEncoder> createRenderBundleEncoder(
142
- std::shared_ptr<GPURenderBundleEncoderDescriptor> descriptor);
143
- std::shared_ptr<GPUQuerySet>
144
- createQuerySet(std::shared_ptr<GPUQuerySetDescriptor> descriptor);
145
- void pushErrorScope(wgpu::ErrorFilter filter);
146
- async::AsyncTaskHandle popErrorScope();
147
-
148
- std::unordered_set<std::string> getFeatures();
149
- std::shared_ptr<GPUSupportedLimits> getLimits();
150
- std::shared_ptr<GPUQueue> getQueue();
151
- async::AsyncTaskHandle getLost();
152
- void notifyDeviceLost(wgpu::DeviceLostReason reason, std::string message);
153
- void notifyUncapturedError(wgpu::ErrorType type, std::string message);
154
- void forceLossForTesting();
155
-
156
- // EventTarget methods
157
- void addEventListener(std::string type, jsi::Function callback);
158
- void removeEventListener(std::string type, jsi::Function callback);
159
-
160
- std::string getLabel() { return _label; }
161
- void setLabel(const std::string &label) {
162
- _label = label;
163
- _instance.SetLabel(_label.c_str());
164
- }
165
-
166
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
167
- installGetter(runtime, prototype, "__brand", &GPUDevice::getBrand);
168
- installMethod(runtime, prototype, "destroy", &GPUDevice::destroy);
169
- installMethod(runtime, prototype, "createBuffer", &GPUDevice::createBuffer);
170
- installMethod(runtime, prototype, "createTexture",
171
- &GPUDevice::createTexture);
172
- installMethod(runtime, prototype, "createSampler",
173
- &GPUDevice::createSampler);
174
- installMethod(runtime, prototype, "importExternalTexture",
175
- &GPUDevice::importExternalTexture);
176
- installMethod(runtime, prototype, "importSharedTextureMemory",
177
- &GPUDevice::importSharedTextureMemory);
178
- installMethod(runtime, prototype, "createBindGroupLayout",
179
- &GPUDevice::createBindGroupLayout);
180
- installMethod(runtime, prototype, "createPipelineLayout",
181
- &GPUDevice::createPipelineLayout);
182
- installMethod(runtime, prototype, "createBindGroup",
183
- &GPUDevice::createBindGroup);
184
- installMethod(runtime, prototype, "createShaderModule",
185
- &GPUDevice::createShaderModule);
186
- installMethod(runtime, prototype, "createComputePipeline",
187
- &GPUDevice::createComputePipeline);
188
- installMethod(runtime, prototype, "createRenderPipeline",
189
- &GPUDevice::createRenderPipeline);
190
- installMethod(runtime, prototype, "createComputePipelineAsync",
191
- &GPUDevice::createComputePipelineAsync);
192
- installMethod(runtime, prototype, "createRenderPipelineAsync",
193
- &GPUDevice::createRenderPipelineAsync);
194
- installMethod(runtime, prototype, "createCommandEncoder",
195
- &GPUDevice::createCommandEncoder);
196
- installMethod(runtime, prototype, "createRenderBundleEncoder",
197
- &GPUDevice::createRenderBundleEncoder);
198
- installMethod(runtime, prototype, "createQuerySet",
199
- &GPUDevice::createQuerySet);
200
- installMethod(runtime, prototype, "pushErrorScope",
201
- &GPUDevice::pushErrorScope);
202
- installMethod(runtime, prototype, "popErrorScope",
203
- &GPUDevice::popErrorScope);
204
- installGetter(runtime, prototype, "features", &GPUDevice::getFeatures);
205
- installGetter(runtime, prototype, "limits", &GPUDevice::getLimits);
206
- installGetter(runtime, prototype, "queue", &GPUDevice::getQueue);
207
- installGetter(runtime, prototype, "lost", &GPUDevice::getLost);
208
- installGetterSetter(runtime, prototype, "label", &GPUDevice::getLabel,
209
- &GPUDevice::setLabel);
210
- installMethod(runtime, prototype, "forceLossForTesting",
211
- &GPUDevice::forceLossForTesting);
212
-
213
- // EventTarget methods - installed manually since they take jsi::Function
214
- auto addEventListenerFunc = jsi::Function::createFromHostFunction(
215
- runtime, jsi::PropNameID::forUtf8(runtime, "addEventListener"), 2,
216
- [](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args,
217
- size_t count) -> jsi::Value {
218
- if (count < 2 || !args[0].isString() || !args[1].isObject() ||
219
- !args[1].getObject(rt).isFunction(rt)) {
220
- return jsi::Value::undefined();
221
- }
222
- auto native = GPUDevice::fromValue(rt, thisVal);
223
- native->addEventListener(args[0].getString(rt).utf8(rt),
224
- args[1].getObject(rt).getFunction(rt));
225
- return jsi::Value::undefined();
226
- });
227
- prototype.setProperty(runtime, "addEventListener", addEventListenerFunc);
228
-
229
- auto removeEventListenerFunc = jsi::Function::createFromHostFunction(
230
- runtime, jsi::PropNameID::forUtf8(runtime, "removeEventListener"), 2,
231
- [](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args,
232
- size_t count) -> jsi::Value {
233
- if (count < 2 || !args[0].isString() || !args[1].isObject() ||
234
- !args[1].getObject(rt).isFunction(rt)) {
235
- return jsi::Value::undefined();
236
- }
237
- auto native = GPUDevice::fromValue(rt, thisVal);
238
- native->removeEventListener(args[0].getString(rt).utf8(rt),
239
- args[1].getObject(rt).getFunction(rt));
240
- return jsi::Value::undefined();
241
- });
242
- prototype.setProperty(runtime, "removeEventListener",
243
- removeEventListenerFunc);
244
- }
245
-
246
- inline const wgpu::Device get() { return _instance; }
247
-
248
- private:
249
- friend class GPUAdapter;
250
-
251
- wgpu::Device _instance;
252
- std::shared_ptr<async::AsyncRunner> _async;
253
- std::string _label;
254
- std::optional<async::AsyncTaskHandle> _lostHandle;
255
- std::shared_ptr<GPUDeviceLostInfo> _lostInfo;
256
- bool _lostSettled = false;
257
- std::optional<async::AsyncTaskHandle::ResolveFunction> _lostResolve;
258
-
259
- // Event listeners storage - keyed by event type
260
- // Each entry contains a vector of shared_ptr to functions
261
- std::unordered_map<std::string, std::vector<std::shared_ptr<jsi::Function>>>
262
- _eventListeners;
263
- };
264
-
265
- } // namespace rnwgpu
@@ -1,7 +0,0 @@
1
- #include "GPUDeviceLostInfo.h"
2
- #include <string>
3
-
4
- namespace rnwgpu {
5
- wgpu::DeviceLostReason getReason();
6
- std::string getMessage();
7
- } // namespace rnwgpu
@@ -1,40 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- #include "Unions.h"
6
-
7
- #include "NativeObject.h"
8
-
9
- #include "webgpu/webgpu_cpp.h"
10
-
11
- namespace rnwgpu {
12
-
13
- namespace jsi = facebook::jsi;
14
-
15
- class GPUDeviceLostInfo : public NativeObject<GPUDeviceLostInfo> {
16
- public:
17
- static constexpr const char *CLASS_NAME = "GPUDeviceLostInfo";
18
-
19
- explicit GPUDeviceLostInfo(wgpu::DeviceLostReason reason, std::string message)
20
- : NativeObject(CLASS_NAME), _reason(reason), _message(message) {}
21
-
22
- public:
23
- std::string getBrand() { return CLASS_NAME; }
24
-
25
- wgpu::DeviceLostReason getReason() { return _reason; }
26
- std::string getMessage() { return _message; }
27
-
28
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
29
- installGetter(runtime, prototype, "__brand", &GPUDeviceLostInfo::getBrand);
30
- installGetter(runtime, prototype, "reason", &GPUDeviceLostInfo::getReason);
31
- installGetter(runtime, prototype, "message",
32
- &GPUDeviceLostInfo::getMessage);
33
- }
34
-
35
- private:
36
- wgpu::DeviceLostReason _reason;
37
- std::string _message;
38
- };
39
-
40
- } // namespace rnwgpu
@@ -1,35 +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 GPUError : public NativeObject<GPUError> {
12
- public:
13
- static constexpr const char *CLASS_NAME = "GPUError";
14
-
15
- explicit GPUError(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", &GPUError::getBrand);
24
- installGetter(runtime, prototype, "message", &GPUError::getMessage);
25
- }
26
-
27
- protected:
28
- // Protected constructor for subclasses
29
- GPUError(const char *className, std::string message)
30
- : NativeObject(className), _message(std::move(message)) {}
31
-
32
- std::string _message;
33
- };
34
-
35
- } // namespace rnwgpu
@@ -1,66 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "JSIConverter.h"
6
-
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- namespace rnwgpu {
10
-
11
- struct GPUExtent3D {
12
- double width;
13
- double height = 1;
14
- double depthOrArrayLayers = 1;
15
- };
16
-
17
- template <> struct JSIConverter<std::shared_ptr<GPUExtent3D>> {
18
- static std::shared_ptr<GPUExtent3D>
19
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
20
- auto result = std::make_unique<GPUExtent3D>();
21
- if (!outOfBounds && arg.isObject()) {
22
- if (arg.getObject(runtime).isArray(runtime)) {
23
- auto array = arg.getObject(runtime).asArray(runtime);
24
- auto size = array.size(runtime);
25
- if (size == 0) {
26
- throw std::runtime_error(
27
- "Expected an array of size >1 for GPUTExtent3D");
28
- }
29
- if (size > 0) {
30
- result->width = array.getValueAtIndex(runtime, 0).asNumber();
31
- }
32
- if (size > 1) {
33
- result->height = array.getValueAtIndex(runtime, 1).asNumber();
34
- }
35
- if (size > 2) {
36
- result->depthOrArrayLayers =
37
- array.getValueAtIndex(runtime, 2).asNumber();
38
- }
39
- } else {
40
- auto object = arg.getObject(runtime);
41
- if (object.hasProperty(runtime, "width")) {
42
- result->width = object.getProperty(runtime, "width").asNumber();
43
- } else {
44
- throw std::runtime_error("Property GPUTExtent3D::width is required");
45
- }
46
- if (object.hasProperty(runtime, "height")) {
47
- result->height = object.getProperty(runtime, "height").asNumber();
48
- }
49
- if (object.hasProperty(runtime, "depthOrArrayLayers")) {
50
- result->depthOrArrayLayers =
51
- object.getProperty(runtime, "depthOrArrayLayers").asNumber();
52
- }
53
- }
54
- } else {
55
- throw std::runtime_error("Expected an object for GPUTExtent3D");
56
- }
57
- return result;
58
- }
59
- static jsi::Value toJSI(jsi::Runtime &runtime,
60
- std::shared_ptr<GPUExtent3D> arg) {
61
- // No conversions here
62
- return jsi::Value::null();
63
- }
64
- };
65
-
66
- } // namespace rnwgpu