@shopify/react-native-skia 2.10.0 → 2.10.2

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 (332) 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 +64 -96
  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/jsi/EnumMapper.h +2 -2
  56. package/cpp/jsi/JSIConverter.h +2 -33
  57. package/cpp/jsi/NativeObject.h +24 -19
  58. package/cpp/jsi/Promise.cpp +2 -2
  59. package/cpp/jsi/Promise.h +2 -2
  60. package/cpp/rnskia/RNDawnContext.h +18 -2
  61. package/cpp/rnskia/RNDawnInterop.cpp +19 -0
  62. package/cpp/rnskia/RNDawnUtils.h +18 -1
  63. package/cpp/rnskia/RNSkManager.cpp +5 -162
  64. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +2 -0
  65. package/lib/commonjs/mock/index.js +0 -1
  66. package/lib/commonjs/mock/index.js.map +1 -1
  67. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +15 -6
  68. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  69. package/lib/commonjs/skia/types/Skia.d.ts +5 -15
  70. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  71. package/lib/commonjs/skia/types/index.d.ts +0 -1
  72. package/lib/commonjs/skia/types/index.js +0 -11
  73. package/lib/commonjs/skia/types/index.js.map +1 -1
  74. package/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  75. package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
  76. package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
  77. package/lib/commonjs/skia/web/JsiSkia.js +1 -4
  78. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  79. package/lib/commonjs/views/index.d.ts +0 -1
  80. package/lib/commonjs/views/index.js +0 -11
  81. package/lib/commonjs/views/index.js.map +1 -1
  82. package/lib/module/mock/index.js +0 -1
  83. package/lib/module/mock/index.js.map +1 -1
  84. package/lib/module/skia/types/Image/ImageFactory.d.ts +15 -6
  85. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  86. package/lib/module/skia/types/Skia.d.ts +5 -15
  87. package/lib/module/skia/types/Skia.js.map +1 -1
  88. package/lib/module/skia/types/index.d.ts +0 -1
  89. package/lib/module/skia/types/index.js +0 -1
  90. package/lib/module/skia/types/index.js.map +1 -1
  91. package/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  92. package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
  93. package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
  94. package/lib/module/skia/web/JsiSkia.js +1 -4
  95. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  96. package/lib/module/views/index.d.ts +0 -1
  97. package/lib/module/views/index.js +0 -1
  98. package/lib/module/views/index.js.map +1 -1
  99. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  100. package/lib/typescript/lib/commonjs/skia/web/JsiSkImageFactory.d.ts +2 -2
  101. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -2
  102. package/lib/typescript/lib/module/mock/index.d.ts +0 -2
  103. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -2
  104. package/lib/typescript/lib/module/skia/types/index.d.ts +0 -1
  105. package/lib/typescript/lib/module/skia/web/JsiSkImageFactory.d.ts +2 -2
  106. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -2
  107. package/lib/typescript/lib/module/views/index.d.ts +0 -1
  108. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +15 -6
  109. package/lib/typescript/src/skia/types/Skia.d.ts +5 -15
  110. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  111. package/lib/typescript/src/skia/web/JsiSkImageFactory.d.ts +2 -2
  112. package/lib/typescript/src/views/index.d.ts +0 -1
  113. package/package.json +3 -4
  114. package/react-native-skia.podspec +38 -4
  115. package/src/mock/index.ts +0 -1
  116. package/src/skia/types/Image/ImageFactory.ts +15 -6
  117. package/src/skia/types/Skia.ts +5 -15
  118. package/src/skia/types/index.ts +0 -1
  119. package/src/skia/web/JsiSkImageFactory.ts +3 -3
  120. package/src/skia/web/JsiSkia.ts +2 -5
  121. package/src/views/index.ts +0 -1
  122. package/android/cpp/jni/JniWebGPUView.cpp +0 -112
  123. package/android/cpp/rnskia-android/SkiaPlatformContext.h +0 -26
  124. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUSurfaceView.java +0 -43
  125. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUTextureView.java +0 -50
  126. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUView.java +0 -98
  127. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewAPI.java +0 -19
  128. package/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +0 -58
  129. package/apple/RNWebGPUAppleNativeBuffer.mm +0 -33
  130. package/apple/SkiaPlatformContext.h +0 -20
  131. package/apple/SkiaPlatformContext.mm +0 -21
  132. package/apple/SkiaWebGPUView.mm +0 -81
  133. package/apple/WebGPUMetalView.mm +0 -136
  134. package/cpp/rnwgpu/ArrayBuffer.h +0 -116
  135. package/cpp/rnwgpu/Canvas.h +0 -52
  136. package/cpp/rnwgpu/PlatformContext.h +0 -18
  137. package/cpp/rnwgpu/SurfaceRegistry.h +0 -605
  138. package/cpp/rnwgpu/api/AppleNativeBuffer.h +0 -22
  139. package/cpp/rnwgpu/api/Convertors.h +0 -783
  140. package/cpp/rnwgpu/api/External.h +0 -12
  141. package/cpp/rnwgpu/api/GPU.cpp +0 -162
  142. package/cpp/rnwgpu/api/GPU.h +0 -60
  143. package/cpp/rnwgpu/api/GPUAdapter.cpp +0 -239
  144. package/cpp/rnwgpu/api/GPUAdapter.h +0 -60
  145. package/cpp/rnwgpu/api/GPUAdapterInfo.h +0 -57
  146. package/cpp/rnwgpu/api/GPUBindGroup.cpp +0 -3
  147. package/cpp/rnwgpu/api/GPUBindGroup.h +0 -51
  148. package/cpp/rnwgpu/api/GPUBindGroupLayout.h +0 -52
  149. package/cpp/rnwgpu/api/GPUBuffer.cpp +0 -107
  150. package/cpp/rnwgpu/api/GPUBuffer.h +0 -88
  151. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +0 -75
  152. package/cpp/rnwgpu/api/GPUCanvasContext.h +0 -70
  153. package/cpp/rnwgpu/api/GPUCommandBuffer.h +0 -45
  154. package/cpp/rnwgpu/api/GPUCommandEncoder.cpp +0 -179
  155. package/cpp/rnwgpu/api/GPUCommandEncoder.h +0 -111
  156. package/cpp/rnwgpu/api/GPUCompilationInfo.h +0 -79
  157. package/cpp/rnwgpu/api/GPUCompilationMessage.h +0 -36
  158. package/cpp/rnwgpu/api/GPUComputePassEncoder.cpp +0 -60
  159. package/cpp/rnwgpu/api/GPUComputePassEncoder.h +0 -85
  160. package/cpp/rnwgpu/api/GPUComputePipeline.cpp +0 -12
  161. package/cpp/rnwgpu/api/GPUComputePipeline.h +0 -60
  162. package/cpp/rnwgpu/api/GPUDevice.cpp +0 -613
  163. package/cpp/rnwgpu/api/GPUDevice.h +0 -258
  164. package/cpp/rnwgpu/api/GPUDeviceLostInfo.cpp +0 -7
  165. package/cpp/rnwgpu/api/GPUDeviceLostInfo.h +0 -40
  166. package/cpp/rnwgpu/api/GPUError.h +0 -35
  167. package/cpp/rnwgpu/api/GPUExtent3D.h +0 -66
  168. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +0 -139
  169. package/cpp/rnwgpu/api/GPUExternalTexture.h +0 -95
  170. package/cpp/rnwgpu/api/GPUFeatures.h +0 -203
  171. package/cpp/rnwgpu/api/GPUInternalError.h +0 -31
  172. package/cpp/rnwgpu/api/GPUOrigin2D.h +0 -55
  173. package/cpp/rnwgpu/api/GPUOrigin3D.h +0 -62
  174. package/cpp/rnwgpu/api/GPUOutOfMemoryError.h +0 -33
  175. package/cpp/rnwgpu/api/GPUPipelineLayout.h +0 -45
  176. package/cpp/rnwgpu/api/GPUQuerySet.cpp +0 -11
  177. package/cpp/rnwgpu/api/GPUQuerySet.h +0 -73
  178. package/cpp/rnwgpu/api/GPUQueue.cpp +0 -179
  179. package/cpp/rnwgpu/api/GPUQueue.h +0 -84
  180. package/cpp/rnwgpu/api/GPURenderBundle.h +0 -44
  181. package/cpp/rnwgpu/api/GPURenderBundleEncoder.cpp +0 -131
  182. package/cpp/rnwgpu/api/GPURenderBundleEncoder.h +0 -110
  183. package/cpp/rnwgpu/api/GPURenderPassEncoder.cpp +0 -165
  184. package/cpp/rnwgpu/api/GPURenderPassEncoder.h +0 -130
  185. package/cpp/rnwgpu/api/GPURenderPipeline.cpp +0 -13
  186. package/cpp/rnwgpu/api/GPURenderPipeline.h +0 -61
  187. package/cpp/rnwgpu/api/GPUSampler.h +0 -44
  188. package/cpp/rnwgpu/api/GPUShaderModule.cpp +0 -56
  189. package/cpp/rnwgpu/api/GPUShaderModule.h +0 -66
  190. package/cpp/rnwgpu/api/GPUSharedFence.cpp +0 -80
  191. package/cpp/rnwgpu/api/GPUSharedFence.h +0 -53
  192. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +0 -135
  193. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +0 -75
  194. package/cpp/rnwgpu/api/GPUSupportedLimits.cpp +0 -129
  195. package/cpp/rnwgpu/api/GPUSupportedLimits.h +0 -131
  196. package/cpp/rnwgpu/api/GPUTexture.cpp +0 -47
  197. package/cpp/rnwgpu/api/GPUTexture.h +0 -162
  198. package/cpp/rnwgpu/api/GPUTextureView.h +0 -44
  199. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +0 -60
  200. package/cpp/rnwgpu/api/GPUValidationError.h +0 -32
  201. package/cpp/rnwgpu/api/ImageBitmap.h +0 -62
  202. package/cpp/rnwgpu/api/NativeBufferUtils.h +0 -87
  203. package/cpp/rnwgpu/api/RNWebGPU.h +0 -82
  204. package/cpp/rnwgpu/api/WebGPUConstants.h +0 -36
  205. package/cpp/rnwgpu/api/descriptors/GPUBindGroupDescriptor.h +0 -64
  206. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +0 -78
  207. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutDescriptor.h +0 -56
  208. package/cpp/rnwgpu/api/descriptors/GPUBindGroupLayoutEntry.h +0 -97
  209. package/cpp/rnwgpu/api/descriptors/GPUBlendComponent.h +0 -57
  210. package/cpp/rnwgpu/api/descriptors/GPUBlendState.h +0 -52
  211. package/cpp/rnwgpu/api/descriptors/GPUBufferBinding.h +0 -56
  212. package/cpp/rnwgpu/api/descriptors/GPUBufferBindingLayout.h +0 -56
  213. package/cpp/rnwgpu/api/descriptors/GPUBufferDescriptor.h +0 -59
  214. package/cpp/rnwgpu/api/descriptors/GPUBufferUsage.h +0 -39
  215. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +0 -76
  216. package/cpp/rnwgpu/api/descriptors/GPUColor.h +0 -66
  217. package/cpp/rnwgpu/api/descriptors/GPUColorTargetState.h +0 -58
  218. package/cpp/rnwgpu/api/descriptors/GPUColorWrite.h +0 -29
  219. package/cpp/rnwgpu/api/descriptors/GPUCommandBufferDescriptor.h +0 -45
  220. package/cpp/rnwgpu/api/descriptors/GPUCommandEncoderDescriptor.h +0 -45
  221. package/cpp/rnwgpu/api/descriptors/GPUComputePassDescriptor.h +0 -56
  222. package/cpp/rnwgpu/api/descriptors/GPUComputePassTimestampWrites.h +0 -58
  223. package/cpp/rnwgpu/api/descriptors/GPUComputePipelineDescriptor.h +0 -67
  224. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +0 -56
  225. package/cpp/rnwgpu/api/descriptors/GPUDepthStencilState.h +0 -103
  226. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +0 -109
  227. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureBindingLayout.h +0 -38
  228. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +0 -90
  229. package/cpp/rnwgpu/api/descriptors/GPUFragmentState.h +0 -73
  230. package/cpp/rnwgpu/api/descriptors/GPUImageCopyBuffer.h +0 -62
  231. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +0 -63
  232. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +0 -65
  233. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +0 -81
  234. package/cpp/rnwgpu/api/descriptors/GPUImageDataLayout.h +0 -54
  235. package/cpp/rnwgpu/api/descriptors/GPUMapMode.h +0 -22
  236. package/cpp/rnwgpu/api/descriptors/GPUMultisampleState.h +0 -54
  237. package/cpp/rnwgpu/api/descriptors/GPUPipelineLayoutDescriptor.h +0 -57
  238. package/cpp/rnwgpu/api/descriptors/GPUPrimitiveState.h +0 -69
  239. package/cpp/rnwgpu/api/descriptors/GPUProgrammableStage.h +0 -61
  240. package/cpp/rnwgpu/api/descriptors/GPUQuerySetDescriptor.h +0 -55
  241. package/cpp/rnwgpu/api/descriptors/GPUQueueDescriptor.h +0 -43
  242. package/cpp/rnwgpu/api/descriptors/GPURenderBundleDescriptor.h +0 -45
  243. package/cpp/rnwgpu/api/descriptors/GPURenderBundleEncoderDescriptor.h +0 -80
  244. package/cpp/rnwgpu/api/descriptors/GPURenderPassColorAttachment.h +0 -81
  245. package/cpp/rnwgpu/api/descriptors/GPURenderPassDepthStencilAttachment.h +0 -101
  246. package/cpp/rnwgpu/api/descriptors/GPURenderPassDescriptor.h +0 -92
  247. package/cpp/rnwgpu/api/descriptors/GPURenderPassTimestampWrites.h +0 -58
  248. package/cpp/rnwgpu/api/descriptors/GPURenderPipelineDescriptor.h +0 -103
  249. package/cpp/rnwgpu/api/descriptors/GPURequestAdapterOptions.h +0 -51
  250. package/cpp/rnwgpu/api/descriptors/GPUSamplerBindingLayout.h +0 -45
  251. package/cpp/rnwgpu/api/descriptors/GPUSamplerDescriptor.h +0 -110
  252. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleCompilationHint.h +0 -60
  253. package/cpp/rnwgpu/api/descriptors/GPUShaderModuleDescriptor.h +0 -62
  254. package/cpp/rnwgpu/api/descriptors/GPUShaderStage.h +0 -25
  255. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +0 -58
  256. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +0 -51
  257. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +0 -73
  258. package/cpp/rnwgpu/api/descriptors/GPUStencilFaceState.h +0 -64
  259. package/cpp/rnwgpu/api/descriptors/GPUStorageTextureBindingLayout.h +0 -59
  260. package/cpp/rnwgpu/api/descriptors/GPUTextureBindingLayout.h +0 -59
  261. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +0 -91
  262. package/cpp/rnwgpu/api/descriptors/GPUTextureUsage.h +0 -29
  263. package/cpp/rnwgpu/api/descriptors/GPUTextureViewDescriptor.h +0 -91
  264. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +0 -64
  265. package/cpp/rnwgpu/api/descriptors/GPUVertexAttribute.h +0 -53
  266. package/cpp/rnwgpu/api/descriptors/GPUVertexBufferLayout.h +0 -62
  267. package/cpp/rnwgpu/api/descriptors/GPUVertexState.h +0 -73
  268. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -1969
  269. package/cpp/rnwgpu/async/AsyncTaskHandle.cpp +0 -213
  270. package/cpp/rnwgpu/async/AsyncTaskHandle.h +0 -58
  271. package/cpp/rnwgpu/async/RuntimeContext.cpp +0 -199
  272. package/cpp/rnwgpu/async/RuntimeContext.h +0 -134
  273. package/lib/commonjs/skia/types/WebGPU.d.ts +0 -184
  274. package/lib/commonjs/skia/types/WebGPU.js +0 -105
  275. package/lib/commonjs/skia/types/WebGPU.js.map +0 -1
  276. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -8
  277. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +0 -10
  278. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +0 -1
  279. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  280. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +0 -103
  281. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  282. package/lib/commonjs/specs/utils.d.ts +0 -1
  283. package/lib/commonjs/specs/utils.js +0 -11
  284. package/lib/commonjs/specs/utils.js.map +0 -1
  285. package/lib/commonjs/views/WebGPUCanvas.d.ts +0 -33
  286. package/lib/commonjs/views/WebGPUCanvas.js +0 -79
  287. package/lib/commonjs/views/WebGPUCanvas.js.map +0 -1
  288. package/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -23
  289. package/lib/commonjs/views/WebGPUCanvas.web.js +0 -20
  290. package/lib/commonjs/views/WebGPUCanvas.web.js.map +0 -1
  291. package/lib/module/skia/types/WebGPU.d.ts +0 -184
  292. package/lib/module/skia/types/WebGPU.js +0 -99
  293. package/lib/module/skia/types/WebGPU.js.map +0 -1
  294. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -8
  295. package/lib/module/specs/WebGPUViewNativeComponent.js +0 -4
  296. package/lib/module/specs/WebGPUViewNativeComponent.js.map +0 -1
  297. package/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  298. package/lib/module/specs/WebGPUViewNativeComponent.web.js +0 -96
  299. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +0 -1
  300. package/lib/module/specs/utils.d.ts +0 -1
  301. package/lib/module/specs/utils.js +0 -5
  302. package/lib/module/specs/utils.js.map +0 -1
  303. package/lib/module/views/WebGPUCanvas.d.ts +0 -33
  304. package/lib/module/views/WebGPUCanvas.js +0 -70
  305. package/lib/module/views/WebGPUCanvas.js.map +0 -1
  306. package/lib/module/views/WebGPUCanvas.web.d.ts +0 -23
  307. package/lib/module/views/WebGPUCanvas.web.js +0 -12
  308. package/lib/module/views/WebGPUCanvas.web.js.map +0 -1
  309. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +0 -2
  310. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +0 -4
  311. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.web.d.ts +0 -3
  312. package/lib/typescript/lib/commonjs/specs/utils.d.ts +0 -2
  313. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.d.ts +0 -6
  314. package/lib/typescript/lib/commonjs/views/WebGPUCanvas.web.d.ts +0 -6
  315. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +0 -31
  316. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +0 -2
  317. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.web.d.ts +0 -2
  318. package/lib/typescript/lib/module/specs/utils.d.ts +0 -1
  319. package/lib/typescript/lib/module/views/WebGPUCanvas.d.ts +0 -7
  320. package/lib/typescript/lib/module/views/WebGPUCanvas.web.d.ts +0 -8
  321. package/lib/typescript/src/skia/types/WebGPU.d.ts +0 -184
  322. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +0 -8
  323. package/lib/typescript/src/specs/WebGPUViewNativeComponent.web.d.ts +0 -8
  324. package/lib/typescript/src/specs/utils.d.ts +0 -1
  325. package/lib/typescript/src/views/WebGPUCanvas.d.ts +0 -33
  326. package/lib/typescript/src/views/WebGPUCanvas.web.d.ts +0 -23
  327. package/src/skia/types/WebGPU.ts +0 -226
  328. package/src/specs/WebGPUViewNativeComponent.ts +0 -11
  329. package/src/specs/WebGPUViewNativeComponent.web.ts +0 -110
  330. package/src/specs/utils.ts +0 -4
  331. package/src/views/WebGPUCanvas.tsx +0 -125
  332. package/src/views/WebGPUCanvas.web.tsx +0 -36
