react-native-wgpu 0.5.13 → 0.5.15

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 (409) hide show
  1. package/README.md +4 -398
  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 +9 -0
  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/constants.d.ts +6 -0
  12. package/lib/typescript/webgpu/src/constants.d.ts.map +1 -0
  13. package/lib/typescript/webgpu/src/external/ModuleProxy.d.ts.map +1 -0
  14. package/lib/typescript/webgpu/src/external/index.d.ts.map +1 -0
  15. package/lib/typescript/webgpu/src/external/reanimated/ReanimatedProxy.d.ts.map +1 -0
  16. package/lib/typescript/webgpu/src/external/reanimated/index.d.ts.map +1 -0
  17. package/lib/typescript/webgpu/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +1 -0
  18. package/lib/typescript/webgpu/src/hooks.d.ts.map +1 -0
  19. package/lib/typescript/{src → webgpu/src}/index.d.ts +5 -2
  20. package/lib/typescript/webgpu/src/index.d.ts.map +1 -0
  21. package/lib/typescript/webgpu/src/install.d.ts +34 -0
  22. package/lib/typescript/webgpu/src/install.d.ts.map +1 -0
  23. package/lib/typescript/webgpu/src/main/index.d.ts.map +1 -0
  24. package/lib/typescript/{src → webgpu/src}/types.d.ts +34 -2
  25. package/lib/typescript/webgpu/src/types.d.ts.map +1 -0
  26. package/lib/typescript/{eslint.config.d.mts.map → webgpu-shim/eslint.config.d.mts.map} +1 -1
  27. package/lib/typescript/{lib → webgpu-shim/lib}/commonjs/index.d.ts.map +1 -1
  28. package/lib/typescript/webgpu-shim/lib/module/index.d.ts +2 -0
  29. package/lib/typescript/{lib → webgpu-shim/lib}/module/index.d.ts.map +1 -1
  30. package/lib/typescript/webgpu-shim/src/index.d.ts +2 -0
  31. package/lib/typescript/webgpu-shim/src/index.d.ts.map +1 -0
  32. package/package.json +12 -81
  33. package/src/index.ts +9 -0
  34. package/LICENSE +0 -20
  35. package/android/CMakeLists.txt +0 -110
  36. package/android/build.gradle +0 -138
  37. package/android/cpp/AndroidPlatformContext.h +0 -328
  38. package/android/cpp/cpp-adapter.cpp +0 -71
  39. package/android/src/main/AndroidManifest.xml +0 -3
  40. package/android/src/main/java/com/webgpu/WebGPUAHBView.java +0 -298
  41. package/android/src/main/java/com/webgpu/WebGPUAPI.java +0 -20
  42. package/android/src/main/java/com/webgpu/WebGPUBaseView.java +0 -61
  43. package/android/src/main/java/com/webgpu/WebGPUModule.java +0 -50
  44. package/android/src/main/java/com/webgpu/WebGPUSurfaceView.java +0 -41
  45. package/android/src/main/java/com/webgpu/WebGPUSurfaceViewWithSC.java +0 -79
  46. package/android/src/main/java/com/webgpu/WebGPUTextureView.java +0 -46
  47. package/android/src/main/java/com/webgpu/WebGPUView.java +0 -108
  48. package/android/src/main/java/com/webgpu/WebGPUViewManager.java +0 -38
  49. package/android/src/main/java/com/webgpu/WebGPUViewPackage.java +0 -50
  50. package/android/src/newarch/com/webgpu/WebGPUViewManagerSpec.java +0 -24
  51. package/apple/ApplePlatformContext.h +0 -44
  52. package/apple/ApplePlatformContext.mm +0 -302
  53. package/apple/AppleVideoPlayer.h +0 -31
  54. package/apple/AppleVideoPlayer.mm +0 -314
  55. package/apple/MetalView.h +0 -13
  56. package/apple/MetalView.mm +0 -50
  57. package/apple/RNWGUIKit.h +0 -16
  58. package/apple/WebGPUModule.h +0 -13
  59. package/apple/WebGPUModule.mm +0 -89
  60. package/apple/WebGPUView.h +0 -12
  61. package/apple/WebGPUView.mm +0 -66
  62. package/cpp/WGPULogger.h +0 -100
  63. package/cpp/dawn_logging.cpp +0 -119
  64. package/cpp/jsi/EnumMapper.h +0 -45
  65. package/cpp/jsi/JSIConverter.h +0 -473
  66. package/cpp/jsi/NativeObject.h +0 -607
  67. package/cpp/jsi/Promise.cpp +0 -44
  68. package/cpp/jsi/Promise.h +0 -35
  69. package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
  70. package/cpp/jsi/RuntimeAwareCache.h +0 -100
  71. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  72. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
  73. package/cpp/rnwgpu/ArrayBuffer.h +0 -117
  74. package/cpp/rnwgpu/PlatformContext.h +0 -127
  75. package/cpp/rnwgpu/RNWebGPUManager.cpp +0 -237
  76. package/cpp/rnwgpu/RNWebGPUManager.h +0 -46
  77. package/cpp/rnwgpu/SurfaceRegistry.h +0 -230
  78. package/cpp/rnwgpu/api/Canvas.h +0 -57
  79. package/cpp/rnwgpu/api/Convertors.h +0 -783
  80. package/cpp/rnwgpu/api/External.h +0 -12
  81. package/cpp/rnwgpu/api/GPU.cpp +0 -154
  82. package/cpp/rnwgpu/api/GPU.h +0 -58
  83. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -267
  84. package/cpp/rnwgpu/api/GPUAdapter.h +0 -59
  85. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  86. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  87. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  88. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  89. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -97
  90. package/cpp/rnwgpu/api/GPUBuffer.h +0 -87
  91. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -67
  92. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -66
  93. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  94. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  95. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  96. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  97. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  98. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  99. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  100. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  101. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  102. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -545
  103. package/cpp/rnwgpu/api/GPUDevice.h +0 -265
  104. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  105. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  106. package/cpp/rnwgpu/api/GPUError.h +0 -35
  107. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  108. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -335
  109. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -90
  110. package/cpp/rnwgpu/api/GPUFeatures.h +0 -206
  111. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  112. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  113. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  114. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  115. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  116. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  117. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  118. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -169
  119. package/cpp/rnwgpu/api/GPUQueue.h +0 -81
  120. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  121. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  122. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  123. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  124. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  125. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  126. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  127. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  128. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -50
  129. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  130. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -80
  131. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -71
  132. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  133. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  134. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  135. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  136. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  137. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -71
  138. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  139. package/cpp/rnwgpu/api/ImageBitmap.h +0 -48
  140. package/cpp/rnwgpu/api/RNWebGPU.h +0 -241
  141. package/cpp/rnwgpu/api/RnFeatures.h +0 -53
  142. package/cpp/rnwgpu/api/VideoFrame.h +0 -76
  143. package/cpp/rnwgpu/api/VideoPlayer.h +0 -69
  144. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -65
  145. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -81
  146. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -57
  147. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -98
  148. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -58
  149. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -53
  150. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -57
  151. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -57
  152. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -60
  153. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  154. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  155. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -67
  156. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -59
  157. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  158. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -46
  159. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -46
  160. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -57
  161. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -59
  162. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -68
  163. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -57
  164. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -104
  165. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -115
  166. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -39
  167. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -82
  168. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -74
  169. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -63
  170. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  171. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -66
  172. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -82
  173. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -55
  174. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  175. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -55
  176. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -58
  177. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -70
  178. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -62
  179. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -56
  180. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -44
  181. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -46
  182. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -81
  183. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -82
  184. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -102
  185. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -93
  186. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -59
  187. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -104
  188. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -52
  189. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -46
  190. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -111
  191. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -61
  192. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -63
  193. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  194. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -62
  195. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -65
  196. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -60
  197. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -60
  198. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -92
  199. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  200. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -92
  201. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -65
  202. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -54
  203. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -63
  204. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -74
  205. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1979
  206. package/cpp/rnwgpu/async/AsyncDispatcher.h +0 -28
  207. package/cpp/rnwgpu/async/AsyncRunner.cpp +0 -215
  208. package/cpp/rnwgpu/async/AsyncRunner.h +0 -53
  209. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -181
  210. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -55
  211. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.cpp +0 -23
  212. package/cpp/rnwgpu/async/JSIMicrotaskDispatcher.h +0 -22
  213. package/cpp/webgpu/webgpu.h +0 -4979
  214. package/cpp/webgpu/webgpu_cpp.h +0 -10059
  215. package/cpp/webgpu/webgpu_cpp_chained_struct.h +0 -57
  216. package/cpp/webgpu/webgpu_cpp_print.h +0 -2844
  217. package/cpp/webgpu/webgpu_enum_class_bitmasks.h +0 -161
  218. package/lib/commonjs/Canvas.js +0 -55
  219. package/lib/commonjs/Canvas.js.map +0 -1
  220. package/lib/commonjs/NativeWebGPUModule.js +0 -10
  221. package/lib/commonjs/NativeWebGPUModule.js.map +0 -1
  222. package/lib/commonjs/Offscreen.js +0 -103
  223. package/lib/commonjs/Offscreen.js.map +0 -1
  224. package/lib/commonjs/WebGPUViewNativeComponent.js +0 -10
  225. package/lib/commonjs/WebGPUViewNativeComponent.js.map +0 -1
  226. package/lib/commonjs/WebGPUViewNativeComponent.web.js +0 -103
  227. package/lib/commonjs/WebGPUViewNativeComponent.web.js.map +0 -1
  228. package/lib/commonjs/WebPolyfillGPUModule.js +0 -40
  229. package/lib/commonjs/WebPolyfillGPUModule.js.map +0 -1
  230. package/lib/commonjs/external/ModuleProxy.js +0 -36
  231. package/lib/commonjs/external/ModuleProxy.js.map +0 -1
  232. package/lib/commonjs/external/index.js +0 -17
  233. package/lib/commonjs/external/index.js.map +0 -1
  234. package/lib/commonjs/external/reanimated/ReanimatedProxy.js +0 -18
  235. package/lib/commonjs/external/reanimated/ReanimatedProxy.js.map +0 -1
  236. package/lib/commonjs/external/reanimated/index.js +0 -21
  237. package/lib/commonjs/external/reanimated/index.js.map +0 -1
  238. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js +0 -49
  239. package/lib/commonjs/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  240. package/lib/commonjs/hooks.js +0 -83
  241. package/lib/commonjs/hooks.js.map +0 -1
  242. package/lib/commonjs/main/index.js +0 -91
  243. package/lib/commonjs/main/index.js.map +0 -1
  244. package/lib/commonjs/main/index.web.js +0 -51
  245. package/lib/commonjs/main/index.web.js.map +0 -1
  246. package/lib/commonjs/types.js +0 -2
  247. package/lib/commonjs/types.js.map +0 -1
  248. package/lib/commonjs/utils.js +0 -11
  249. package/lib/commonjs/utils.js.map +0 -1
  250. package/lib/module/Canvas.js +0 -46
  251. package/lib/module/Canvas.js.map +0 -1
  252. package/lib/module/NativeWebGPUModule.js +0 -4
  253. package/lib/module/NativeWebGPUModule.js.map +0 -1
  254. package/lib/module/Offscreen.js +0 -96
  255. package/lib/module/Offscreen.js.map +0 -1
  256. package/lib/module/WebGPUViewNativeComponent.js +0 -4
  257. package/lib/module/WebGPUViewNativeComponent.js.map +0 -1
  258. package/lib/module/WebGPUViewNativeComponent.web.js +0 -96
  259. package/lib/module/WebGPUViewNativeComponent.web.js.map +0 -1
  260. package/lib/module/WebPolyfillGPUModule.js +0 -38
  261. package/lib/module/WebPolyfillGPUModule.js.map +0 -1
  262. package/lib/module/external/ModuleProxy.js +0 -28
  263. package/lib/module/external/ModuleProxy.js.map +0 -1
  264. package/lib/module/external/index.js +0 -2
  265. package/lib/module/external/index.js.map +0 -1
  266. package/lib/module/external/reanimated/ReanimatedProxy.js +0 -12
  267. package/lib/module/external/reanimated/ReanimatedProxy.js.map +0 -1
  268. package/lib/module/external/reanimated/index.js +0 -3
  269. package/lib/module/external/reanimated/index.js.map +0 -1
  270. package/lib/module/external/reanimated/registerWebGPUForReanimated.js +0 -42
  271. package/lib/module/external/reanimated/registerWebGPUForReanimated.js.map +0 -1
  272. package/lib/module/hooks.js +0 -70
  273. package/lib/module/hooks.js.map +0 -1
  274. package/lib/module/main/index.js +0 -33
  275. package/lib/module/main/index.js.map +0 -1
  276. package/lib/module/main/index.web.js +0 -8
  277. package/lib/module/main/index.web.js.map +0 -1
  278. package/lib/module/types.js +0 -2
  279. package/lib/module/types.js.map +0 -1
  280. package/lib/module/utils.js +0 -5
  281. package/lib/module/utils.js.map +0 -1
  282. package/lib/typescript/babel.config.d.ts +0 -3
  283. package/lib/typescript/babel.config.d.ts.map +0 -1
  284. package/lib/typescript/jest.config.d.ts +0 -9
  285. package/lib/typescript/jest.config.d.ts.map +0 -1
  286. package/lib/typescript/lib/commonjs/Canvas.d.ts +0 -7
  287. package/lib/typescript/lib/commonjs/Canvas.d.ts.map +0 -1
  288. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts +0 -5
  289. package/lib/typescript/lib/commonjs/NativeWebGPUModule.d.ts.map +0 -1
  290. package/lib/typescript/lib/commonjs/Offscreen.d.ts +0 -26
  291. package/lib/typescript/lib/commonjs/Offscreen.d.ts.map +0 -1
  292. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts +0 -5
  293. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.d.ts.map +0 -1
  294. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts +0 -4
  295. package/lib/typescript/lib/commonjs/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  296. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts +0 -2
  297. package/lib/typescript/lib/commonjs/WebPolyfillGPUModule.d.ts.map +0 -1
  298. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts +0 -12
  299. package/lib/typescript/lib/commonjs/external/ModuleProxy.d.ts.map +0 -1
  300. package/lib/typescript/lib/commonjs/external/index.d.ts.map +0 -1
  301. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts +0 -6
  302. package/lib/typescript/lib/commonjs/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  303. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts +0 -4
  304. package/lib/typescript/lib/commonjs/external/reanimated/index.d.ts.map +0 -1
  305. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts +0 -9
  306. package/lib/typescript/lib/commonjs/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  307. package/lib/typescript/lib/commonjs/hooks.d.ts +0 -18
  308. package/lib/typescript/lib/commonjs/hooks.d.ts.map +0 -1
  309. package/lib/typescript/lib/commonjs/index.d.ts +0 -2
  310. package/lib/typescript/lib/commonjs/main/index.d.ts +0 -3
  311. package/lib/typescript/lib/commonjs/main/index.d.ts.map +0 -1
  312. package/lib/typescript/lib/commonjs/main/index.web.d.ts +0 -2
  313. package/lib/typescript/lib/commonjs/main/index.web.d.ts.map +0 -1
  314. package/lib/typescript/lib/commonjs/types.d.ts +0 -1
  315. package/lib/typescript/lib/commonjs/types.d.ts.map +0 -1
  316. package/lib/typescript/lib/commonjs/utils.d.ts +0 -3
  317. package/lib/typescript/lib/commonjs/utils.d.ts.map +0 -1
  318. package/lib/typescript/lib/module/Canvas.d.ts +0 -8
  319. package/lib/typescript/lib/module/Canvas.d.ts.map +0 -1
  320. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts +0 -3
  321. package/lib/typescript/lib/module/NativeWebGPUModule.d.ts.map +0 -1
  322. package/lib/typescript/lib/module/Offscreen.d.ts +0 -25
  323. package/lib/typescript/lib/module/Offscreen.d.ts.map +0 -1
  324. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts +0 -3
  325. package/lib/typescript/lib/module/WebGPUViewNativeComponent.d.ts.map +0 -1
  326. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts +0 -3
  327. package/lib/typescript/lib/module/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  328. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts +0 -2
  329. package/lib/typescript/lib/module/WebPolyfillGPUModule.d.ts.map +0 -1
  330. package/lib/typescript/lib/module/external/ModuleProxy.d.ts +0 -7
  331. package/lib/typescript/lib/module/external/ModuleProxy.d.ts.map +0 -1
  332. package/lib/typescript/lib/module/external/index.d.ts.map +0 -1
  333. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts +0 -5
  334. package/lib/typescript/lib/module/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  335. package/lib/typescript/lib/module/external/reanimated/index.d.ts.map +0 -1
  336. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts +0 -2
  337. package/lib/typescript/lib/module/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  338. package/lib/typescript/lib/module/hooks.d.ts +0 -18
  339. package/lib/typescript/lib/module/hooks.d.ts.map +0 -1
  340. package/lib/typescript/lib/module/index.d.ts +0 -2
  341. package/lib/typescript/lib/module/main/index.d.ts.map +0 -1
  342. package/lib/typescript/lib/module/main/index.web.d.ts +0 -5
  343. package/lib/typescript/lib/module/main/index.web.d.ts.map +0 -1
  344. package/lib/typescript/lib/module/types.d.ts +0 -1
  345. package/lib/typescript/lib/module/types.d.ts.map +0 -1
  346. package/lib/typescript/lib/module/utils.d.ts +0 -2
  347. package/lib/typescript/lib/module/utils.d.ts.map +0 -1
  348. package/lib/typescript/src/Canvas.d.ts.map +0 -1
  349. package/lib/typescript/src/NativeWebGPUModule.d.ts.map +0 -1
  350. package/lib/typescript/src/Offscreen.d.ts.map +0 -1
  351. package/lib/typescript/src/WebGPUViewNativeComponent.d.ts.map +0 -1
  352. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts +0 -9
  353. package/lib/typescript/src/WebGPUViewNativeComponent.web.d.ts.map +0 -1
  354. package/lib/typescript/src/WebPolyfillGPUModule.d.ts +0 -2
  355. package/lib/typescript/src/WebPolyfillGPUModule.d.ts.map +0 -1
  356. package/lib/typescript/src/external/ModuleProxy.d.ts.map +0 -1
  357. package/lib/typescript/src/external/index.d.ts +0 -2
  358. package/lib/typescript/src/external/index.d.ts.map +0 -1
  359. package/lib/typescript/src/external/reanimated/ReanimatedProxy.d.ts.map +0 -1
  360. package/lib/typescript/src/external/reanimated/index.d.ts +0 -3
  361. package/lib/typescript/src/external/reanimated/index.d.ts.map +0 -1
  362. package/lib/typescript/src/external/reanimated/registerWebGPUForReanimated.d.ts.map +0 -1
  363. package/lib/typescript/src/hooks.d.ts.map +0 -1
  364. package/lib/typescript/src/index.d.ts.map +0 -1
  365. package/lib/typescript/src/main/index.d.ts +0 -6
  366. package/lib/typescript/src/main/index.d.ts.map +0 -1
  367. package/lib/typescript/src/main/index.web.d.ts +0 -6
  368. package/lib/typescript/src/main/index.web.d.ts.map +0 -1
  369. package/lib/typescript/src/types.d.ts.map +0 -1
  370. package/lib/typescript/src/utils.d.ts +0 -2
  371. package/lib/typescript/src/utils.d.ts.map +0 -1
  372. package/libs/android/arm64-v8a/libwebgpu_dawn.so +0 -0
  373. package/libs/android/armeabi-v7a/libwebgpu_dawn.so +0 -0
  374. package/libs/android/x86/libwebgpu_dawn.so +0 -0
  375. package/libs/android/x86_64/libwebgpu_dawn.so +0 -0
  376. package/libs/apple/libwebgpu_dawn.xcframework/Info.plist +0 -59
  377. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64/libwebgpu_dawn.a +0 -0
  378. package/libs/apple/libwebgpu_dawn.xcframework/ios-arm64_x86_64-simulator/libwebgpu_dawn.a +0 -0
  379. package/libs/apple/libwebgpu_dawn.xcframework/macos-arm64_x86_64/libwebgpu_dawn.a +0 -0
  380. package/react-native-wgpu.podspec +0 -47
  381. package/src/Canvas.tsx +0 -76
  382. package/src/NativeWebGPUModule.ts +0 -9
  383. package/src/Offscreen.ts +0 -113
  384. package/src/WebGPUViewNativeComponent.ts +0 -11
  385. package/src/WebGPUViewNativeComponent.web.ts +0 -113
  386. package/src/WebPolyfillGPUModule.ts +0 -53
  387. package/src/external/ModuleProxy.ts +0 -30
  388. package/src/external/index.ts +0 -1
  389. package/src/external/reanimated/ReanimatedProxy.ts +0 -19
  390. package/src/external/reanimated/index.ts +0 -2
  391. package/src/external/reanimated/registerWebGPUForReanimated.ts +0 -43
  392. package/src/hooks.tsx +0 -93
  393. package/src/index.tsx +0 -91
  394. package/src/main/index.tsx +0 -40
  395. package/src/main/index.web.tsx +0 -8
  396. package/src/types.ts +0 -102
  397. package/src/utils.ts +0 -4
  398. /package/lib/typescript/{src → webgpu/src}/NativeWebGPUModule.d.ts +0 -0
  399. /package/lib/typescript/{src → webgpu/src}/Offscreen.d.ts +0 -0
  400. /package/lib/typescript/{src → webgpu/src}/WebGPUViewNativeComponent.d.ts +0 -0
  401. /package/lib/typescript/{src → webgpu/src}/external/ModuleProxy.d.ts +0 -0
  402. /package/lib/typescript/{lib/module → webgpu/src}/external/index.d.ts +0 -0
  403. /package/lib/typescript/{src → webgpu/src}/external/reanimated/ReanimatedProxy.d.ts +0 -0
  404. /package/lib/typescript/{lib/module → webgpu/src}/external/reanimated/index.d.ts +0 -0
  405. /package/lib/typescript/{src → webgpu/src}/external/reanimated/registerWebGPUForReanimated.d.ts +0 -0
  406. /package/lib/typescript/{src → webgpu/src}/hooks.d.ts +0 -0
  407. /package/lib/typescript/{lib/module → webgpu/src}/main/index.d.ts +0 -0
  408. /package/lib/typescript/{eslint.config.d.mts → webgpu-shim/eslint.config.d.mts} +0 -0
  409. /package/lib/typescript/{lib/commonjs/external → webgpu-shim/lib/commonjs}/index.d.ts +0 -0
