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,50 +0,0 @@
1
- #import "MetalView.h"
2
- #import "webgpu/webgpu_cpp.h"
3
-
4
- @implementation MetalView {
5
- BOOL _isConfigured;
6
- }
7
-
8
- #if !TARGET_OS_OSX
9
- + (Class)layerClass {
10
- return [CAMetalLayer class];
11
- }
12
- #else // !TARGET_OS_OSX
13
- - (instancetype)init {
14
- self = [super init];
15
- if (self) {
16
- self.wantsLayer = true;
17
- self.layer = [CAMetalLayer layer];
18
- }
19
- return self;
20
- }
21
- #endif // !TARGET_OS_OSX
22
-
23
- - (void)configure {
24
- auto size = self.frame.size;
25
- std::shared_ptr<rnwgpu::RNWebGPUManager> manager = [WebGPUModule getManager];
26
- void *nativeSurface = (__bridge void *)self.layer;
27
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
28
- auto gpu = manager->_gpu;
29
- auto surface = manager->_platformContext->makeSurface(
30
- gpu, nativeSurface, size.width, size.height);
31
- registry
32
- .getSurfaceInfoOrCreate([_contextId intValue], gpu, size.width,
33
- size.height)
34
- ->switchToOnscreen(nativeSurface, surface);
35
- }
36
-
37
- - (void)update {
38
- auto size = self.frame.size;
39
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
40
- registry.getSurfaceInfo([_contextId intValue])
41
- ->resize(size.width, size.height);
42
- }
43
-
44
- - (void)dealloc {
45
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
46
- // Remove the surface info from the registry
47
- registry.removeSurfaceInfo([_contextId intValue]);
48
- }
49
-
50
- @end
package/apple/RNWGUIKit.h DELETED
@@ -1,16 +0,0 @@
1
- #ifndef PACKAGES_WEBGPU_APPLE_RNWGUIKIT_H_
2
- #define PACKAGES_WEBGPU_APPLE_RNWGUIKIT_H_
3
-
4
- #if !TARGET_OS_OSX
5
- #import <UIKit/UIKit.h>
6
- #else
7
- #import <Appkit/Appkit.h>
8
- #endif
9
-
10
- #if !TARGET_OS_OSX
11
- typedef UIView RNWGPlatformView;
12
- #else
13
- typedef NSView RNWGPlatformView;
14
- #endif
15
-
16
- #endif // PACKAGES_WEBGPU_APPLE_RNWGUIKIT_H_
@@ -1,13 +0,0 @@
1
- #pragma once
2
-
3
- #import "RNWebGPUManager.h"
4
- #import <RNWgpuViewSpec/RNWgpuViewSpec.h>
5
- #import <React/RCTCallInvokerModule.h>
6
- #import <React/RCTEventEmitter.h>
7
-
8
- @interface WebGPUModule
9
- : RCTEventEmitter <NativeWebGPUModuleSpec, RCTCallInvokerModule>
10
-
11
- + (std::shared_ptr<rnwgpu::RNWebGPUManager>)getManager;
12
-
13
- @end
@@ -1,89 +0,0 @@
1
- #import "WebGPUModule.h"
2
- #include "ApplePlatformContext.h"
3
- #import "GPUCanvasContext.h"
4
-
5
- #import <React/RCTBridge+Private.h>
6
- #import <React/RCTCallInvoker.h>
7
- #import <React/RCTLog.h>
8
- #import <ReactCommon/RCTTurboModule.h>
9
- #import <jsi/jsi.h>
10
- #import <memory>
11
-
12
- namespace jsi = facebook::jsi;
13
- namespace react = facebook::react;
14
-
15
- // Category to declare the runtime property on RCTBridge/RCTBridgeProxy.
16
- // In Bridgeless mode, self.bridge is an RCTBridgeProxy which implements
17
- // -(void *)runtime. In Legacy mode, self.bridge is the real RCTBridge
18
- // (backed by RCTCxxBridge) which also implements it.
19
- @interface RCTBridge (JSIRuntime)
20
- - (void *)runtime;
21
- @end
22
-
23
- @implementation WebGPUModule
24
-
25
- RCT_EXPORT_MODULE(WebGPUModule)
26
-
27
- static std::shared_ptr<rnwgpu::RNWebGPUManager> webgpuManager;
28
-
29
- // Synthesize callInvoker so RCTTurboModuleManager injects the JS CallInvoker.
30
- // When the module conforms to RCTCallInvokerModule, the TurboModule infra
31
- // calls setCallInvoker: during module initialization.
32
- @synthesize callInvoker = _callInvoker;
33
-
34
- + (std::shared_ptr<rnwgpu::RNWebGPUManager>)getManager {
35
- return webgpuManager;
36
- }
37
-
38
- #pragma Setup and invalidation
39
-
40
- + (BOOL)requiresMainQueueSetup {
41
- return YES;
42
- }
43
-
44
- - (void)invalidate {
45
- webgpuManager = nil;
46
- }
47
-
48
- - (std::shared_ptr<rnwgpu::RNWebGPUManager>)getManager {
49
- return webgpuManager;
50
- }
51
-
52
- RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) {
53
- if (webgpuManager != nil) {
54
- // Already initialized, ignore call.
55
- return @true;
56
- }
57
-
58
- // self.bridge works in both Legacy (RCTBridge) and Bridgeless
59
- // (RCTBridgeProxy).
60
- jsi::Runtime *runtime = (jsi::Runtime *)self.bridge.runtime;
61
- if (!runtime) {
62
- NSLog(@"Failed to install react-native-wgpu: jsi::Runtime* was null! "
63
- @"(self.bridge=%@)",
64
- self.bridge);
65
- return [NSNumber numberWithBool:NO];
66
- }
67
-
68
- // _callInvoker is injected by RCTTurboModuleManager because we conform to
69
- // RCTCallInvokerModule. Works in both Legacy and Bridgeless.
70
- std::shared_ptr<react::CallInvoker> jsInvoker = _callInvoker.callInvoker;
71
- if (!jsInvoker) {
72
- NSLog(@"Failed to install react-native-wgpu: react::CallInvoker was "
73
- @"null!");
74
- return [NSNumber numberWithBool:NO];
75
- }
76
-
77
- std::shared_ptr<rnwgpu::PlatformContext> platformContext =
78
- std::make_shared<rnwgpu::ApplePlatformContext>();
79
- webgpuManager = std::make_shared<rnwgpu::RNWebGPUManager>(runtime, jsInvoker,
80
- platformContext);
81
- return @true;
82
- }
83
-
84
- - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
85
- (const facebook::react::ObjCTurboModule::InitParams &)params {
86
- return std::make_shared<facebook::react::NativeWebGPUModuleSpecJSI>(params);
87
- }
88
-
89
- @end
@@ -1,12 +0,0 @@
1
- #pragma once
2
-
3
- #import "MetalView.h"
4
- #import <React/RCTViewComponentView.h>
5
- #import <UIKit/UIKit.h>
6
-
7
- NS_ASSUME_NONNULL_BEGIN
8
-
9
- @interface WebGPUView : RCTViewComponentView
10
- @end
11
-
12
- NS_ASSUME_NONNULL_END
@@ -1,66 +0,0 @@
1
- #import "WebGPUView.h"
2
-
3
- #import <react/renderer/components/RNWgpuViewSpec/ComponentDescriptors.h>
4
- #import <react/renderer/components/RNWgpuViewSpec/EventEmitters.h>
5
- #import <react/renderer/components/RNWgpuViewSpec/Props.h>
6
- #import <react/renderer/components/RNWgpuViewSpec/RCTComponentViewHelpers.h>
7
-
8
- #import "MetalView.h"
9
- #import "RCTFabricComponentsPlugins.h"
10
- #import "Utils.h"
11
-
12
- using namespace facebook::react;
13
-
14
- @implementation WebGPUView
15
-
16
- + (ComponentDescriptorProvider)componentDescriptorProvider {
17
- return concreteComponentDescriptorProvider<WebGPUViewComponentDescriptor>();
18
- }
19
-
20
- - (void)prepareForRecycle {
21
- [super prepareForRecycle];
22
- /*
23
- It's important to destroy the Metal Layer before releasing a view
24
- to the recycled pool to prevent displaying outdated content from
25
- the last usage in the new context.
26
- */
27
- self.contentView = nil;
28
- }
29
-
30
- - (MetalView *)getContentView {
31
- if (!self.contentView) {
32
- self.contentView = [MetalView new];
33
- }
34
- return (MetalView *)self.contentView;
35
- }
36
-
37
- - (void)updateProps:(const Props::Shared &)props
38
- oldProps:(const Props::Shared &)oldProps {
39
- const auto &oldViewProps =
40
- *std::static_pointer_cast<const WebGPUViewProps>(_props);
41
- const auto &newViewProps =
42
- *std::static_pointer_cast<const WebGPUViewProps>(props);
43
-
44
- if (newViewProps.contextId != oldViewProps.contextId) {
45
- /*
46
- The context is set only once during mounting the component
47
- and never changes because it isn't available for users to modify.
48
- */
49
- MetalView *metalView = [MetalView new];
50
- self.contentView = metalView;
51
- [metalView setContextId:@(newViewProps.contextId)];
52
- [metalView configure];
53
- }
54
-
55
- [super updateProps:props oldProps:oldProps];
56
- }
57
-
58
- - (void)updateLayoutMetrics:(const LayoutMetrics &)layoutMetrics
59
- oldLayoutMetrics:(const LayoutMetrics &)oldLayoutMetrics {
60
- [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
61
- [(MetalView *)self.contentView update];
62
- }
63
-
64
- Class<RCTComponentViewProtocol> WebGPUViewCls(void) { return WebGPUView.class; }
65
-
66
- @end
package/cpp/WGPULogger.h DELETED
@@ -1,100 +0,0 @@
1
- //
2
- // Created by Christian Falch on 26/08/2021.
3
- //
4
-
5
- #pragma once
6
-
7
- #include <cstdio>
8
- #include <jsi/jsi.h>
9
- #include <string>
10
-
11
- #if defined(ANDROID) || defined(__ANDROID__)
12
- #include <android/log.h>
13
- #endif
14
-
15
- #ifdef __APPLE__
16
- #include <syslog.h>
17
- #endif
18
-
19
- namespace rnwgpu {
20
-
21
- namespace jsi = facebook::jsi;
22
-
23
- class Logger {
24
- public:
25
- /**
26
- * Logs message to console
27
- * @param message Message to be written out
28
- */
29
- static void logToConsole(std::string message) {
30
- #ifdef DEBUG
31
- #if defined(ANDROID) || defined(__ANDROID__)
32
- __android_log_write(ANDROID_LOG_INFO, "WebGPU", message.c_str());
33
- #endif
34
-
35
- #ifdef __APPLE__
36
- syslog(LOG_ERR, "%s\n", message.c_str());
37
- #endif
38
- #else
39
- // In release mode, do nothing
40
- (void)message;
41
- #endif
42
- }
43
-
44
- /**
45
- * Logs to console
46
- * @param fmt Format string
47
- * @param ... Arguments to format string
48
- */
49
- static void logToConsole(const char *fmt, ...) {
50
- #ifdef DEBUG
51
- va_list args;
52
- va_start(args, fmt);
53
-
54
- static char buffer[512];
55
- vsnprintf(buffer, sizeof(buffer), fmt, args);
56
- #if defined(ANDROID) || defined(__ANDROID__)
57
- __android_log_write(ANDROID_LOG_INFO, "WebGPU", buffer);
58
- #endif
59
- #ifdef __APPLE__
60
- syslog(LOG_ERR, "WebGPU: %s\n", buffer);
61
- #endif
62
- va_end(args);
63
- #else
64
- // In release mode, do nothing
65
- (void)fmt;
66
- #endif
67
- }
68
-
69
- static void logToJavascriptConsole(jsi::Runtime &runtime,
70
- const std::string &message) {
71
- auto console = Logger::getJavascriptConsole(runtime).asObject(runtime);
72
- auto log = console.getPropertyAsFunction(runtime, "log");
73
- log.call(runtime, jsi::String::createFromUtf8(runtime, message));
74
- }
75
-
76
- static void warnToJavascriptConsole(jsi::Runtime &runtime,
77
- const std::string &message) {
78
- auto console = Logger::getJavascriptConsole(runtime).asObject(runtime);
79
- auto warn = console.getPropertyAsFunction(runtime, "warn");
80
- warn.call(runtime, jsi::String::createFromUtf8(runtime, message));
81
- }
82
-
83
- static void errorToJavascriptConsole(jsi::Runtime &runtime,
84
- const std::string &message) {
85
- auto console = Logger::getJavascriptConsole(runtime).asObject(runtime);
86
- auto warn = console.getPropertyAsFunction(runtime, "error");
87
- warn.call(runtime, jsi::String::createFromUtf8(runtime, message));
88
- }
89
-
90
- private:
91
- static jsi::Value getJavascriptConsole(jsi::Runtime &runtime) {
92
- auto console = runtime.global().getProperty(runtime, "console");
93
- if (console.isUndefined() || console.isNull()) {
94
- throw jsi::JSError(runtime, "Could not find console object.");
95
- return jsi::Value::undefined();
96
- }
97
- return console;
98
- }
99
- };
100
- } // namespace rnwgpu
@@ -1,119 +0,0 @@
1
- #include <cstdio>
2
- #include <sstream>
3
- #include <string>
4
- #include <utility>
5
-
6
- #ifdef __ANDROID__
7
- #include <android/log.h>
8
- #elif defined(__APPLE__)
9
- #include <os/log.h>
10
- #endif
11
-
12
- namespace dawn {
13
-
14
- enum class LogSeverity {
15
- Debug,
16
- Info,
17
- Warning,
18
- Error,
19
- };
20
-
21
- // Forward declare to match Dawn's exact interface
22
- class LogMessage {
23
- public:
24
- explicit LogMessage(LogSeverity severity);
25
- ~LogMessage();
26
- LogMessage(LogMessage&& other);
27
- LogMessage& operator=(LogMessage&& other);
28
- template <typename T>
29
- LogMessage& operator<<(T&& value) {
30
- mStream << value;
31
- return *this;
32
- }
33
-
34
- private:
35
- LogMessage(const LogMessage& other) = delete;
36
- LogMessage& operator=(const LogMessage& other) = delete;
37
- LogSeverity mSeverity;
38
- std::ostringstream mStream;
39
- };
40
-
41
- // Implementation of LogMessage methods
42
- LogMessage::LogMessage(LogSeverity severity) : mSeverity(severity) {}
43
-
44
- LogMessage::LogMessage(LogMessage&& other)
45
- : mSeverity(other.mSeverity), mStream(std::move(other.mStream)) {}
46
-
47
- LogMessage& LogMessage::operator=(LogMessage&& other) {
48
- if (this != &other) {
49
- mSeverity = other.mSeverity;
50
- mStream = std::move(other.mStream);
51
- }
52
- return *this;
53
- }
54
-
55
- LogMessage::~LogMessage() {
56
- std::string fullMessage = mStream.str();
57
- if (fullMessage.empty()) {
58
- return;
59
- }
60
- const char* severityName;
61
- switch (mSeverity) {
62
- case LogSeverity::Debug: severityName = "Debug"; break;
63
- case LogSeverity::Info: severityName = "Info"; break;
64
- case LogSeverity::Warning: severityName = "Warning"; break;
65
- case LogSeverity::Error: severityName = "Error"; break;
66
- default: severityName = "Unknown"; break;
67
- }
68
-
69
- #ifdef __ANDROID__
70
- int androidPriority;
71
- switch (mSeverity) {
72
- case LogSeverity::Debug: androidPriority = ANDROID_LOG_DEBUG; break;
73
- case LogSeverity::Info: androidPriority = ANDROID_LOG_INFO; break;
74
- case LogSeverity::Warning: androidPriority = ANDROID_LOG_WARN; break;
75
- case LogSeverity::Error: androidPriority = ANDROID_LOG_ERROR; break;
76
- default: androidPriority = ANDROID_LOG_ERROR; break;
77
- }
78
- __android_log_print(androidPriority, "ReactNativeWebGPU", "%s: %s", severityName, fullMessage.c_str());
79
- #elif defined(__APPLE__)
80
- os_log_type_t logType;
81
- switch (mSeverity) {
82
- case LogSeverity::Debug: logType = OS_LOG_TYPE_DEBUG; break;
83
- case LogSeverity::Info: logType = OS_LOG_TYPE_INFO; break;
84
- case LogSeverity::Warning: logType = OS_LOG_TYPE_DEFAULT; break;
85
- case LogSeverity::Error: logType = OS_LOG_TYPE_ERROR; break;
86
- default: logType = OS_LOG_TYPE_ERROR; break;
87
- }
88
- os_log_with_type(OS_LOG_DEFAULT, logType, "[ReactNativeWebGPU] %s: %s", severityName, fullMessage.c_str());
89
- #else
90
- FILE* outputStream = (mSeverity == LogSeverity::Warning || mSeverity == LogSeverity::Error) ? stderr : stdout;
91
- fprintf(outputStream, "[ReactNativeWebGPU] %s: %s\n", severityName, fullMessage.c_str());
92
- fflush(outputStream);
93
- #endif
94
- }
95
-
96
- // Factory functions
97
- LogMessage DebugLog() {
98
- return LogMessage(LogSeverity::Debug);
99
- }
100
-
101
- LogMessage InfoLog() {
102
- return LogMessage(LogSeverity::Info);
103
- }
104
-
105
- LogMessage WarningLog() {
106
- return LogMessage(LogSeverity::Warning);
107
- }
108
-
109
- LogMessage ErrorLog() {
110
- return LogMessage(LogSeverity::Error);
111
- }
112
-
113
- LogMessage DebugLog(const char* file, const char* function, int line) {
114
- LogMessage message = DebugLog();
115
- message << file << ":" << line << "(" << function << ")";
116
- return message;
117
- }
118
-
119
- } // namespace dawn
@@ -1,45 +0,0 @@
1
- #pragma once
2
-
3
- #include <stdexcept>
4
- #include <string>
5
-
6
- namespace rnwgpu {
7
-
8
- namespace EnumMapper {
9
- // Add these two methods in namespace "EnumMapper" to allow parsing a custom enum:
10
- // 1. `static void convertJSUnionToEnum(const std::string& inUnion, Enum* outEnum)`
11
- // 2. `static void convertEnumToJSUnion(Enum inEnum, std::string* outUnion)`
12
-
13
- static std::runtime_error invalidUnion(const std::string& passedUnion) {
14
- return std::runtime_error("Cannot convert JS Value to Enum: Invalid Union value passed! (\"" + std::string(passedUnion) + "\")");
15
- }
16
-
17
- template <typename T> static std::runtime_error invalidEnum(T passedEnum) {
18
- return std::runtime_error("Cannot convert Enum to JS Value: Invalid Enum passed! (Value #" +
19
- std::to_string(static_cast<int>(passedEnum)) + ")");
20
- }
21
-
22
- // Trait to check if a convertJSUnionToEnum function for enum type T exists
23
- template <typename T, typename = void> struct has_js_union_to_enum : std::false_type {};
24
- template <typename T>
25
- struct has_js_union_to_enum<T, std::void_t<decltype(convertJSUnionToEnum(std::declval<std::string>(), std::declval<T*>()))>>
26
- : std::true_type {};
27
-
28
- // Trait to check if a convertEnumToJSUnion function for enum type T exists
29
- template <typename T, typename = void> struct has_enum_to_js_union : std::false_type {};
30
- template <typename T>
31
- struct has_enum_to_js_union<T, std::void_t<decltype(convertEnumToJSUnion(std::declval<T>(), std::declval<std::string*>()))>>
32
- : std::true_type {};
33
-
34
- template <typename TEnum> static void convertJSUnionToEnum(const std::string&, TEnum*) {
35
- static_assert(has_js_union_to_enum<TEnum>::value,
36
- "Cannot convert a JS union to this enum type. Did you implement EnumMapper::convertJSUnionToEnum(...)?");
37
- }
38
-
39
- template <typename TEnum> static void convertEnumToJSUnion(TEnum, std::string*) {
40
- static_assert(has_enum_to_js_union<TEnum>::value,
41
- "Cannot convert this enum type to a JS union. Did you implement EnumMapper::convertEnumToJSUnion(...)?");
42
- }
43
- } // namespace EnumMapper
44
-
45
- } // namespace rnwgpu