@@ -1,2 +0,0 @@
1
- export const __esModule: boolean;
2
- export const installWebGPU: any;
@@ -1,4 +0,0 @@
1
- export const __esModule: boolean;
2
- declare const _default: _reactNative.HostComponent<object>;
3
- export default _default;
4
- import _reactNative = require("react-native");
@@ -1,3 +0,0 @@
1
- export const __esModule: boolean;
2
- export default WebGPUViewNativeComponent;
3
- declare function WebGPUViewNativeComponent(props: any): any;
@@ -1,2 +0,0 @@
1
- export const __esModule: boolean;
2
- export function contextIdToId(contextId: any): string;
@@ -1,6 +0,0 @@
1
- export const __esModule: boolean;
2
- export function WebGPUCanvas({ transparent, ref, ...props }: {
3
- [x: string]: any;
4
- transparent: any;
5
- ref: any;
6
- }): any;
@@ -1,6 +0,0 @@
1
- export const __esModule: boolean;
2
- export function WebGPUCanvas({ transparent: _transparent, ref: _ref, ...props }: {
3
- [x: string]: any;
4
- transparent: any;
5
- ref: any;
6
- }): any;
@@ -1,31 +0,0 @@
1
- /**
2
- * Make the WebGPU flag constants (`GPUBufferUsage`, `GPUColorWrite`,
3
- * `GPUMapMode`, `GPUShaderStage`, `GPUTextureUsage`) available on the runtime
4
- * that calls this.
5
- *
6
- * The native module installs these globals on the main JS runtime, but worklet
7
- * runtimes (Reanimated UI, dedicated worklet runtimes, Vision Camera frame
8
- * processors) start without them, so referencing the bare global inside a
9
- * worklet yields `undefined`. Call `installWebGPU()` once at the top of a
10
- * worklet to install them there:
11
- *
12
- * ```tsx
13
- * import { installWebGPU } from "@shopify/react-native-skia";
14
- *
15
- * const work = (device: GPUDevice) => {
16
- * "worklet";
17
- * installWebGPU();
18
- * device.createBuffer({
19
- * usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
20
- * });
21
- * };
22
- * ```
23
- *
24
- * `installWebGPU` is a native host function. When captured into a worklet, the
25
- * Worklets serializer re-creates it on the worklet runtime, so calling it there
26
- * installs the constants on that runtime. The values come from the native
27
- * `wgpu::*Usage` enums, so they stay a single source of truth across runtimes.
28
- * Calling it on a runtime that already has the constants is a safe no-op, and on
29
- * web (where the constants are always global) it is a no-op too.
30
- */
31
- export const installWebGPU: any;
@@ -1,2 +0,0 @@
1
- declare const _default: import("react-native").HostComponent<object>;
2
- export default _default;
@@ -1,2 +0,0 @@
1
- export default function WebGPUViewNativeComponent(props: any): React.DetailedReactHTMLElement<any, HTMLElement>;
2
- import React from "react";
@@ -1 +0,0 @@
1
- export function contextIdToId(contextId: any): string;
@@ -1,7 +0,0 @@
1
- export function WebGPUCanvas({ transparent, ref, ...props }: {
2
- [x: string]: any;
3
- transparent: any;
4
- ref: any;
5
- }): React.CElement<import("react-native").ViewProps, View>;
6
- import { View } from "react-native";
7
- import React from "react";
@@ -1,8 +0,0 @@
1
- export function WebGPUCanvas({ transparent: _transparent, ref: _ref, ...props }: {
2
- [x: string]: any;
3
- transparent: any;
4
- ref: any;
5
- }): React.DetailedReactHTMLElement<{
6
- [x: string]: any;
7
- }, HTMLElement>;
8
- import React from "react";
@@ -1,184 +0,0 @@
1
- import type { NativeBuffer } from "./NativeBuffer";
2
- /**
3
- * Make the WebGPU flag constants (`GPUBufferUsage`, `GPUColorWrite`,
4
- * `GPUMapMode`, `GPUShaderStage`, `GPUTextureUsage`) available on the runtime
5
- * that calls this.
6
- *
7
- * The native module installs these globals on the main JS runtime, but worklet
8
- * runtimes (Reanimated UI, dedicated worklet runtimes, Vision Camera frame
9
- * processors) start without them, so referencing the bare global inside a
10
- * worklet yields `undefined`. Call `installWebGPU()` once at the top of a
11
- * worklet to install them there:
12
- *
13
- * ```tsx
14
- * import { installWebGPU } from "@shopify/react-native-skia";
15
- *
16
- * const work = (device: GPUDevice) => {
17
- * "worklet";
18
- * installWebGPU();
19
- * device.createBuffer({
20
- * usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
21
- * });
22
- * };
23
- * ```
24
- *
25
- * `installWebGPU` is a native host function. When captured into a worklet, the
26
- * Worklets serializer re-creates it on the worklet runtime, so calling it there
27
- * installs the constants on that runtime. The values come from the native
28
- * `wgpu::*Usage` enums, so they stay a single source of truth across runtimes.
29
- * Calling it on a runtime that already has the constants is a safe no-op, and on
30
- * web (where the constants are always global) it is a no-op too.
31
- */
32
- export declare const installWebGPU: () => void;
33
- /**
34
- * Descriptor for {@link GPUDevice.importExternalTexture} when the source is a
35
- * Skia NativeBuffer (Skia has no WebCodecs `VideoFrame`).
36
- *
37
- * `source` is the handle returned by `Skia.NativeBuffer.MakeFromImage`: a
38
- * `CVPixelBufferRef` on Apple, an `AHardwareBuffer*` on Android. The caller
39
- * owns its lifetime (release it with `Skia.NativeBuffer.Release`) and must keep
40
- * it alive until the imported texture is destroyed.
41
- */
42
- export interface SkiaGPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
43
- source: NativeBuffer;
44
- /** Rotation applied while sampling, in degrees. One of 0 | 90 | 180 | 270. */
45
- rotation?: number;
46
- /** Mirror horizontally while sampling. */
47
- mirrored?: boolean;
48
- }
49
- /**
50
- * Descriptor for {@link GPUDevice.importSharedTextureMemory}. `handle` is the
51
- * NativeBuffer returned by `Skia.NativeBuffer.MakeFromImage` (see
52
- * {@link SkiaGPUExternalTextureDescriptor} for the platform-specific types and
53
- * lifetime rules).
54
- */
55
- export interface GPUSharedTextureMemoryDescriptor extends GPUObjectDescriptorBase {
56
- handle: NativeBuffer;
57
- }
58
- /**
59
- * The kind of native synchronization primitive a {@link GPUSharedFence} wraps,
60
- * matching the `shared-fence-*` device feature names. Limited to the kinds
61
- * react-native-skia targets (iOS/Metal and Android/Vulkan); `importSharedFence`
62
- * accepts these and `export()` reports them.
63
- */
64
- export type GPUSharedFenceType = "mtl-shared-event" | "sync-fd" | "vk-semaphore-opaque-fd";
65
- /**
66
- * Descriptor for {@link GPUDevice.importSharedFence}.
67
- */
68
- export interface GPUSharedFenceDescriptor {
69
- /**
70
- * The fence kind to import. Must match a `shared-fence-*` feature enabled on
71
- * the device.
72
- */
73
- type: GPUSharedFenceType;
74
- /**
75
- * The raw native handle as a BigInt: an `id<MTLSharedEvent>` pointer for
76
- * `"mtl-shared-event"`, or an OS file descriptor for the `*-fd` kinds.
77
- */
78
- handle: bigint;
79
- label?: string;
80
- }
81
- export interface GPUSharedFenceExportInfo {
82
- type: GPUSharedFenceType;
83
- /**
84
- * An `id<MTLSharedEvent>` pointer (Apple) or file descriptor (Android), as a
85
- * BigInt. The caller takes ownership; e.g. an exported sync-fd must be closed
86
- * once consumed.
87
- */
88
- handle: bigint;
89
- }
90
- /**
91
- * A native GPU synchronization primitive shared across queues/APIs. Produced by
92
- * {@link GPUSharedTextureMemory.endAccess}, consumed by
93
- * {@link GPUSharedTextureMemory.beginAccess}, or imported from a consumer's
94
- * fence with {@link GPUDevice.importSharedFence}.
95
- */
96
- export interface GPUSharedFence {
97
- readonly __brand: "GPUSharedFence";
98
- label: string;
99
- export(): GPUSharedFenceExportInfo;
100
- }
101
- /** A fence and the timeline value to wait for (0n for binary sync-fd fences). */
102
- export interface GPUSharedFenceState {
103
- fence: GPUSharedFence;
104
- signaledValue: bigint;
105
- }
106
- /**
107
- * The result of {@link GPUSharedTextureMemory.endAccess}: each fence is signaled
108
- * at its `signaledValue` once Dawn's GPU work for the access completes.
109
- */
110
- export interface GPUSharedTextureMemoryEndAccessState {
111
- initialized: boolean;
112
- fences: GPUSharedFenceState[];
113
- }
114
- /**
115
- * Shared texture memory imported from a platform native buffer via
116
- * {@link GPUDevice.importSharedTextureMemory}. Create a texture that aliases
117
- * the memory, then bracket the GPU work that touches it with
118
- * {@link GPUSharedTextureMemory.beginAccess} / {@link GPUSharedTextureMemory.endAccess}.
119
- */
120
- export interface GPUSharedTextureMemory extends GPUObjectBase {
121
- /** Create a texture that aliases the shared memory. */
122
- createTexture(descriptor?: GPUTextureDescriptor): GPUTexture;
123
- /**
124
- * Acquire the memory for GPU access. `initialized` marks whether the existing
125
- * contents should be preserved (pass `true` for an already-rendered frame).
126
- * Optional `fences` are wait fences: Dawn waits for each to reach its
127
- * `signaledValue` before writing the surface. Throws if the access could not
128
- * be acquired.
129
- */
130
- beginAccess(texture: GPUTexture, initialized: boolean, fences?: GPUSharedFenceState[]): void;
131
- /**
132
- * Release the memory after the GPU work that accessed it has been submitted,
133
- * and return the fences Dawn produced for the access. Throws on failure.
134
- */
135
- endAccess(texture: GPUTexture): GPUSharedTextureMemoryEndAccessState;
136
- }
137
- /**
138
- * Dawn-specific toggles, passed via {@link GPUDeviceDescriptor.dawnToggles} to
139
- * `adapter.requestDevice`. This is a non-spec, Dawn-only extension; see Dawn's
140
- * toggle list for valid names.
141
- */
142
- export interface GPUDawnTogglesDescriptor {
143
- enabledToggles?: string[];
144
- disabledToggles?: string[];
145
- }
146
- declare global {
147
- interface GPUDeviceDescriptor {
148
- /** Dawn-specific toggles (Skia/Graphite extension, non-spec). */
149
- dawnToggles?: GPUDawnTogglesDescriptor;
150
- }
151
- interface GPUExternalTexture {
152
- /**
153
- * Skia extension: end the imported buffer's shared-memory access window and
154
- * release the underlying resources. Call right after the `queue.submit()`
155
- * that sampled this texture (never before). Idempotent, and also runs at
156
- * garbage collection as a fallback.
157
- */
158
- destroy(): void;
159
- }
160
- interface GPUDevice {
161
- /**
162
- * Skia extension: import a NativeBuffer (from
163
- * `Skia.NativeBuffer.MakeFromImage`) as a {@link GPUExternalTexture}, sampled
164
- * with `texture_external` in WGSL. The returned texture owns the
165
- * shared-memory access window; call `destroy()` on it after the sampling
166
- * `queue.submit()`.
167
- */
168
- importExternalTexture(descriptor: SkiaGPUExternalTextureDescriptor): GPUExternalTexture;
169
- /**
170
- * Skia extension: import a NativeBuffer (from
171
- * `Skia.NativeBuffer.MakeFromImage`) as {@link GPUSharedTextureMemory}, the
172
- * lower-level path that lets you create an aliasing texture and manage the
173
- * begin/end access window yourself.
174
- */
175
- importSharedTextureMemory(descriptor: GPUSharedTextureMemoryDescriptor): GPUSharedTextureMemory;
176
- /**
177
- * Skia extension: import a native synchronization primitive (an
178
- * `id<MTLSharedEvent>` on Apple, a sync-fd / VkSemaphore on Android) as a
179
- * {@link GPUSharedFence}, e.g. to wait on a fence a consumer produced. The
180
- * matching `shared-fence-*` feature must be enabled on the device.
181
- */
182
- importSharedFence(descriptor: GPUSharedFenceDescriptor): GPUSharedFence;
183
- }
184
- }
@@ -1,8 +0,0 @@
1
- import type { ViewProps } from "react-native";
2
- import type { Int32 } from "react-native/Libraries/Types/CodegenTypes";
3
- export interface NativeProps extends ViewProps {
4
- contextId: Int32;
5
- transparent: boolean;
6
- }
7
- declare const _default: import("react-native").HostComponent<NativeProps>;
8
- export default _default;
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import type { Int32 } from "react-native/Libraries/Types/CodegenTypes";
3
- import type { ViewProps } from "react-native";
4
- export interface NativeProps extends ViewProps {
5
- contextId: Int32;
6
- transparent: boolean;
7
- }
8
- export default function WebGPUViewNativeComponent(props: NativeProps): React.JSX.Element;
@@ -1 +0,0 @@
1
- export declare function contextIdToId(contextId: number): string;
@@ -1,33 +0,0 @@
1
- import React from "react";
2
- import type { ViewProps } from "react-native";
3
- declare global {
4
- var RNWebGPU: {
5
- gpu: GPU;
6
- fabric: boolean;
7
- getNativeSurface: (contextId: number) => NativeCanvas;
8
- MakeWebGPUCanvasContext: (contextId: number, width: number, height: number) => RNCanvasContext;
9
- destroyContext: (contextId: number) => void;
10
- };
11
- }
12
- type SurfacePointer = bigint;
13
- export interface NativeCanvas {
14
- surface: SurfacePointer;
15
- width: number;
16
- height: number;
17
- clientWidth: number;
18
- clientHeight: number;
19
- }
20
- export type RNCanvasContext = GPUCanvasContext & {
21
- present: () => void;
22
- };
23
- export interface WebGPUCanvasRef {
24
- getContextId: () => number;
25
- getContext(contextName: "webgpu"): RNCanvasContext | null;
26
- getNativeSurface: () => NativeCanvas;
27
- }
28
- interface WebGPUCanvasProps extends ViewProps {
29
- transparent?: boolean;
30
- ref?: React.Ref<WebGPUCanvasRef>;
31
- }
32
- export declare const WebGPUCanvas: ({ transparent, ref, ...props }: WebGPUCanvasProps) => React.JSX.Element;
33
- export {};
@@ -1,23 +0,0 @@
1
- import React from "react";
2
- import type { ViewProps } from "react-native";
3
- export interface NativeCanvas {
4
- surface: bigint;
5
- width: number;
6
- height: number;
7
- clientWidth: number;
8
- clientHeight: number;
9
- }
10
- export type RNCanvasContext = GPUCanvasContext & {
11
- present: () => void;
12
- };
13
- export interface WebGPUCanvasRef {
14
- getContextId: () => number;
15
- getContext(contextName: "webgpu"): RNCanvasContext | null;
16
- getNativeSurface: () => NativeCanvas;
17
- }
18
- interface WebGPUCanvasProps extends ViewProps {
19
- transparent?: boolean;
20
- ref?: React.Ref<WebGPUCanvasRef>;
21
- }
22
- export declare const WebGPUCanvas: ({ transparent: _transparent, ref: _ref, ...props }: WebGPUCanvasProps) => React.JSX.Element;
23
- export {};
@@ -1,226 +0,0 @@
1
- import type { NativeBuffer } from "./NativeBuffer";
2
-
3
- /**
4
- * Make the WebGPU flag constants (`GPUBufferUsage`, `GPUColorWrite`,
5
- * `GPUMapMode`, `GPUShaderStage`, `GPUTextureUsage`) available on the runtime
6
- * that calls this.
7
- *
8
- * The native module installs these globals on the main JS runtime, but worklet
9
- * runtimes (Reanimated UI, dedicated worklet runtimes, Vision Camera frame
10
- * processors) start without them, so referencing the bare global inside a
11
- * worklet yields `undefined`. Call `installWebGPU()` once at the top of a
12
- * worklet to install them there:
13
- *
14
- * ```tsx
15
- * import { installWebGPU } from "@shopify/react-native-skia";
16
- *
17
- * const work = (device: GPUDevice) => {
18
- * "worklet";
19
- * installWebGPU();
20
- * device.createBuffer({
21
- * usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
22
- * });
23
- * };
24
- * ```
25
- *
26
- * `installWebGPU` is a native host function. When captured into a worklet, the
27
- * Worklets serializer re-creates it on the worklet runtime, so calling it there
28
- * installs the constants on that runtime. The values come from the native
29
- * `wgpu::*Usage` enums, so they stay a single source of truth across runtimes.
30
- * Calling it on a runtime that already has the constants is a safe no-op, and on
31
- * web (where the constants are always global) it is a no-op too.
32
- */
33
- export const installWebGPU: () => void = (() => {
34
- const g =
35
- typeof global !== "undefined"
36
- ? (global as unknown as { installWebGPU?: () => void })
37
- : undefined;
38
- return g && typeof g.installWebGPU === "function"
39
- ? g.installWebGPU
40
- : () => {};
41
- })();
42
-
43
- // Skia's Graphite/Dawn backend extends the standard WebGPU API (typed by
44
- // @webgpu/types) with a few Skia- and Dawn-specific entry points. These are
45
- // only available on native (SK_GRAPHITE) builds, reachable through
46
- // `Skia.getDevice()`.
47
- //
48
- // The exported interfaces below describe the descriptors and objects those
49
- // entry points use; the `declare global` block augments the standard WebGPU
50
- // interfaces so the new methods are typed without casting to `any`.
51
-
52
- /**
53
- * Descriptor for {@link GPUDevice.importExternalTexture} when the source is a
54
- * Skia NativeBuffer (Skia has no WebCodecs `VideoFrame`).
55
- *
56
- * `source` is the handle returned by `Skia.NativeBuffer.MakeFromImage`: a
57
- * `CVPixelBufferRef` on Apple, an `AHardwareBuffer*` on Android. The caller
58
- * owns its lifetime (release it with `Skia.NativeBuffer.Release`) and must keep
59
- * it alive until the imported texture is destroyed.
60
- */
61
- export interface SkiaGPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
62
- source: NativeBuffer;
63
- /** Rotation applied while sampling, in degrees. One of 0 | 90 | 180 | 270. */
64
- rotation?: number;
65
- /** Mirror horizontally while sampling. */
66
- mirrored?: boolean;
67
- }
68
-
69
- /**
70
- * Descriptor for {@link GPUDevice.importSharedTextureMemory}. `handle` is the
71
- * NativeBuffer returned by `Skia.NativeBuffer.MakeFromImage` (see
72
- * {@link SkiaGPUExternalTextureDescriptor} for the platform-specific types and
73
- * lifetime rules).
74
- */
75
- export interface GPUSharedTextureMemoryDescriptor extends GPUObjectDescriptorBase {
76
- handle: NativeBuffer;
77
- }
78
-
79
- /**
80
- * The kind of native synchronization primitive a {@link GPUSharedFence} wraps,
81
- * matching the `shared-fence-*` device feature names. Limited to the kinds
82
- * react-native-skia targets (iOS/Metal and Android/Vulkan); `importSharedFence`
83
- * accepts these and `export()` reports them.
84
- */
85
- export type GPUSharedFenceType =
86
- | "mtl-shared-event"
87
- | "sync-fd"
88
- | "vk-semaphore-opaque-fd";
89
-
90
- /**
91
- * Descriptor for {@link GPUDevice.importSharedFence}.
92
- */
93
- export interface GPUSharedFenceDescriptor {
94
- /**
95
- * The fence kind to import. Must match a `shared-fence-*` feature enabled on
96
- * the device.
97
- */
98
- type: GPUSharedFenceType;
99
- /**
100
- * The raw native handle as a BigInt: an `id<MTLSharedEvent>` pointer for
101
- * `"mtl-shared-event"`, or an OS file descriptor for the `*-fd` kinds.
102
- */
103
- handle: bigint;
104
- label?: string;
105
- }
106
-
107
- export interface GPUSharedFenceExportInfo {
108
- type: GPUSharedFenceType;
109
- /**
110
- * An `id<MTLSharedEvent>` pointer (Apple) or file descriptor (Android), as a
111
- * BigInt. The caller takes ownership; e.g. an exported sync-fd must be closed
112
- * once consumed.
113
- */
114
- handle: bigint;
115
- }
116
-
117
- /**
118
- * A native GPU synchronization primitive shared across queues/APIs. Produced by
119
- * {@link GPUSharedTextureMemory.endAccess}, consumed by
120
- * {@link GPUSharedTextureMemory.beginAccess}, or imported from a consumer's
121
- * fence with {@link GPUDevice.importSharedFence}.
122
- */
123
- export interface GPUSharedFence {
124
- readonly __brand: "GPUSharedFence";
125
- label: string;
126
- export(): GPUSharedFenceExportInfo;
127
- }
128
-
129
- /** A fence and the timeline value to wait for (0n for binary sync-fd fences). */
130
- export interface GPUSharedFenceState {
131
- fence: GPUSharedFence;
132
- signaledValue: bigint;
133
- }
134
-
135
- /**
136
- * The result of {@link GPUSharedTextureMemory.endAccess}: each fence is signaled
137
- * at its `signaledValue` once Dawn's GPU work for the access completes.
138
- */
139
- export interface GPUSharedTextureMemoryEndAccessState {
140
- initialized: boolean;
141
- fences: GPUSharedFenceState[];
142
- }
143
-
144
- /**
145
- * Shared texture memory imported from a platform native buffer via
146
- * {@link GPUDevice.importSharedTextureMemory}. Create a texture that aliases
147
- * the memory, then bracket the GPU work that touches it with
148
- * {@link GPUSharedTextureMemory.beginAccess} / {@link GPUSharedTextureMemory.endAccess}.
149
- */
150
- export interface GPUSharedTextureMemory extends GPUObjectBase {
151
- /** Create a texture that aliases the shared memory. */
152
- createTexture(descriptor?: GPUTextureDescriptor): GPUTexture;
153
- /**
154
- * Acquire the memory for GPU access. `initialized` marks whether the existing
155
- * contents should be preserved (pass `true` for an already-rendered frame).
156
- * Optional `fences` are wait fences: Dawn waits for each to reach its
157
- * `signaledValue` before writing the surface. Throws if the access could not
158
- * be acquired.
159
- */
160
- beginAccess(
161
- texture: GPUTexture,
162
- initialized: boolean,
163
- fences?: GPUSharedFenceState[]
164
- ): void;
165
- /**
166
- * Release the memory after the GPU work that accessed it has been submitted,
167
- * and return the fences Dawn produced for the access. Throws on failure.
168
- */
169
- endAccess(texture: GPUTexture): GPUSharedTextureMemoryEndAccessState;
170
- }
171
-
172
- /**
173
- * Dawn-specific toggles, passed via {@link GPUDeviceDescriptor.dawnToggles} to
174
- * `adapter.requestDevice`. This is a non-spec, Dawn-only extension; see Dawn's
175
- * toggle list for valid names.
176
- */
177
- export interface GPUDawnTogglesDescriptor {
178
- enabledToggles?: string[];
179
- disabledToggles?: string[];
180
- }
181
-
182
- declare global {
183
- interface GPUDeviceDescriptor {
184
- /** Dawn-specific toggles (Skia/Graphite extension, non-spec). */
185
- dawnToggles?: GPUDawnTogglesDescriptor;
186
- }
187
-
188
- interface GPUExternalTexture {
189
- /**
190
- * Skia extension: end the imported buffer's shared-memory access window and
191
- * release the underlying resources. Call right after the `queue.submit()`
192
- * that sampled this texture (never before). Idempotent, and also runs at
193
- * garbage collection as a fallback.
194
- */
195
- destroy(): void;
196
- }
197
-
198
- interface GPUDevice {
199
- /**
200
- * Skia extension: import a NativeBuffer (from
201
- * `Skia.NativeBuffer.MakeFromImage`) as a {@link GPUExternalTexture}, sampled
202
- * with `texture_external` in WGSL. The returned texture owns the
203
- * shared-memory access window; call `destroy()` on it after the sampling
204
- * `queue.submit()`.
205
- */
206
- importExternalTexture(
207
- descriptor: SkiaGPUExternalTextureDescriptor
208
- ): GPUExternalTexture;
209
- /**
210
- * Skia extension: import a NativeBuffer (from
211
- * `Skia.NativeBuffer.MakeFromImage`) as {@link GPUSharedTextureMemory}, the
212
- * lower-level path that lets you create an aliasing texture and manage the
213
- * begin/end access window yourself.
214
- */
215
- importSharedTextureMemory(
216
- descriptor: GPUSharedTextureMemoryDescriptor
217
- ): GPUSharedTextureMemory;
218
- /**
219
- * Skia extension: import a native synchronization primitive (an
220
- * `id<MTLSharedEvent>` on Apple, a sync-fd / VkSemaphore on Android) as a
221
- * {@link GPUSharedFence}, e.g. to wait on a fence a consumer produced. The
222
- * matching `shared-fence-*` feature must be enabled on the device.
223
- */
224
- importSharedFence(descriptor: GPUSharedFenceDescriptor): GPUSharedFence;
225
- }
226
- }
@@ -1,11 +0,0 @@
1
- import { codegenNativeComponent } from "react-native";
2
- import type { ViewProps } from "react-native";
3
- import type { Int32 } from "react-native/Libraries/Types/CodegenTypes";
4
-
5
- export interface NativeProps extends ViewProps {
6
- contextId: Int32;
7
- transparent: boolean;
8
- }
9
-
10
- // eslint-disable-next-line import/no-default-export
11
- export default codegenNativeComponent<NativeProps>("SkiaWebGPUView");