@@ -1,76 +0,0 @@
1
- #pragma once
2
-
3
- #include <functional>
4
- #include <memory>
5
- #include <string>
6
- #include <utility>
7
-
8
- #include "JSIConverter.h"
9
- #include "NativeObject.h"
10
- #include "PlatformContext.h"
11
-
12
- namespace rnwgpu {
13
-
14
- namespace jsi = facebook::jsi;
15
-
16
- // VideoFrame is a small RAII wrapper around a platform-specific native handle
17
- // (IOSurfaceRef-backed CVPixelBuffer on Apple, AHardwareBuffer on Android).
18
- // It surfaces the raw handle as a BigInt to JS so callers can hand it to
19
- // GPUDevice.importSharedTextureMemory, and owns a deleter so the underlying
20
- // object stays alive until the JS object is GC'd (or release() is called).
21
- class VideoFrame : public NativeObject<VideoFrame> {
22
- public:
23
- // JS-facing brand. installConstructor() exposes this as globalThis[CLASS_NAME]
24
- // and keys the NativeObjectRegistry / worklet serializer off it, so it must
25
- // NOT be "VideoFrame": that would install our constructor over the WebCodecs
26
- // `VideoFrame` global and shadow it at runtime. "NativeVideoFrame" matches the
27
- // public TypeScript type (see src/types.ts) and keeps the two namespaces
28
- // distinct. The C++ class stays `VideoFrame` for brevity; only the brand is
29
- // namespaced.
30
- static constexpr const char *CLASS_NAME = "NativeVideoFrame";
31
-
32
- explicit VideoFrame(VideoFrameHandle handle)
33
- : NativeObject(CLASS_NAME), _handle(std::move(handle)) {}
34
-
35
- ~VideoFrame() override { release(); }
36
-
37
- std::string getBrand() { return CLASS_NAME; }
38
-
39
- // The native handle (IOSurfaceRef / AHardwareBuffer*) as a uintptr_t value.
40
- // Exposed as a BigInt on the JS side.
41
- void *getHandle() { return _handle.handle; }
42
- uint32_t getWidth() { return _handle.width; }
43
- uint32_t getHeight() { return _handle.height; }
44
-
45
- // Pixel format as a JS-visible string: "bgra8" | "nv12".
46
- std::string getPixelFormat() {
47
- return _handle.pixelFormat == VideoPixelFormat::NV12 ? "nv12" : "bgra8";
48
- }
49
-
50
- // Direct access to the underlying handle, for use by importExternalTexture /
51
- // importSharedTextureMemory inside the C++ layer (not exposed to JS).
52
- const VideoFrameHandle &handle() const { return _handle; }
53
-
54
- void release() {
55
- if (_handle.deleter) {
56
- _handle.deleter();
57
- _handle.deleter = nullptr;
58
- }
59
- _handle.handle = nullptr;
60
- }
61
-
62
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
63
- installGetter(runtime, prototype, "__brand", &VideoFrame::getBrand);
64
- installGetter(runtime, prototype, "handle", &VideoFrame::getHandle);
65
- installGetter(runtime, prototype, "width", &VideoFrame::getWidth);
66
- installGetter(runtime, prototype, "height", &VideoFrame::getHeight);
67
- installGetter(runtime, prototype, "pixelFormat",
68
- &VideoFrame::getPixelFormat);
69
- installMethod(runtime, prototype, "release", &VideoFrame::release);
70
- }
71
-
72
- private:
73
- VideoFrameHandle _handle;
74
- };
75
-
76
- } // namespace rnwgpu
@@ -1,69 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <utility>
6
- #include <variant>
7
-
8
- #include "NativeObject.h"
9
- #include "PlatformContext.h"
10
- #include "VideoFrame.h"
11
-
12
- namespace rnwgpu {
13
-
14
- namespace jsi = facebook::jsi;
15
-
16
- // JSI wrapper around a platform-specific IVideoPlayer. Hands out fresh
17
- // VideoFrame handles each time the underlying decoder produces a new frame.
18
- class VideoPlayer : public NativeObject<VideoPlayer> {
19
- public:
20
- static constexpr const char *CLASS_NAME = "VideoPlayer";
21
-
22
- explicit VideoPlayer(std::unique_ptr<IVideoPlayer> impl)
23
- : NativeObject(CLASS_NAME), _impl(std::move(impl)) {}
24
-
25
- std::string getBrand() { return CLASS_NAME; }
26
-
27
- // Returns the latest decoded frame, or null if no new frame is ready yet.
28
- // Callers should poll this from their render loop and skip rendering (or
29
- // reuse the last frame's texture) when null.
30
- std::variant<std::nullptr_t, std::shared_ptr<VideoFrame>>
31
- copyLatestFrame() {
32
- if (!_impl) {
33
- return nullptr;
34
- }
35
- auto handle = _impl->copyLatestFrame();
36
- if (handle.handle == nullptr) {
37
- return nullptr;
38
- }
39
- return std::make_shared<VideoFrame>(std::move(handle));
40
- }
41
-
42
- void play() {
43
- if (_impl) {
44
- _impl->play();
45
- }
46
- }
47
-
48
- void pause() {
49
- if (_impl) {
50
- _impl->pause();
51
- }
52
- }
53
-
54
- void release() { _impl.reset(); }
55
-
56
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
57
- installGetter(runtime, prototype, "__brand", &VideoPlayer::getBrand);
58
- installMethod(runtime, prototype, "copyLatestFrame",
59
- &VideoPlayer::copyLatestFrame);
60
- installMethod(runtime, prototype, "play", &VideoPlayer::play);
61
- installMethod(runtime, prototype, "pause", &VideoPlayer::pause);
62
- installMethod(runtime, prototype, "release", &VideoPlayer::release);
63
- }
64
-
65
- private:
66
- std::unique_ptr<IVideoPlayer> _impl;
67
- };
68
-
69
- } // 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,81 +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
- std::shared_ptr<GPUExternalTexture> externalTexture = nullptr;
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::GPUExternalTexture>(runtime)) {
50
- result->externalTexture =
51
- obj.getNativeState<rnwgpu::GPUExternalTexture>(runtime);
52
- } else if (obj.hasNativeState<rnwgpu::GPUBuffer>(runtime)) {
53
- // Support passing GPUBuffer directly as resource (auto-wrap in
54
- // GPUBufferBinding)
55
- auto binding = std::make_shared<rnwgpu::GPUBufferBinding>();
56
- binding->buffer = obj.getNativeState<rnwgpu::GPUBuffer>(runtime);
57
- result->buffer = binding;
58
- } else {
59
- result->buffer = JSIConverter<
60
- std::shared_ptr<rnwgpu::GPUBufferBinding>>::fromJSI(runtime,
61
- prop,
62
- false);
63
- }
64
- }
65
- // result->resource = JSIConverter<std::variant<
66
- // std::shared_ptr<GPUSampler>, std::shared_ptr<GPUTextureView>,
67
- // std::shared_ptr<GPUBufferBinding>,
68
- // std::shared_ptr<GPUExternalTexture>>>::fromJSI(runtime, prop,
69
- // false);
70
- }
71
- }
72
-
73
- return result;
74
- }
75
- static jsi::Value toJSI(jsi::Runtime &runtime,
76
- std::shared_ptr<rnwgpu::GPUBindGroupEntry> arg) {
77
- throw std::runtime_error("Invalid GPUBindGroupEntry::toJSI()");
78
- }
79
- };
80
-
81
- } // 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
@@ -1,58 +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
- namespace jsi = facebook::jsi;
11
-
12
- namespace rnwgpu {
13
-
14
- struct GPUBlendComponent {
15
- std::optional<wgpu::BlendOperation> operation; // GPUBlendOperation
16
- std::optional<wgpu::BlendFactor> srcFactor; // GPUBlendFactor
17
- std::optional<wgpu::BlendFactor> dstFactor; // GPUBlendFactor
18
- };
19
-
20
- } // namespace rnwgpu
21
-
22
- namespace rnwgpu {
23
-
24
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUBlendComponent>> {
25
- static std::shared_ptr<rnwgpu::GPUBlendComponent>
26
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
27
- auto result = std::make_unique<rnwgpu::GPUBlendComponent>();
28
- if (!outOfBounds && arg.isObject()) {
29
- auto value = arg.getObject(runtime);
30
- if (value.hasProperty(runtime, "operation")) {
31
- auto prop = value.getProperty(runtime, "operation");
32
- result->operation =
33
- JSIConverter<std::optional<wgpu::BlendOperation>>::fromJSI(
34
- runtime, prop, false);
35
- }
36
- if (value.hasProperty(runtime, "srcFactor")) {
37
- auto prop = value.getProperty(runtime, "srcFactor");
38
- result->srcFactor =
39
- JSIConverter<std::optional<wgpu::BlendFactor>>::fromJSI(
40
- runtime, prop, false);
41
- }
42
- if (value.hasProperty(runtime, "dstFactor")) {
43
- auto prop = value.getProperty(runtime, "dstFactor");
44
- result->dstFactor =
45
- JSIConverter<std::optional<wgpu::BlendFactor>>::fromJSI(
46
- runtime, prop, false);
47
- }
48
- }
49
-
50
- return result;
51
- }
52
- static jsi::Value toJSI(jsi::Runtime &runtime,
53
- std::shared_ptr<rnwgpu::GPUBlendComponent> arg) {
54
- throw std::runtime_error("Invalid GPUBlendComponent::toJSI()");
55
- }
56
- };
57
-
58
- } // namespace rnwgpu
@@ -1,53 +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 "GPUBlendComponent.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- struct GPUBlendState {
17
- std::shared_ptr<GPUBlendComponent> color; // GPUBlendComponent
18
- std::shared_ptr<GPUBlendComponent> alpha; // GPUBlendComponent
19
- };
20
-
21
- } // namespace rnwgpu
22
-
23
- namespace rnwgpu {
24
-
25
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUBlendState>> {
26
- static std::shared_ptr<rnwgpu::GPUBlendState>
27
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
- auto result = std::make_unique<rnwgpu::GPUBlendState>();
29
- if (!outOfBounds && arg.isObject()) {
30
- auto value = arg.getObject(runtime);
31
- if (value.hasProperty(runtime, "color")) {
32
- auto prop = value.getProperty(runtime, "color");
33
- result->color =
34
- JSIConverter<std::shared_ptr<GPUBlendComponent>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "alpha")) {
38
- auto prop = value.getProperty(runtime, "alpha");
39
- result->alpha =
40
- JSIConverter<std::shared_ptr<GPUBlendComponent>>::fromJSI(
41
- runtime, prop, false);
42
- }
43
- }
44
-
45
- return result;
46
- }
47
- static jsi::Value toJSI(jsi::Runtime &runtime,
48
- std::shared_ptr<rnwgpu::GPUBlendState> arg) {
49
- throw std::runtime_error("Invalid GPUBlendState::toJSI()");
50
- }
51
- };
52
-
53
- } // namespace rnwgpu
@@ -1,57 +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 "GPUBuffer.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- struct GPUBufferBinding {
17
- std::shared_ptr<GPUBuffer> buffer; // GPUBuffer
18
- std::optional<double> offset; // GPUSize64
19
- std::optional<double> size; // GPUSize64
20
- };
21
-
22
- } // namespace rnwgpu
23
-
24
- namespace rnwgpu {
25
-
26
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUBufferBinding>> {
27
- static std::shared_ptr<rnwgpu::GPUBufferBinding>
28
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
29
- auto result = std::make_unique<rnwgpu::GPUBufferBinding>();
30
- if (!outOfBounds && arg.isObject()) {
31
- auto value = arg.getObject(runtime);
32
- if (value.hasProperty(runtime, "buffer")) {
33
- auto prop = value.getProperty(runtime, "buffer");
34
- result->buffer = JSIConverter<std::shared_ptr<GPUBuffer>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "offset")) {
38
- auto prop = value.getProperty(runtime, "offset");
39
- result->offset =
40
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
41
- }
42
- if (value.hasProperty(runtime, "size")) {
43
- auto prop = value.getProperty(runtime, "size");
44
- result->size =
45
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
46
- }
47
- }
48
-
49
- return result;
50
- }
51
- static jsi::Value toJSI(jsi::Runtime &runtime,
52
- std::shared_ptr<rnwgpu::GPUBufferBinding> arg) {
53
- throw std::runtime_error("Invalid GPUBufferBinding::toJSI()");
54
- }
55
- };
56
-
57
- } // namespace rnwgpu
@@ -1,57 +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
- namespace jsi = facebook::jsi;
11
-
12
- namespace rnwgpu {
13
-
14
- struct GPUBufferBindingLayout {
15
- std::optional<wgpu::BufferBindingType> type; // GPUBufferBindingType
16
- std::optional<bool> hasDynamicOffset; // boolean
17
- std::optional<double> minBindingSize; // GPUSize64
18
- };
19
-
20
- } // namespace rnwgpu
21
-
22
- namespace rnwgpu {
23
-
24
- template <>
25
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUBufferBindingLayout>> {
26
- static std::shared_ptr<rnwgpu::GPUBufferBindingLayout>
27
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
- auto result = std::make_unique<rnwgpu::GPUBufferBindingLayout>();
29
- if (!outOfBounds && arg.isObject()) {
30
- auto value = arg.getObject(runtime);
31
- if (value.hasProperty(runtime, "type")) {
32
- auto prop = value.getProperty(runtime, "type");
33
- result->type =
34
- JSIConverter<std::optional<wgpu::BufferBindingType>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "hasDynamicOffset")) {
38
- auto prop = value.getProperty(runtime, "hasDynamicOffset");
39
- result->hasDynamicOffset =
40
- JSIConverter<std::optional<bool>>::fromJSI(runtime, prop, false);
41
- }
42
- if (value.hasProperty(runtime, "minBindingSize")) {
43
- auto prop = value.getProperty(runtime, "minBindingSize");
44
- result->minBindingSize =
45
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
46
- }
47
- }
48
-
49
- return result;
50
- }
51
- static jsi::Value toJSI(jsi::Runtime &runtime,
52
- std::shared_ptr<rnwgpu::GPUBufferBindingLayout> arg) {
53
- throw std::runtime_error("Invalid GPUBufferBindingLayout::toJSI()");
54
- }
55
- };
56
-
57
- } // namespace rnwgpu