@shopify/react-native-skia 2.10.0 → 2.11.0-next.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 (358) hide show
  1. package/android/CMakeLists.txt +7 -41
  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 +14 -20
  5. package/cpp/api/JsiSkAnimatedImage.h +13 -16
  6. package/cpp/api/JsiSkAnimatedImageFactory.h +9 -7
  7. package/cpp/api/JsiSkApi.h +94 -90
  8. package/cpp/api/JsiSkCanvas.h +108 -251
  9. package/cpp/api/JsiSkColorFilterFactory.h +45 -63
  10. package/cpp/api/JsiSkContourMeasure.h +19 -29
  11. package/cpp/api/JsiSkContourMeasureIter.h +6 -6
  12. package/cpp/api/JsiSkConverters.h +410 -0
  13. package/cpp/api/JsiSkDataFactory.h +9 -15
  14. package/cpp/api/JsiSkFont.h +99 -180
  15. package/cpp/api/JsiSkFontMgr.h +19 -21
  16. package/cpp/api/JsiSkFontMgrFactory.h +4 -5
  17. package/cpp/api/JsiSkImage.h +66 -66
  18. package/cpp/api/JsiSkImageFactory.h +66 -63
  19. package/cpp/api/JsiSkImageFilterFactory.h +354 -608
  20. package/cpp/api/JsiSkImageInfo.h +10 -13
  21. package/cpp/api/JsiSkMaskFilterFactory.h +8 -11
  22. package/cpp/api/JsiSkMatrix.h +36 -73
  23. package/cpp/api/JsiSkNativeObjects.h +60 -92
  24. package/cpp/api/JsiSkPaint.h +73 -131
  25. package/cpp/api/JsiSkParagraph.h +36 -53
  26. package/cpp/api/JsiSkParagraphBuilder.h +36 -64
  27. package/cpp/api/JsiSkParagraphBuilderFactory.h +11 -16
  28. package/cpp/api/JsiSkPath.h +216 -349
  29. package/cpp/api/JsiSkPathBuilder.h +133 -269
  30. package/cpp/api/JsiSkPathBuilderFactory.h +11 -11
  31. package/cpp/api/JsiSkPathEffectFactory.h +52 -72
  32. package/cpp/api/JsiSkPathFactory.h +129 -195
  33. package/cpp/api/JsiSkPicture.h +12 -18
  34. package/cpp/api/JsiSkPictureRecorder.h +14 -15
  35. package/cpp/api/JsiSkPoint.h +4 -4
  36. package/cpp/api/JsiSkRRect.h +7 -8
  37. package/cpp/api/JsiSkRSXform.h +10 -23
  38. package/cpp/api/JsiSkRect.h +23 -31
  39. package/cpp/api/JsiSkRuntimeEffect.h +67 -83
  40. package/cpp/api/JsiSkRuntimeEffectFactory.h +6 -10
  41. package/cpp/api/JsiSkRuntimeShaderBuilder.h +5 -14
  42. package/cpp/api/JsiSkSVG.h +4 -4
  43. package/cpp/api/JsiSkShaderFactory.h +153 -225
  44. package/cpp/api/JsiSkSkottie.h +104 -126
  45. package/cpp/api/JsiSkSurface.h +11 -14
  46. package/cpp/api/JsiSkSurfaceFactory.h +6 -7
  47. package/cpp/api/JsiSkTextBlobFactory.h +31 -54
  48. package/cpp/api/JsiSkTypeface.h +8 -12
  49. package/cpp/api/JsiSkTypefaceFactory.h +9 -7
  50. package/cpp/api/JsiSkTypefaceFontProvider.h +22 -23
  51. package/cpp/api/JsiSkTypefaceFontProviderFactory.h +5 -6
  52. package/cpp/api/JsiSkVertices.h +6 -8
  53. package/cpp/api/JsiSkiaContext.h +10 -11
  54. package/cpp/api/JsiVideo.h +31 -71
  55. package/cpp/dawn/include/dawn/dawn_proc.h +53 -0
  56. package/cpp/dawn/include/dawn/dawn_proc_table.h +330 -0
  57. package/cpp/dawn/include/dawn/dawn_thread_dispatch_proc.h +47 -0
  58. package/cpp/dawn/include/dawn/dawn_version.h +41 -0
  59. package/cpp/dawn/include/dawn/native/D3D11Backend.h +65 -0
  60. package/cpp/dawn/include/dawn/native/D3D12Backend.h +86 -0
  61. package/cpp/dawn/include/dawn/native/D3DBackend.h +56 -0
  62. package/cpp/dawn/include/dawn/native/DawnNative.h +369 -0
  63. package/cpp/dawn/include/dawn/native/MetalBackend.h +56 -0
  64. package/cpp/dawn/include/dawn/native/NullBackend.h +39 -0
  65. package/cpp/dawn/include/dawn/native/OpenGLBackend.h +89 -0
  66. package/cpp/dawn/include/dawn/native/VulkanBackend.h +183 -0
  67. package/cpp/dawn/include/dawn/native/WebGPUBackend.h +49 -0
  68. package/cpp/dawn/include/dawn/native/dawn_native_export.h +49 -0
  69. package/cpp/dawn/include/dawn/platform/DawnPlatform.h +210 -0
  70. package/cpp/dawn/include/dawn/platform/dawn_platform_export.h +49 -0
  71. package/cpp/dawn/include/dawn/replay/Replay.h +99 -0
  72. package/cpp/dawn/include/dawn/replay/dawn_replay_export.h +49 -0
  73. package/cpp/dawn/include/dawn/webgpu_cpp_print.h +2844 -0
  74. package/cpp/dawn/include/tint/tint.h +90 -0
  75. package/cpp/dawn/include/webgpu/webgpu.h +4987 -0
  76. package/cpp/dawn/include/webgpu/webgpu_cpp.h +10080 -0
  77. package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +57 -0
  78. package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +161 -0
  79. package/cpp/dawn/include/webgpu/webgpu_glfw.h +88 -0
  80. package/cpp/jsi/JSIConverter.h +0 -31
  81. package/cpp/jsi/NativeObject.h +11 -6
  82. package/cpp/rnskia/RNDawnContext.h +18 -2
  83. package/cpp/rnskia/RNDawnInterop.cpp +19 -0
  84. package/cpp/rnskia/RNDawnUtils.h +18 -1
  85. package/cpp/rnskia/RNSkManager.cpp +5 -162
  86. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
  87. package/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +45 -0
  88. package/cpp/skia/src/gpu/graphite/ResourceTypes.h +360 -0
  89. package/cpp/skia/src/gpu/graphite/TextureProxyView.h +105 -0
  90. package/lib/commonjs/mock/index.js +0 -1
  91. package/lib/commonjs/mock/index.js.map +1 -1
  92. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
  93. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  94. package/lib/commonjs/skia/types/Skia.d.ts +5 -15
  95. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  96. package/lib/commonjs/skia/types/index.d.ts +0 -1
  97. package/lib/commonjs/skia/types/index.js +0 -11
  98. package/lib/commonjs/skia/types/index.js.map +1 -1
  99. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  100. package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
  101. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  102. package/lib/commonjs/skia/web/JsiSkia.js +1 -4
  103. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  104. package/lib/commonjs/views/index.d.ts +0 -1
  105. package/lib/commonjs/views/index.js +0 -11
  106. package/lib/commonjs/views/index.js.map +1 -1
  107. package/lib/module/mock/index.js +0 -1
  108. package/lib/module/mock/index.js.map +1 -1
  109. package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
  110. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  111. package/lib/module/skia/types/Skia.d.ts +5 -15
  112. package/lib/module/skia/types/Skia.js.map +1 -1
  113. package/lib/module/skia/types/index.d.ts +0 -1
  114. package/lib/module/skia/types/index.js +0 -1
  115. package/lib/module/skia/types/index.js.map +1 -1
  116. package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  117. package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
  118. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  119. package/lib/module/skia/web/JsiSkia.js +1 -4
  120. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  121. package/lib/module/views/index.d.ts +0 -1
  122. package/lib/module/views/index.js +0 -1
  123. package/lib/module/views/index.js.map +1 -1
  124. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  125. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  126. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
  127. package/lib/typescript/lib/module/mock/index.d.ts +0 -2
  128. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
  129. package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
  130. package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  131. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
  132. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  133. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
  134. package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
  135. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  136. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
  137. package/lib/typescript/src/views/index.d.ts +0 -1
  138. package/libs/.graphite +1 -0
  139. package/package.json +8 -9
  140. package/react-native-skia.podspec +38 -4
  141. package/src/mock/index.ts +0 -1
  142. package/src/skia/types/Image/ImageFactory.ts +15 -6
  143. package/src/skia/types/Skia.ts +5 -15
  144. package/src/skia/types/index.ts +0 -1
  145. package/src/skia/web/JsiSkImageFactory.ts +3 -3
  146. package/src/skia/web/JsiSkia.ts +2 -5
  147. package/src/views/index.ts +0 -1
  148. package/android/cpp/jni/JniWebGPUView.cpp +0 -112
  149. package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
  150. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
  151. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
  152. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
  153. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
  154. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
  155. package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
  156. package/apple/SkiaPlatformContext.h +0 -20
  157. package/apple/SkiaPlatformContext.mm +0 -21
  158. package/apple/SkiaWebGPUView.mm +0 -81
  159. package/apple/WebGPUMetalView.mm +0 -136
  160. package/cpp/rnwgpu/ArrayBuffer.h +0 -116
  161. package/cpp/rnwgpu/Canvas.h +0 -52
  162. package/cpp/rnwgpu/PlatformContext.h +0 -18
  163. package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
  164. package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
  165. package/cpp/rnwgpu/api/Convertors.h +0 -783
  166. package/cpp/rnwgpu/api/External.h +0 -12
  167. package/cpp/rnwgpu/api/GPU.cpp +0 -162
  168. package/cpp/rnwgpu/api/GPU.h +0 -60
  169. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -239
  170. package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
  171. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  172. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  173. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  174. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  175. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
  176. package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
  177. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
  178. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
  179. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  180. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  181. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  182. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  183. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  184. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  185. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  186. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  187. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  188. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -613
  189. package/cpp/rnwgpu/api/GPUDevice.h +0 -258
  190. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  191. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  192. package/cpp/rnwgpu/api/GPUError.h +0 -35
  193. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  194. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
  195. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
  196. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  197. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  198. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  199. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  200. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  201. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  202. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  203. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  204. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
  205. package/cpp/rnwgpu/api/GPUQueue.h +0 -84
  206. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  207. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  208. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  209. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  210. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  211. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  212. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  213. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  214. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
  215. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  216. package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
  217. package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
  218. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
  219. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
  220. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  221. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  222. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  223. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  224. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  225. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
  226. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  227. package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
  228. package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
  229. package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
  230. package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
  231. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
  232. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  233. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
  234. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
  235. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
  236. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
  237. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
  238. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
  239. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
  240. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  241. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  242. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
  243. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
  244. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  245. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
  246. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
  247. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
  248. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
  249. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
  250. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
  251. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
  252. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
  253. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
  254. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
  255. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
  256. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
  257. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  258. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
  259. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
  260. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
  261. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  262. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
  263. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
  264. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
  265. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
  266. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
  267. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
  268. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
  269. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
  270. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
  271. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
  272. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
  273. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
  274. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
  275. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
  276. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
  277. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
  278. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
  279. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
  280. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  281. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
  282. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
  283. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
  284. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
  285. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
  286. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
  287. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
  288. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  289. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
  290. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
  291. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
  292. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
  293. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
  294. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  295. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -213
  296. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
  297. package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
  298. package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
  299. package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
  300. package/lib/commonjs/skia/types/WebGPU.js +0 -105
  301. package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
  302. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
  303. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
  304. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
  305. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  306. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
  307. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  308. package/lib/commonjs/specs/utils.d.ts +0 -1
  309. package/lib/commonjs/specs/utils.js +0 -11
  310. package/lib/commonjs/specs/utils.js.map +0 -1
  311. package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
  312. package/lib/commonjs/views/WebGPUCanvas.js +0 -79
  313. package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
  314. package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
  315. package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
  316. package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
  317. package/lib/module/skia/types/WebGPU.d.ts +0 -184
  318. package/lib/module/skia/types/WebGPU.js +0 -99
  319. package/lib/module/skia/types/WebGPU.js.map +0 -1
  320. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
  321. package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
  322. package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
  323. package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  324. package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
  325. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  326. package/lib/module/specs/utils.d.ts +0 -1
  327. package/lib/module/specs/utils.js +0 -5
  328. package/lib/module/specs/utils.js.map +0 -1
  329. package/lib/module/views/WebGPUCanvas.d.ts +0 -33
  330. package/lib/module/views/WebGPUCanvas.js +0 -70
  331. package/lib/module/views/WebGPUCanvas.js.map +0 -1
  332. package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
  333. package/lib/module/views/WebGPUCanvas.web.js +0 -12
  334. package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
  335. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
  336. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
  337. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
  338. package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
  339. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
  340. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
  341. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
  342. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
  343. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
  344. package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
  345. package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
  346. package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
  347. package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
  348. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
  349. package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  350. package/lib/typescript/src/specs/utils.d.ts +0 -1
  351. package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
  352. package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
  353. package/src/skia/types/WebGPU.ts +0 -226
  354. package/src/specs/WebGPUViewNativeComponent.ts +0 -11
  355. package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
  356. package/src/specs/utils.ts +0 -4
  357. package/src/views/WebGPUCanvas.tsx +0 -125
  358. package/src/views/WebGPUCanvas.web.tsx +0 -36
