@shopify/react-native-skia 2.9.1 → 2.10.1

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 (387) hide show
  1. package/android/CMakeLists.txt +8 -46
  2. package/android/build.gradle +33 -0
  3. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +1 -2
  4. package/cpp/api/JsiNativeBuffer.h +23 -24
  5. package/cpp/api/JsiSkAnimatedImage.h +24 -25
  6. package/cpp/api/JsiSkAnimatedImageFactory.h +18 -17
  7. package/cpp/api/JsiSkApi.h +254 -96
  8. package/cpp/api/JsiSkCanvas.h +141 -266
  9. package/cpp/api/JsiSkColor.h +7 -5
  10. package/cpp/api/JsiSkColorFilter.h +15 -8
  11. package/cpp/api/JsiSkColorFilterFactory.h +49 -67
  12. package/cpp/api/JsiSkContourMeasure.h +31 -38
  13. package/cpp/api/JsiSkContourMeasureIter.h +20 -23
  14. package/cpp/api/JsiSkConverters.h +410 -0
  15. package/cpp/api/JsiSkData.h +13 -7
  16. package/cpp/api/JsiSkDataFactory.h +27 -32
  17. package/cpp/api/JsiSkFont.h +123 -192
  18. package/cpp/api/JsiSkFontMgr.h +33 -26
  19. package/cpp/api/JsiSkFontMgrFactory.h +12 -11
  20. package/cpp/api/JsiSkFontStyle.h +14 -12
  21. package/cpp/api/JsiSkImage.h +90 -79
  22. package/cpp/api/JsiSkImageFactory.h +93 -95
  23. package/cpp/api/JsiSkImageFilter.h +21 -11
  24. package/cpp/api/JsiSkImageFilterFactory.h +375 -629
  25. package/cpp/api/JsiSkImageInfo.h +25 -25
  26. package/cpp/api/JsiSkMaskFilter.h +21 -11
  27. package/cpp/api/JsiSkMaskFilterFactory.h +17 -17
  28. package/cpp/api/JsiSkMatrix.h +51 -88
  29. package/cpp/api/JsiSkNativeObjects.h +387 -0
  30. package/cpp/api/JsiSkPaint.h +104 -142
  31. package/cpp/api/JsiSkParagraph.h +54 -64
  32. package/cpp/api/JsiSkParagraphBuilder.h +43 -68
  33. package/cpp/api/JsiSkParagraphBuilderFactory.h +20 -24
  34. package/cpp/api/JsiSkPath.h +242 -350
  35. package/cpp/api/JsiSkPathBuilder.h +153 -273
  36. package/cpp/api/JsiSkPathBuilderFactory.h +19 -20
  37. package/cpp/api/JsiSkPathEffect.h +21 -11
  38. package/cpp/api/JsiSkPathEffectFactory.h +61 -80
  39. package/cpp/api/JsiSkPathFactory.h +148 -238
  40. package/cpp/api/JsiSkPicture.h +32 -27
  41. package/cpp/api/JsiSkPictureFactory.h +21 -26
  42. package/cpp/api/JsiSkPictureRecorder.h +27 -29
  43. package/cpp/api/JsiSkPoint.h +20 -23
  44. package/cpp/api/JsiSkRRect.h +24 -32
  45. package/cpp/api/JsiSkRSXform.h +31 -48
  46. package/cpp/api/JsiSkRect.h +40 -50
  47. package/cpp/api/JsiSkRuntimeEffect.h +85 -92
  48. package/cpp/api/JsiSkRuntimeEffectFactory.h +14 -18
  49. package/cpp/api/JsiSkRuntimeShaderBuilder.h +28 -30
  50. package/cpp/api/JsiSkSVG.h +15 -15
  51. package/cpp/api/JsiSkSVGFactory.h +17 -20
  52. package/cpp/api/JsiSkShader.h +15 -8
  53. package/cpp/api/JsiSkShaderFactory.h +159 -238
  54. package/cpp/api/JsiSkSkottie.h +131 -143
  55. package/cpp/api/JsiSkSurface.h +29 -32
  56. package/cpp/api/JsiSkSurfaceFactory.h +18 -20
  57. package/cpp/api/JsiSkTextBlob.h +15 -8
  58. package/cpp/api/JsiSkTextBlobFactory.h +40 -66
  59. package/cpp/api/JsiSkTypeface.h +25 -22
  60. package/cpp/api/JsiSkTypefaceFactory.h +17 -15
  61. package/cpp/api/JsiSkTypefaceFontProvider.h +43 -39
  62. package/cpp/api/JsiSkTypefaceFontProviderFactory.h +13 -12
  63. package/cpp/api/JsiSkVertices.h +23 -22
  64. package/cpp/api/JsiSkiaContext.h +22 -23
  65. package/cpp/api/JsiSkottieFactory.h +16 -17
  66. package/cpp/api/JsiVideo.h +43 -81
  67. package/cpp/api/recorder/Convertor.h +31 -61
  68. package/cpp/api/recorder/DataTypes.h +8 -16
  69. package/cpp/api/recorder/JsiRecorder.h +83 -55
  70. package/cpp/api/recorder/RNRecorder.h +1 -1
  71. package/cpp/jsi/BoxedNativeObject.h +146 -0
  72. package/cpp/{jsi2 → jsi}/EnumMapper.h +4 -1
  73. package/cpp/{jsi2 → jsi}/JSIConverter.h +0 -31
  74. package/cpp/{jsi2 → jsi}/NativeObject.h +131 -152
  75. package/cpp/jsi/RuntimeAwareCache.cpp +1 -1
  76. package/cpp/jsi/RuntimeAwareCache.h +26 -8
  77. package/cpp/jsi/ViewProperty.h +5 -11
  78. package/cpp/rnskia/RNDawnContext.h +18 -2
  79. package/cpp/rnskia/RNDawnInterop.cpp +19 -0
  80. package/cpp/rnskia/RNDawnUtils.h +18 -1
  81. package/cpp/rnskia/RNSkJsiViewApi.h +20 -11
  82. package/cpp/rnskia/RNSkManager.cpp +9 -168
  83. package/cpp/rnskia/RNSkPictureView.h +1 -1
  84. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
  85. package/lib/commonjs/external/reanimated/renderHelpers.d.ts +15 -0
  86. package/lib/commonjs/external/reanimated/renderHelpers.js +30 -1
  87. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  88. package/lib/commonjs/mock/index.js +0 -1
  89. package/lib/commonjs/mock/index.js.map +1 -1
  90. package/lib/commonjs/skia/NativeSetup.js +4 -0
  91. package/lib/commonjs/skia/NativeSetup.js.map +1 -1
  92. package/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +1 -0
  93. package/lib/commonjs/skia/SkiaWorkletSerialization.js +66 -0
  94. package/lib/commonjs/skia/SkiaWorkletSerialization.js.map +1 -0
  95. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
  96. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  97. package/lib/commonjs/skia/types/Skia.d.ts +5 -15
  98. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  99. package/lib/commonjs/skia/types/index.d.ts +0 -1
  100. package/lib/commonjs/skia/types/index.js +0 -11
  101. package/lib/commonjs/skia/types/index.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  103. package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
  104. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  105. package/lib/commonjs/skia/web/JsiSkia.js +1 -4
  106. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  107. package/lib/commonjs/sksg/Container.native.js +20 -1
  108. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  109. package/lib/commonjs/views/index.d.ts +0 -1
  110. package/lib/commonjs/views/index.js +0 -11
  111. package/lib/commonjs/views/index.js.map +1 -1
  112. package/lib/module/external/reanimated/renderHelpers.d.ts +15 -0
  113. package/lib/module/external/reanimated/renderHelpers.js +29 -0
  114. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  115. package/lib/module/mock/index.js +0 -1
  116. package/lib/module/mock/index.js.map +1 -1
  117. package/lib/module/skia/NativeSetup.js +4 -0
  118. package/lib/module/skia/NativeSetup.js.map +1 -1
  119. package/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
  120. package/lib/module/skia/SkiaWorkletSerialization.js +59 -0
  121. package/lib/module/skia/SkiaWorkletSerialization.js.map +1 -0
  122. package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
  123. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  124. package/lib/module/skia/types/Skia.d.ts +5 -15
  125. package/lib/module/skia/types/Skia.js.map +1 -1
  126. package/lib/module/skia/types/index.d.ts +0 -1
  127. package/lib/module/skia/types/index.js +0 -1
  128. package/lib/module/skia/types/index.js.map +1 -1
  129. package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  130. package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
  131. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  132. package/lib/module/skia/web/JsiSkia.js +1 -4
  133. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  134. package/lib/module/sksg/Container.native.js +21 -2
  135. package/lib/module/sksg/Container.native.js.map +1 -1
  136. package/lib/module/views/index.d.ts +0 -1
  137. package/lib/module/views/index.js +0 -1
  138. package/lib/module/views/index.js.map +1 -1
  139. package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
  140. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  141. package/lib/typescript/lib/commonjs/skia/SkiaWorkletSerialization.d.ts +2 -0
  142. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  143. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
  144. package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +15 -0
  145. package/lib/typescript/lib/module/mock/index.d.ts +0 -2
  146. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
  147. package/lib/typescript/lib/module/skia/SkiaWorkletSerialization.d.ts +1 -0
  148. package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
  149. package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  150. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
  151. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  152. package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +15 -0
  153. package/lib/typescript/src/skia/SkiaWorkletSerialization.d.ts +1 -0
  154. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
  155. package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
  156. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  157. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
  158. package/lib/typescript/src/views/index.d.ts +0 -1
  159. package/package.json +8 -5
  160. package/react-native-skia.podspec +38 -5
  161. package/src/external/reanimated/renderHelpers.ts +30 -0
  162. package/src/mock/index.ts +0 -1
  163. package/src/skia/NativeSetup.ts +5 -0
  164. package/src/skia/SkiaWorkletSerialization.ts +67 -0
  165. package/src/skia/types/Image/ImageFactory.ts +15 -6
  166. package/src/skia/types/Skia.ts +5 -15
  167. package/src/skia/types/index.ts +0 -1
  168. package/src/skia/web/JsiSkImageFactory.ts +3 -3
  169. package/src/skia/web/JsiSkia.ts +2 -5
  170. package/src/sksg/Container.native.ts +40 -2
  171. package/src/views/index.ts +0 -1
  172. package/android/cpp/jni/JniWebGPUView.cpp +0 -112
  173. package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
  174. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
  175. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
  176. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
  177. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
  178. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
  179. package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
  180. package/apple/SkiaPlatformContext.h +0 -20
  181. package/apple/SkiaPlatformContext.mm +0 -21
  182. package/apple/SkiaWebGPUView.mm +0 -81
  183. package/apple/WebGPUMetalView.mm +0 -136
  184. package/cpp/api/JsiSkHostObjects.h +0 -257
  185. package/cpp/jsi/JsiHostObject.cpp +0 -137
  186. package/cpp/jsi/JsiHostObject.h +0 -385
  187. package/cpp/rnwgpu/ArrayBuffer.h +0 -117
  188. package/cpp/rnwgpu/Canvas.h +0 -50
  189. package/cpp/rnwgpu/PlatformContext.h +0 -18
  190. package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
  191. package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
  192. package/cpp/rnwgpu/api/Convertors.h +0 -783
  193. package/cpp/rnwgpu/api/External.h +0 -12
  194. package/cpp/rnwgpu/api/GPU.cpp +0 -162
  195. package/cpp/rnwgpu/api/GPU.h +0 -60
  196. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -240
  197. package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
  198. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  199. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  200. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  201. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  202. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
  203. package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
  204. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
  205. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
  206. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  207. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  208. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  209. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  210. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  211. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  212. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  213. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  214. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  215. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -614
  216. package/cpp/rnwgpu/api/GPUDevice.h +0 -258
  217. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  218. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  219. package/cpp/rnwgpu/api/GPUError.h +0 -35
  220. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  221. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
  222. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
  223. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  224. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  225. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  226. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  227. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  228. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  229. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  230. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  231. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
  232. package/cpp/rnwgpu/api/GPUQueue.h +0 -84
  233. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  234. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  235. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  236. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  237. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  238. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  239. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  240. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  241. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
  242. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  243. package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
  244. package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
  245. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
  246. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
  247. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  248. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  249. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  250. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  251. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  252. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
  253. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  254. package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
  255. package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
  256. package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
  257. package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
  258. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
  259. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  260. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
  261. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
  262. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
  263. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
  264. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
  265. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
  266. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
  267. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  268. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  269. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
  270. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
  271. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  272. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
  273. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
  274. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
  275. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
  276. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
  277. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
  278. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
  279. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
  280. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
  281. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
  282. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
  283. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
  284. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  285. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
  286. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
  287. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
  288. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  289. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
  290. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
  291. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
  292. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
  293. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
  294. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
  295. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
  296. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
  297. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
  298. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
  299. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
  300. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
  301. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
  302. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
  303. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
  304. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
  305. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
  306. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
  307. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  308. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
  309. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
  310. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
  311. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
  312. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
  313. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
  314. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
  315. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  316. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
  317. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
  318. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
  319. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
  320. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
  321. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  322. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -214
  323. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
  324. package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
  325. package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
  326. package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
  327. package/lib/commonjs/skia/types/WebGPU.js +0 -105
  328. package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
  329. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
  330. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
  331. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
  332. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  333. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
  334. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  335. package/lib/commonjs/specs/utils.d.ts +0 -1
  336. package/lib/commonjs/specs/utils.js +0 -11
  337. package/lib/commonjs/specs/utils.js.map +0 -1
  338. package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
  339. package/lib/commonjs/views/WebGPUCanvas.js +0 -79
  340. package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
  341. package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
  342. package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
  343. package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
  344. package/lib/module/skia/types/WebGPU.d.ts +0 -184
  345. package/lib/module/skia/types/WebGPU.js +0 -99
  346. package/lib/module/skia/types/WebGPU.js.map +0 -1
  347. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
  348. package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
  349. package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
  350. package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  351. package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
  352. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  353. package/lib/module/specs/utils.d.ts +0 -1
  354. package/lib/module/specs/utils.js +0 -5
  355. package/lib/module/specs/utils.js.map +0 -1
  356. package/lib/module/views/WebGPUCanvas.d.ts +0 -33
  357. package/lib/module/views/WebGPUCanvas.js +0 -70
  358. package/lib/module/views/WebGPUCanvas.js.map +0 -1
  359. package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
  360. package/lib/module/views/WebGPUCanvas.web.js +0 -12
  361. package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
  362. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
  363. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
  364. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
  365. package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
  366. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
  367. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
  368. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
  369. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
  370. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
  371. package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
  372. package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
  373. package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
  374. package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
  375. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
  376. package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  377. package/lib/typescript/src/specs/utils.d.ts +0 -1
  378. package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
  379. package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
  380. package/src/skia/types/WebGPU.ts +0 -226
  381. package/src/specs/WebGPUViewNativeComponent.ts +0 -11
  382. package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
  383. package/src/specs/utils.ts +0 -4
  384. package/src/views/WebGPUCanvas.tsx +0 -125
  385. package/src/views/WebGPUCanvas.web.tsx +0 -36
  386. /package/cpp/{jsi2 → jsi}/Promise.cpp +0 -0
  387. /package/cpp/{jsi2 → jsi}/Promise.h +0 -0
