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,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