@@ -1,81 +0,0 @@
1
- #ifdef RCT_NEW_ARCH_ENABLED
2
-
3
- #import "SkiaWebGPUView.h"
4
-
5
- #import <react/renderer/components/rnskia/ComponentDescriptors.h>
6
- #import <react/renderer/components/rnskia/EventEmitters.h>
7
- #import <react/renderer/components/rnskia/Props.h>
8
- #import <react/renderer/components/rnskia/RCTComponentViewHelpers.h>
9
-
10
- #import "RCTFabricComponentsPlugins.h"
11
- #import "WebGPUMetalView.h"
12
-
13
- using namespace facebook::react;
14
-
15
- @implementation SkiaWebGPUView
16
-
17
- - (instancetype)initWithFrame:(CGRect)frame {
18
- if (self = [super initWithFrame:frame]) {
19
- static const auto defaultProps =
20
- std::make_shared<const SkiaWebGPUViewProps>();
21
- _props = defaultProps;
22
- }
23
- return self;
24
- }
25
-
26
- + (ComponentDescriptorProvider)componentDescriptorProvider {
27
- return concreteComponentDescriptorProvider<
28
- SkiaWebGPUViewComponentDescriptor>();
29
- }
30
-
31
- - (void)prepareForRecycle {
32
- [super prepareForRecycle];
33
- /*
34
- It's important to destroy the Metal Layer before releasing a view
35
- to the recycled pool to prevent displaying outdated content from
36
- the last usage in the new context.
37
- */
38
- self.contentView = nil;
39
- }
40
-
41
- - (WebGPUMetalView *)getContentView {
42
- if (!self.contentView) {
43
- self.contentView = [WebGPUMetalView new];
44
- }
45
- return (WebGPUMetalView *)self.contentView;
46
- }
47
-
48
- - (void)updateProps:(const Props::Shared &)props
49
- oldProps:(const Props::Shared &)oldProps {
50
- const auto &oldViewProps =
51
- *std::static_pointer_cast<const SkiaWebGPUViewProps>(_props);
52
- const auto &newViewProps =
53
- *std::static_pointer_cast<const SkiaWebGPUViewProps>(props);
54
-
55
- if (newViewProps.contextId != oldViewProps.contextId) {
56
- /*
57
- The context is set only once during mounting the component
58
- and never changes because it isn't available for users to modify.
59
- */
60
- WebGPUMetalView *metalView = [WebGPUMetalView new];
61
- self.contentView = metalView;
62
- [metalView setContextId:@(newViewProps.contextId)];
63
- [metalView configure];
64
- }
65
-
66
- [super updateProps:props oldProps:oldProps];
67
- }
68
-
69
- - (void)updateLayoutMetrics:(const LayoutMetrics &)layoutMetrics
70
- oldLayoutMetrics:(const LayoutMetrics &)oldLayoutMetrics {
71
- [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
72
- [(WebGPUMetalView *)self.contentView update];
73
- }
74
-
75
- @end
76
-
77
- Class<RCTComponentViewProtocol> SkiaWebGPUViewCls(void) {
78
- return SkiaWebGPUView.class;
79
- }
80
-
81
- #endif // RCT_NEW_ARCH_ENABLED
@@ -1,136 +0,0 @@
1
- #import "WebGPUMetalView.h"
2
-
3
- #ifdef SK_GRAPHITE
4
-
5
- #import "webgpu/webgpu_cpp.h"
6
- #import <QuartzCore/CAMetalLayer.h>
7
-
8
- #import <ReactCommon/CallInvoker.h>
9
-
10
- #import "rnskia/RNDawnContext.h"
11
- #import "rnwgpu/SurfaceRegistry.h"
12
- #import "rnwgpu/async/RuntimeContext.h"
13
-
14
- namespace {
15
- // Applies a surface attach latched by the platform UI thread (see
16
- // SurfaceInfo::applyPendingAttach) from the JS thread. Surface attaches are
17
- // normally adopted at the next frame boundary by whichever thread renders;
18
- // this flush covers contexts that are not actively rendering (static
19
- // content), so the last offscreen frame still makes it on screen. Mirrors
20
- // react-native-webgpu's RNWebGPUManager::flushPendingSurfaceTransition.
21
- void flushPendingSurfaceTransition(std::shared_ptr<rnwgpu::SurfaceInfo> info) {
22
- if (info == nullptr) {
23
- return;
24
- }
25
- auto invoker = rnwgpu::async::RuntimeContext::mainCallInvoker();
26
- if (invoker == nullptr) {
27
- return;
28
- }
29
- invoker->invokeAsync([info = std::move(info)] { info->applyPendingAttach(); });
30
- }
31
- } // namespace
32
-
33
- @implementation WebGPUMetalView {
34
- BOOL _isConfigured;
35
- }
36
-
37
- #if !TARGET_OS_OSX
38
- + (Class)layerClass {
39
- return [CAMetalLayer class];
40
- }
41
- #else // !TARGET_OS_OSX
42
- - (instancetype)init {
43
- self = [super init];
44
- if (self) {
45
- self.wantsLayer = true;
46
- self.layer = [CAMetalLayer layer];
47
- }
48
- return self;
49
- }
50
- #endif // !TARGET_OS_OSX
51
-
52
- - (void)configure {
53
- auto size = self.frame.size;
54
- // Retain the layer for as long as SurfaceInfo holds the pointer: the
55
- // latched attach (and the flush lambda that adopts it) can outlive this
56
- // view, e.g. across a dev reload where the registry is cleared before
57
- // dealloc runs. Balanced by the releaser below.
58
- void *nativeSurface = (void *)CFBridgingRetain(self.layer);
59
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
60
- auto &dawnContext = RNSkia::DawnContext::getInstance();
61
- auto gpu = dawnContext.getWGPUInstance();
62
-
63
- // Create the surface using Dawn's API directly
64
- wgpu::SurfaceSourceMetalLayer metalSurfaceDesc;
65
- metalSurfaceDesc.layer = nativeSurface;
66
- wgpu::SurfaceDescriptor surfaceDescriptor;
67
- surfaceDescriptor.nextInChain = &metalSurfaceDesc;
68
- auto surface = gpu.CreateSurface(&surfaceDescriptor);
69
-
70
- // Find-or-create + attach runs atomically under the registry lock so a
71
- // concurrent destroyContext cannot orphan this surface.
72
- auto info = registry.attachSurface(
73
- [_contextId intValue], gpu, size.width, size.height, nativeSurface,
74
- surface, [](void *layer) {
75
- // The releaser can run on the rendering thread; CALayer teardown
76
- // belongs on the main thread.
77
- dispatch_async(dispatch_get_main_queue(), ^{
78
- CFBridgingRelease(layer);
79
- });
80
- });
81
- // The attach is adopted at the next frame boundary by the rendering thread;
82
- // schedule a flush so contexts that are not currently rendering still pick
83
- // it up (and present their last offscreen frame).
84
- flushPendingSurfaceTransition(info);
85
- }
86
-
87
- - (void)update {
88
- auto size = self.frame.size;
89
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
90
- auto surfaceInfo = registry.getSurfaceInfo([_contextId intValue]);
91
- if (surfaceInfo) {
92
- surfaceInfo->resize(size.width, size.height);
93
- }
94
- }
95
-
96
- - (void)dealloc {
97
- // The view dies with its Canvas (contextIds are never reused), so view
98
- // teardown retires the registry entry. The JS-side cleanup
99
- // (RNWebGPU.destroyContext) only handles entries that never had a native
100
- // surface; see RNWebGPU::destroyContext for the ownership split.
101
- auto &registry = rnwgpu::SurfaceRegistry::getInstance();
102
- if (auto info = registry.getSurfaceInfo([_contextId intValue])) {
103
- info->detachSurface();
104
- }
105
- registry.removeSurfaceInfo([_contextId intValue]);
106
- }
107
-
108
- @end
109
-
110
- #else // SK_GRAPHITE
111
-
112
- // Stub implementation when GRAPHITE is not enabled
113
- @implementation WebGPUMetalView
114
-
115
- #if !TARGET_OS_OSX
116
- + (Class)layerClass {
117
- return [CAMetalLayer class];
118
- }
119
- #else // !TARGET_OS_OSX
120
- - (instancetype)init {
121
- self = [super init];
122
- return self;
123
- }
124
- #endif // !TARGET_OS_OSX
125
-
126
- - (void)configure {
127
- // No-op when GRAPHITE is not enabled
128
- }
129
-
130
- - (void)update {
131
- // No-op when GRAPHITE is not enabled
132
- }
133
-
134
- @end
135
-
136
- #endif // SK_GRAPHITE
@@ -1,116 +0,0 @@
1
- #pragma once
2
- #include <jsi/jsi.h>
3
-
4
- #include <cmath>
5
- #include <cstdint>
6
- #include <memory>
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- namespace rnwgpu {
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- struct ArrayBuffer : jsi::MutableBuffer {
15
- ArrayBuffer(void *data, size_t size, size_t bytesPerElement)
16
- : _data(data), _size(size), _bytesPerElement(bytesPerElement) {}
17
-
18
- ~ArrayBuffer() override {}
19
-
20
- size_t size() const override { return _size; }
21
-
22
- uint8_t *data() override { return static_cast<uint8_t *>(_data); }
23
-
24
- void *_data;
25
- size_t _size;
26
- size_t _bytesPerElement;
27
- };
28
-
29
- static std::shared_ptr<ArrayBuffer>
30
- createArrayBufferFromJSI(jsi::Runtime &runtime,
31
- const jsi::ArrayBuffer &arrayBuffer,
32
- size_t bytesPerElement) {
33
- auto size = arrayBuffer.size(runtime);
34
- return std::make_shared<ArrayBuffer>(arrayBuffer.data(runtime), size,
35
- bytesPerElement);
36
- }
37
-
38
- template <> struct JSIConverter<std::shared_ptr<ArrayBuffer>> {
39
- static std::shared_ptr<ArrayBuffer>
40
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBound) {
41
- if (arg.isObject()) {
42
- auto obj = arg.getObject(runtime);
43
- if (obj.isArrayBuffer(runtime)) {
44
- return createArrayBufferFromJSI(runtime, obj.getArrayBuffer(runtime),
45
- 1);
46
- }
47
- if (obj.hasProperty(runtime, "buffer")) {
48
- auto bufferProp = obj.getProperty(runtime, "buffer");
49
- if (bufferProp.isObject() &&
50
- bufferProp.getObject(runtime).isArrayBuffer(runtime)) {
51
- auto buff = bufferProp.getObject(runtime);
52
- auto arrayBuffer = buff.getArrayBuffer(runtime);
53
- const size_t bufferSize = arrayBuffer.size(runtime);
54
-
55
- // byteOffset / byteLength are user-readable JS properties, not values
56
- // the engine guarantees (unlike Dawn's node binding, which reads them
57
- // off the engine's typed-array view). Read them as doubles so we can
58
- // reject negative, non-integral, NaN/Inf, or oversized values before
59
- // they wrap around when cast to size_t.
60
- const double byteOffsetValue =
61
- obj.getProperty(runtime, "byteOffset").asNumber();
62
- const double byteLengthValue =
63
- obj.getProperty(runtime, "byteLength").asNumber();
64
-
65
- auto isValidByteIndex = [](double value) {
66
- return std::isfinite(value) && value >= 0.0 &&
67
- value <= static_cast<double>(SIZE_MAX) &&
68
- std::floor(value) == value;
69
- };
70
- if (!isValidByteIndex(byteOffsetValue) ||
71
- !isValidByteIndex(byteLengthValue)) {
72
- throw std::runtime_error(
73
- "ArrayBuffer::fromJSI: invalid byteOffset/byteLength");
74
- }
75
-
76
- const size_t byteOffset = static_cast<size_t>(byteOffsetValue);
77
- const size_t byteLength = static_cast<size_t>(byteLengthValue);
78
-
79
- // Overflow-safe bounds check: byteOffset + byteLength <= bufferSize.
80
- if (byteOffset > bufferSize || byteLength > bufferSize - byteOffset) {
81
- throw std::runtime_error(
82
- "ArrayBuffer::fromJSI: view bounds [byteOffset, byteOffset + "
83
- "byteLength) exceed the backing ArrayBuffer size");
84
- }
85
-
86
- // BYTES_PER_ELEMENT is absent on a DataView; default to 1. A spoofed
87
- // object could report 0 (or a negative/NaN value), so clamp to a
88
- // minimum of 1 to avoid a later division by zero in writeBuffer.
89
- size_t bytesPerElements = 1;
90
- if (obj.hasProperty(runtime, "BYTES_PER_ELEMENT")) {
91
- auto bpe = obj.getProperty(runtime, "BYTES_PER_ELEMENT");
92
- if (bpe.isNumber()) {
93
- const double value = bpe.asNumber();
94
- if (std::isfinite(value) && value >= 1.0) {
95
- bytesPerElements = static_cast<size_t>(value);
96
- }
97
- }
98
- }
99
-
100
- return std::make_shared<ArrayBuffer>(arrayBuffer.data(runtime) +
101
- byteOffset,
102
- byteLength, bytesPerElements);
103
- }
104
- }
105
- }
106
- throw std::runtime_error("ArrayBuffer::fromJSI: argument is not an object "
107
- "with an ArrayBuffer 'buffer' property");
108
- }
109
-
110
- static jsi::Value toJSI(jsi::Runtime &runtime,
111
- std::shared_ptr<ArrayBuffer> arg) {
112
- return jsi::ArrayBuffer(runtime, arg);
113
- }
114
- };
115
-
116
- } // namespace rnwgpu
@@ -1,52 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "jsi/NativeObject.h"
6
-
7
- namespace rnwgpu {
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- class Canvas : public NativeObject<Canvas> {
12
- public:
13
- // Note: not "Canvas" — that brand belongs to RNSkia::JsiSkCanvas, and
14
- // boxing brands must be unique process-wide (see BoxedNativeObjectRegistry).
15
- static constexpr const char *CLASS_NAME = "WebGPUCanvas";
16
-
17
- Canvas(void *nativeSurface, int width, int height)
18
- : NativeObject(CLASS_NAME), _nativeSurface(nativeSurface), _width(width),
19
- _height(height), _clientWidth(width), _clientHeight(height) {}
20
-
21
- void *getNativeSurface() { return _nativeSurface; }
22
-
23
- int getWidth() { return _width; }
24
- int getHeight() { return _height; }
25
-
26
- void setWidth(int width) { _width = width; }
27
- void setHeight(int height) { _height = height; }
28
-
29
- int getClientWidth() { return _clientWidth; }
30
- int getClientHeight() { return _clientHeight; }
31
-
32
- void setClientWidth(int width) { _clientWidth = width; }
33
- void setClientHeight(int height) { _clientHeight = height; }
34
-
35
- static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
36
- installGetterSetter(runtime, prototype, "width", &Canvas::getWidth,
37
- &Canvas::setWidth);
38
- installGetterSetter(runtime, prototype, "height", &Canvas::getHeight,
39
- &Canvas::setHeight);
40
- installGetter(runtime, prototype, "clientWidth", &Canvas::getClientWidth);
41
- installGetter(runtime, prototype, "clientHeight", &Canvas::getClientHeight);
42
- }
43
-
44
- private:
45
- void *_nativeSurface;
46
- int _width;
47
- int _height;
48
- int _clientWidth;
49
- int _clientHeight;
50
- };
51
-
52
- } // namespace rnwgpu
@@ -1,18 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- namespace rnwgpu {
8
-
9
- class PlatformContext {
10
- public:
11
- PlatformContext() = default;
12
- virtual ~PlatformContext() = default;
13
-
14
- virtual wgpu::Surface makeSurface(wgpu::Instance instance, void *surface,
15
- int width, int height) = 0;
16
- };
17
-
18
- } // namespace rnwgpu