@@ -1,56 +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 "jsi2/JSIConverter.h"
10
-
11
- namespace jsi = facebook::jsi;
12
-
13
- namespace rnwgpu {
14
-
15
- // Non-standard, Dawn-only. Mirrors wgpu::DawnTogglesDescriptor field-for-field
16
- // so the mapping to the native chained struct is 1:1. Chained onto the
17
- // wgpu::DeviceDescriptor in GPUAdapter::requestDevice.
18
- struct GPUDawnTogglesDescriptor {
19
- std::optional<std::vector<std::string>> enabledToggles; // Iterable<string>
20
- std::optional<std::vector<std::string>> disabledToggles; // Iterable<string>
21
- };
22
-
23
- } // namespace rnwgpu
24
-
25
- namespace rnwgpu {
26
-
27
- template <>
28
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUDawnTogglesDescriptor>> {
29
- static std::shared_ptr<rnwgpu::GPUDawnTogglesDescriptor>
30
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
31
- auto result = std::make_unique<rnwgpu::GPUDawnTogglesDescriptor>();
32
- if (!outOfBounds && arg.isObject()) {
33
- auto value = arg.getObject(runtime);
34
- if (value.hasProperty(runtime, "enabledToggles")) {
35
- auto prop = value.getProperty(runtime, "enabledToggles");
36
- result->enabledToggles =
37
- JSIConverter<std::optional<std::vector<std::string>>>::fromJSI(
38
- runtime, prop, false);
39
- }
40
- if (value.hasProperty(runtime, "disabledToggles")) {
41
- auto prop = value.getProperty(runtime, "disabledToggles");
42
- result->disabledToggles =
43
- JSIConverter<std::optional<std::vector<std::string>>>::fromJSI(
44
- runtime, prop, false);
45
- }
46
- }
47
- return result;
48
- }
49
- static jsi::Value
50
- toJSI(jsi::Runtime &runtime,
51
- std::shared_ptr<rnwgpu::GPUDawnTogglesDescriptor> arg) {
52
- throw std::runtime_error("Invalid GPUDawnTogglesDescriptor::toJSI()");
53
- }
54
- };
55
-
56
- } // namespace rnwgpu
@@ -1,103 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi2/JSIConverter.h"
8
-
9
- #include "GPUStencilFaceState.h"
10
-
11
- namespace jsi = facebook::jsi;
12
-
13
- namespace rnwgpu {
14
-
15
- struct GPUDepthStencilState {
16
- wgpu::TextureFormat format; // GPUTextureFormat
17
- std::optional<bool> depthWriteEnabled; // boolean
18
- std::optional<wgpu::CompareFunction> depthCompare; // GPUCompareFunction
19
- std::optional<std::shared_ptr<GPUStencilFaceState>>
20
- stencilFront; // GPUStencilFaceState
21
- std::optional<std::shared_ptr<GPUStencilFaceState>>
22
- stencilBack; // GPUStencilFaceState
23
- std::optional<double> stencilReadMask; // GPUStencilValue
24
- std::optional<double> stencilWriteMask; // GPUStencilValue
25
- std::optional<double> depthBias; // GPUDepthBias
26
- std::optional<double> depthBiasSlopeScale; // number
27
- std::optional<double> depthBiasClamp; // number
28
- };
29
-
30
- } // namespace rnwgpu
31
-
32
- namespace rnwgpu {
33
-
34
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUDepthStencilState>> {
35
- static std::shared_ptr<rnwgpu::GPUDepthStencilState>
36
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
37
- auto result = std::make_unique<rnwgpu::GPUDepthStencilState>();
38
- if (!outOfBounds && arg.isObject()) {
39
- auto value = arg.getObject(runtime);
40
- if (value.hasProperty(runtime, "format")) {
41
- auto prop = value.getProperty(runtime, "format");
42
- result->format =
43
- JSIConverter<wgpu::TextureFormat>::fromJSI(runtime, prop, false);
44
- }
45
- if (value.hasProperty(runtime, "depthWriteEnabled")) {
46
- auto prop = value.getProperty(runtime, "depthWriteEnabled");
47
- result->depthWriteEnabled =
48
- JSIConverter<std::optional<bool>>::fromJSI(runtime, prop, false);
49
- }
50
- if (value.hasProperty(runtime, "depthCompare")) {
51
- auto prop = value.getProperty(runtime, "depthCompare");
52
- result->depthCompare =
53
- JSIConverter<std::optional<wgpu::CompareFunction>>::fromJSI(
54
- runtime, prop, false);
55
- }
56
- if (value.hasProperty(runtime, "stencilFront")) {
57
- auto prop = value.getProperty(runtime, "stencilFront");
58
- result->stencilFront =
59
- JSIConverter<std::optional<std::shared_ptr<GPUStencilFaceState>>>::
60
- fromJSI(runtime, prop, false);
61
- }
62
- if (value.hasProperty(runtime, "stencilBack")) {
63
- auto prop = value.getProperty(runtime, "stencilBack");
64
- result->stencilBack =
65
- JSIConverter<std::optional<std::shared_ptr<GPUStencilFaceState>>>::
66
- fromJSI(runtime, prop, false);
67
- }
68
- if (value.hasProperty(runtime, "stencilReadMask")) {
69
- auto prop = value.getProperty(runtime, "stencilReadMask");
70
- result->stencilReadMask =
71
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
72
- }
73
- if (value.hasProperty(runtime, "stencilWriteMask")) {
74
- auto prop = value.getProperty(runtime, "stencilWriteMask");
75
- result->stencilWriteMask =
76
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
77
- }
78
- if (value.hasProperty(runtime, "depthBias")) {
79
- auto prop = value.getProperty(runtime, "depthBias");
80
- result->depthBias =
81
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
82
- }
83
- if (value.hasProperty(runtime, "depthBiasSlopeScale")) {
84
- auto prop = value.getProperty(runtime, "depthBiasSlopeScale");
85
- result->depthBiasSlopeScale =
86
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
87
- }
88
- if (value.hasProperty(runtime, "depthBiasClamp")) {
89
- auto prop = value.getProperty(runtime, "depthBiasClamp");
90
- result->depthBiasClamp =
91
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
92
- }
93
- }
94
-
95
- return result;
96
- }
97
- static jsi::Value toJSI(jsi::Runtime &runtime,
98
- std::shared_ptr<rnwgpu::GPUDepthStencilState> arg) {
99
- throw std::runtime_error("Invalid GPUDepthStencilState::toJSI()");
100
- }
101
- };
102
-
103
- } // namespace rnwgpu
@@ -1,109 +0,0 @@
1
- #pragma once
2
-
3
- #include <map>
4
- #include <memory>
5
- #include <string>
6
- #include <vector>
7
-
8
- #include "webgpu/webgpu_cpp.h"
9
-
10
- #include "jsi2/JSIConverter.h"
11
-
12
- #include "GPUDawnTogglesDescriptor.h"
13
- #include "GPUQueueDescriptor.h"
14
-
15
- namespace jsi = facebook::jsi;
16
-
17
- namespace rnwgpu {
18
-
19
- struct GPUDeviceDescriptor {
20
- std::optional<std::vector<wgpu::FeatureName>>
21
- requiredFeatures; // Iterable<GPUFeatureName>
22
- std::optional<std::map<std::string, double>>
23
- requiredLimits; // Record< string, GPUSize64 >
24
- std::optional<std::shared_ptr<GPUQueueDescriptor>>
25
- defaultQueue; // GPUQueueDescriptor
26
- std::optional<std::string> label; // string
27
- // Non-standard Dawn-only device toggles, chained onto the wgpu::Device
28
- // descriptor in GPUAdapter::requestDevice.
29
- std::optional<std::shared_ptr<GPUDawnTogglesDescriptor>> dawnToggles;
30
- };
31
-
32
- } // namespace rnwgpu
33
-
34
- namespace rnwgpu {
35
-
36
- // We add this extra convertor because we found so library that are sending
37
- // invalid feature elements
38
- template <> struct JSIConverter<std::vector<wgpu::FeatureName>> {
39
-
40
- static std::vector<wgpu::FeatureName>
41
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
42
- jsi::Array array = arg.asObject(runtime).asArray(runtime);
43
- size_t length = array.size(runtime);
44
-
45
- std::vector<wgpu::FeatureName> vector;
46
- vector.reserve(length);
47
- for (size_t i = 0; i < length; ++i) {
48
- jsi::Value elementValue = array.getValueAtIndex(runtime, i);
49
- if (elementValue.isString()) {
50
- vector.emplace_back(JSIConverter<wgpu::FeatureName>::fromJSI(
51
- runtime, elementValue, outOfBounds));
52
- }
53
- }
54
- return vector;
55
- }
56
- static jsi::Value toJSI(jsi::Runtime &runtime,
57
- std::shared_ptr<rnwgpu::GPUDeviceDescriptor> arg) {
58
- throw std::runtime_error(
59
- "Invalid JSIConverter<std::vector<wgpu::FeatureName>>::toJSI()");
60
- }
61
- };
62
-
63
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUDeviceDescriptor>> {
64
- static std::shared_ptr<rnwgpu::GPUDeviceDescriptor>
65
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
66
- auto result = std::make_unique<rnwgpu::GPUDeviceDescriptor>();
67
- if (!outOfBounds && arg.isObject()) {
68
- auto value = arg.getObject(runtime);
69
- if (value.hasProperty(runtime, "requiredFeatures")) {
70
- auto prop = value.getProperty(runtime, "requiredFeatures");
71
- result->requiredFeatures = JSIConverter<
72
- std::optional<std::vector<wgpu::FeatureName>>>::fromJSI(runtime,
73
- prop,
74
- false);
75
- }
76
- if (value.hasProperty(runtime, "requiredLimits")) {
77
- auto prop = value.getProperty(runtime, "requiredLimits");
78
- result->requiredLimits =
79
- JSIConverter<std::optional<std::map<std::string, double>>>::fromJSI(
80
- runtime, prop, false);
81
- }
82
- if (value.hasProperty(runtime, "defaultQueue")) {
83
- auto prop = value.getProperty(runtime, "defaultQueue");
84
- result->defaultQueue =
85
- JSIConverter<std::optional<std::shared_ptr<GPUQueueDescriptor>>>::
86
- fromJSI(runtime, prop, false);
87
- }
88
- if (value.hasProperty(runtime, "label")) {
89
- auto prop = value.getProperty(runtime, "label");
90
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
91
- runtime, prop, false);
92
- }
93
- if (value.hasProperty(runtime, "dawnToggles")) {
94
- auto prop = value.getProperty(runtime, "dawnToggles");
95
- result->dawnToggles = JSIConverter<std::optional<
96
- std::shared_ptr<GPUDawnTogglesDescriptor>>>::fromJSI(runtime, prop,
97
- false);
98
- }
99
- }
100
-
101
- return result;
102
- }
103
- static jsi::Value toJSI(jsi::Runtime &runtime,
104
- std::shared_ptr<rnwgpu::GPUDeviceDescriptor> arg) {
105
- throw std::runtime_error("Invalid GPUDeviceDescriptor::toJSI()");
106
- }
107
- };
108
-
109
- } // namespace rnwgpu
@@ -1,38 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi2/JSIConverter.h"
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- namespace rnwgpu {
12
-
13
- struct GPUExternalTextureBindingLayout {};
14
-
15
- } // namespace rnwgpu
16
-
17
- namespace rnwgpu {
18
-
19
- template <>
20
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUExternalTextureBindingLayout>> {
21
- static std::shared_ptr<rnwgpu::GPUExternalTextureBindingLayout>
22
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
23
- auto result = std::make_unique<rnwgpu::GPUExternalTextureBindingLayout>();
24
- if (!outOfBounds && arg.isObject()) {
25
- auto value = arg.getObject(runtime);
26
- }
27
-
28
- return result;
29
- }
30
- static jsi::Value
31
- toJSI(jsi::Runtime &runtime,
32
- std::shared_ptr<rnwgpu::GPUExternalTextureBindingLayout> arg) {
33
- throw std::runtime_error(
34
- "Invalid GPUExternalTextureBindingLayout::toJSI()");
35
- }
36
- };
37
-
38
- } // namespace rnwgpu
@@ -1,90 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
- #include <memory>
5
- #include <optional>
6
- #include <string>
7
-
8
- #include "webgpu/webgpu_cpp.h"
9
-
10
- #include "jsi2/JSIConverter.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- // Mirror of GPUExternalTextureDescriptor from the WebGPU spec, adapted to
17
- // Skia's binding. Skia has no VideoFrame; instead `source` is a native buffer
18
- // pointer (the BigInt returned by Skia.NativeBuffer.MakeFromImage): a
19
- // CVPixelBufferRef on Apple, an AHardwareBuffer* on Android. The pointer's
20
- // lifetime is owned by the caller (Skia.NativeBuffer.Release); the imported
21
- // texture must not outlive it.
22
- //
23
- // We don't expose colorSpace yet; the C++ side picks dst-sRGB and identity
24
- // gamut, the right default for "render this BGRA frame to an sRGB framebuffer".
25
- //
26
- // `rotation` / `mirrored` are a non-spec extension baked into Dawn's sampling
27
- // transform. `rotation` is in degrees and must be one of 0 / 90 / 180 / 270.
28
- struct GPUExternalTextureDescriptor {
29
- // native buffer pointer (CVPixelBufferRef / AHardwareBuffer*)
30
- uint64_t source = 0;
31
- std::optional<std::string> label;
32
- std::optional<double> rotation;
33
- std::optional<bool> mirrored;
34
- };
35
-
36
- } // namespace rnwgpu
37
-
38
- namespace rnwgpu {
39
-
40
- template <>
41
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUExternalTextureDescriptor>> {
42
- static std::shared_ptr<rnwgpu::GPUExternalTextureDescriptor>
43
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
44
- auto result = std::make_shared<rnwgpu::GPUExternalTextureDescriptor>();
45
- if (!outOfBounds && arg.isObject()) {
46
- auto value = arg.getObject(runtime);
47
- if (value.hasProperty(runtime, "source")) {
48
- auto prop = value.getProperty(runtime, "source");
49
- // The native buffer pointer arrives as a BigInt (uintptr_t value). It
50
- // must be a BigInt: a JS number can't represent a 64-bit pointer
51
- // without truncation, so we reject it rather than corrupt the address.
52
- if (prop.isBigInt()) {
53
- result->source = prop.asBigInt(runtime).asUint64(runtime);
54
- } else if (!prop.isUndefined() && !prop.isNull()) {
55
- throw jsi::JSError(
56
- runtime, "GPUExternalTextureDescriptor.source must be a "
57
- "NativeBuffer (BigInt) from "
58
- "Skia.NativeBuffer.MakeFromImage / MakeTestBuffer");
59
- }
60
- }
61
- if (value.hasProperty(runtime, "label")) {
62
- auto prop = value.getProperty(runtime, "label");
63
- if (!prop.isUndefined()) {
64
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
65
- runtime, prop, false);
66
- }
67
- }
68
- if (value.hasProperty(runtime, "rotation")) {
69
- auto prop = value.getProperty(runtime, "rotation");
70
- if (prop.isNumber()) {
71
- result->rotation = prop.asNumber();
72
- }
73
- }
74
- if (value.hasProperty(runtime, "mirrored")) {
75
- auto prop = value.getProperty(runtime, "mirrored");
76
- if (prop.isBool()) {
77
- result->mirrored = prop.getBool();
78
- }
79
- }
80
- }
81
- return result;
82
- }
83
- static jsi::Value
84
- toJSI(jsi::Runtime & /*runtime*/,
85
- std::shared_ptr<rnwgpu::GPUExternalTextureDescriptor> /*arg*/) {
86
- throw std::runtime_error("Invalid GPUExternalTextureDescriptor::toJSI()");
87
- }
88
- };
89
-
90
- } // namespace rnwgpu
@@ -1,73 +0,0 @@
1
- #pragma once
2
-
3
- #include <map>
4
- #include <memory>
5
- #include <string>
6
- #include <variant>
7
- #include <vector>
8
-
9
- #include "webgpu/webgpu_cpp.h"
10
-
11
- #include "jsi2/JSIConverter.h"
12
-
13
- #include "GPUColorTargetState.h"
14
- #include "rnwgpu/api/GPUShaderModule.h"
15
-
16
- namespace jsi = facebook::jsi;
17
-
18
- namespace rnwgpu {
19
-
20
- struct GPUFragmentState {
21
- std::vector<
22
- std::variant<std::nullptr_t, std::shared_ptr<GPUColorTargetState>>>
23
- targets; // Iterable<GPUColorTargetState | null>
24
- std::shared_ptr<GPUShaderModule> module; // GPUShaderModule
25
- std::optional<std::string> entryPoint; // string
26
- std::optional<std::map<std::string, double>>
27
- constants; // Record< string, GPUPipelineConstantValue >
28
- };
29
-
30
- } // namespace rnwgpu
31
-
32
- namespace rnwgpu {
33
-
34
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUFragmentState>> {
35
- static std::shared_ptr<rnwgpu::GPUFragmentState>
36
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
37
- auto result = std::make_unique<rnwgpu::GPUFragmentState>();
38
- if (!outOfBounds && arg.isObject()) {
39
- auto value = arg.getObject(runtime);
40
- if (value.hasProperty(runtime, "targets")) {
41
- auto prop = value.getProperty(runtime, "targets");
42
- result->targets = JSIConverter<std::vector<std::variant<
43
- std::nullptr_t, std::shared_ptr<GPUColorTargetState>>>>::
44
- fromJSI(runtime, prop, false);
45
- }
46
- if (value.hasProperty(runtime, "module")) {
47
- auto prop = value.getProperty(runtime, "module");
48
- result->module =
49
- JSIConverter<std::shared_ptr<GPUShaderModule>>::fromJSI(
50
- runtime, prop, false);
51
- }
52
- if (value.hasProperty(runtime, "entryPoint")) {
53
- auto prop = value.getProperty(runtime, "entryPoint");
54
- result->entryPoint = JSIConverter<std::optional<std::string>>::fromJSI(
55
- runtime, prop, false);
56
- }
57
- if (value.hasProperty(runtime, "constants")) {
58
- auto prop = value.getProperty(runtime, "constants");
59
- result->constants =
60
- JSIConverter<std::optional<std::map<std::string, double>>>::fromJSI(
61
- runtime, prop, false);
62
- }
63
- }
64
-
65
- return result;
66
- }
67
- static jsi::Value toJSI(jsi::Runtime &runtime,
68
- std::shared_ptr<rnwgpu::GPUFragmentState> arg) {
69
- throw std::runtime_error("Invalid GPUFragmentState::toJSI()");
70
- }
71
- };
72
-
73
- } // namespace rnwgpu
@@ -1,62 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi2/JSIConverter.h"
8
-
9
- #include "rnwgpu/api/GPUBuffer.h"
10
-
11
- namespace jsi = facebook::jsi;
12
-
13
- namespace rnwgpu {
14
-
15
- struct GPUImageCopyBuffer {
16
- std::shared_ptr<GPUBuffer> buffer; // GPUBuffer
17
- std::optional<double> offset; // GPUSize64
18
- std::optional<double> bytesPerRow; // GPUSize32
19
- std::optional<double> rowsPerImage; // GPUSize32
20
- };
21
-
22
- } // namespace rnwgpu
23
-
24
- namespace rnwgpu {
25
-
26
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUImageCopyBuffer>> {
27
- static std::shared_ptr<rnwgpu::GPUImageCopyBuffer>
28
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
29
- auto result = std::make_unique<rnwgpu::GPUImageCopyBuffer>();
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, "bytesPerRow")) {
43
- auto prop = value.getProperty(runtime, "bytesPerRow");
44
- result->bytesPerRow =
45
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
46
- }
47
- if (value.hasProperty(runtime, "rowsPerImage")) {
48
- auto prop = value.getProperty(runtime, "rowsPerImage");
49
- result->rowsPerImage =
50
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
51
- }
52
- }
53
-
54
- return result;
55
- }
56
- static jsi::Value toJSI(jsi::Runtime &runtime,
57
- std::shared_ptr<rnwgpu::GPUImageCopyBuffer> arg) {
58
- throw std::runtime_error("Invalid GPUImageCopyBuffer::toJSI()");
59
- }
60
- };
61
-
62
- } // namespace rnwgpu
@@ -1,63 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <optional>
5
- #include <variant>
6
- #include <vector>
7
-
8
- #include "webgpu/webgpu_cpp.h"
9
-
10
- #include "rnwgpu/api/Convertors.h"
11
- #include "jsi2/JSIConverter.h"
12
-
13
- #include "rnwgpu/api/GPUOrigin2D.h"
14
- #include "rnwgpu/api/ImageBitmap.h"
15
-
16
- namespace jsi = facebook::jsi;
17
-
18
- namespace rnwgpu {
19
-
20
- struct GPUImageCopyExternalImage {
21
- std::shared_ptr<ImageBitmap> source; // GPUImageCopyExternalImageSource
22
- std::optional<std::shared_ptr<GPUOrigin2D>> origin; // GPUOrigin2DStrict
23
- std::optional<bool> flipY; // boolean
24
- };
25
-
26
- } // namespace rnwgpu
27
-
28
- namespace rnwgpu {
29
-
30
- template <>
31
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUImageCopyExternalImage>> {
32
- static std::shared_ptr<rnwgpu::GPUImageCopyExternalImage>
33
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
34
- auto result = std::make_unique<rnwgpu::GPUImageCopyExternalImage>();
35
- if (!outOfBounds && arg.isObject()) {
36
- auto obj = arg.getObject(runtime);
37
- if (obj.hasProperty(runtime, "source")) {
38
- auto prop = obj.getProperty(runtime, "source");
39
- result->source = JSIConverter<std::shared_ptr<ImageBitmap>>::fromJSI(
40
- runtime, prop, false);
41
- }
42
- if (obj.hasProperty(runtime, "origin")) {
43
- auto prop = obj.getProperty(runtime, "origin");
44
- result->origin = JSIConverter<std::shared_ptr<GPUOrigin2D>>::fromJSI(
45
- runtime, prop, false);
46
- }
47
-
48
- if (obj.hasProperty(runtime, "flipY")) {
49
- auto prop = obj.getProperty(runtime, "flipY");
50
- result->flipY = JSIConverter<bool>::fromJSI(runtime, prop, false);
51
- }
52
- }
53
-
54
- return result;
55
- }
56
- static jsi::Value
57
- toJSI(jsi::Runtime &runtime,
58
- std::shared_ptr<rnwgpu::GPUImageCopyExternalImage> arg) {
59
- throw std::runtime_error("Invalid GPUImageCopyExternalImage::toJSI()");
60
- }
61
- };
62
-
63
- } // namespace rnwgpu
@@ -1,65 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi2/JSIConverter.h"
8
-
9
- #include "rnwgpu/api/GPUOrigin3D.h"
10
- #include "rnwgpu/api/GPUTexture.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- struct GPUImageCopyTexture {
17
- std::shared_ptr<GPUTexture> texture; // GPUTexture
18
- std::optional<double> mipLevel; // GPUIntegerCoordinate
19
- std::optional<std::shared_ptr<GPUOrigin3D>> origin; // GPUOrigin3D
20
- std::optional<wgpu::TextureAspect> aspect; // GPUTextureAspect
21
- };
22
-
23
- } // namespace rnwgpu
24
-
25
- namespace rnwgpu {
26
-
27
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUImageCopyTexture>> {
28
- static std::shared_ptr<rnwgpu::GPUImageCopyTexture>
29
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
30
- auto result = std::make_unique<rnwgpu::GPUImageCopyTexture>();
31
- if (!outOfBounds && arg.isObject()) {
32
- auto value = arg.getObject(runtime);
33
- if (value.hasProperty(runtime, "texture")) {
34
- auto prop = value.getProperty(runtime, "texture");
35
- result->texture = JSIConverter<std::shared_ptr<GPUTexture>>::fromJSI(
36
- runtime, prop, false);
37
- }
38
- if (value.hasProperty(runtime, "mipLevel")) {
39
- auto prop = value.getProperty(runtime, "mipLevel");
40
- result->mipLevel =
41
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
42
- }
43
- if (value.hasProperty(runtime, "origin")) {
44
- auto prop = value.getProperty(runtime, "origin");
45
- result->origin =
46
- JSIConverter<std::optional<std::shared_ptr<GPUOrigin3D>>>::fromJSI(
47
- runtime, prop, false);
48
- }
49
- if (value.hasProperty(runtime, "aspect")) {
50
- auto prop = value.getProperty(runtime, "aspect");
51
- result->aspect =
52
- JSIConverter<std::optional<wgpu::TextureAspect>>::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::GPUImageCopyTexture> arg) {
61
- throw std::runtime_error("Invalid GPUImageCopyTexture::toJSI()");
62
- }
63
- };
64
-
65
- } // namespace rnwgpu