@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,56 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi/JSIConverter.h"
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- namespace rnwgpu {
12
-
13
- struct GPUBufferBindingLayout {
14
- std::optional<wgpu::BufferBindingType> type; // GPUBufferBindingType
15
- std::optional<bool> hasDynamicOffset; // boolean
16
- std::optional<double> minBindingSize; // GPUSize64
17
- };
18
-
19
- } // namespace rnwgpu
20
-
21
- namespace rnwgpu {
22
-
23
- template <>
24
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUBufferBindingLayout>> {
25
- static std::shared_ptr<rnwgpu::GPUBufferBindingLayout>
26
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
27
- auto result = std::make_unique<rnwgpu::GPUBufferBindingLayout>();
28
- if (!outOfBounds && arg.isObject()) {
29
- auto value = arg.getObject(runtime);
30
- if (value.hasProperty(runtime, "type")) {
31
- auto prop = value.getProperty(runtime, "type");
32
- result->type =
33
- JSIConverter<std::optional<wgpu::BufferBindingType>>::fromJSI(
34
- runtime, prop, false);
35
- }
36
- if (value.hasProperty(runtime, "hasDynamicOffset")) {
37
- auto prop = value.getProperty(runtime, "hasDynamicOffset");
38
- result->hasDynamicOffset =
39
- JSIConverter<std::optional<bool>>::fromJSI(runtime, prop, false);
40
- }
41
- if (value.hasProperty(runtime, "minBindingSize")) {
42
- auto prop = value.getProperty(runtime, "minBindingSize");
43
- result->minBindingSize =
44
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
45
- }
46
- }
47
-
48
- return result;
49
- }
50
- static jsi::Value toJSI(jsi::Runtime &runtime,
51
- std::shared_ptr<rnwgpu::GPUBufferBindingLayout> arg) {
52
- throw std::runtime_error("Invalid GPUBufferBindingLayout::toJSI()");
53
- }
54
- };
55
-
56
- } // namespace rnwgpu
@@ -1,59 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- namespace jsi = facebook::jsi;
11
-
12
- namespace rnwgpu {
13
-
14
- struct GPUBufferDescriptor {
15
- double size; // GPUSize64
16
- double usage; // GPUBufferUsageFlags
17
- std::optional<bool> mappedAtCreation; // boolean
18
- std::optional<std::string> label; // string
19
- };
20
-
21
- } // namespace rnwgpu
22
-
23
- namespace rnwgpu {
24
-
25
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUBufferDescriptor>> {
26
- static std::shared_ptr<rnwgpu::GPUBufferDescriptor>
27
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
- auto result = std::make_unique<rnwgpu::GPUBufferDescriptor>();
29
- if (!outOfBounds && arg.isObject()) {
30
- auto value = arg.getObject(runtime);
31
- if (value.hasProperty(runtime, "size")) {
32
- auto prop = value.getProperty(runtime, "size");
33
- result->size = JSIConverter<double>::fromJSI(runtime, prop, false);
34
- }
35
- if (value.hasProperty(runtime, "usage")) {
36
- auto prop = value.getProperty(runtime, "usage");
37
- result->usage = JSIConverter<double>::fromJSI(runtime, prop, false);
38
- }
39
- if (value.hasProperty(runtime, "mappedAtCreation")) {
40
- auto prop = value.getProperty(runtime, "mappedAtCreation");
41
- result->mappedAtCreation =
42
- JSIConverter<std::optional<bool>>::fromJSI(runtime, prop, false);
43
- }
44
- if (value.hasProperty(runtime, "label")) {
45
- auto prop = value.getProperty(runtime, "label");
46
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
47
- runtime, prop, false);
48
- }
49
- }
50
-
51
- return result;
52
- }
53
- static jsi::Value toJSI(jsi::Runtime &runtime,
54
- std::shared_ptr<rnwgpu::GPUBufferDescriptor> arg) {
55
- throw std::runtime_error("Invalid GPUBufferDescriptor::toJSI()");
56
- }
57
- };
58
-
59
- } // namespace rnwgpu
@@ -1,39 +0,0 @@
1
- #pragma once
2
-
3
- #include <jsi/jsi.h>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- namespace rnwgpu {
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- class GPUBufferUsage {
12
- public:
13
- static jsi::Object create(jsi::Runtime &runtime) {
14
- jsi::Object obj(runtime);
15
- obj.setProperty(runtime, "MAP_READ",
16
- static_cast<double>(wgpu::BufferUsage::MapRead));
17
- obj.setProperty(runtime, "MAP_WRITE",
18
- static_cast<double>(wgpu::BufferUsage::MapWrite));
19
- obj.setProperty(runtime, "COPY_SRC",
20
- static_cast<double>(wgpu::BufferUsage::CopySrc));
21
- obj.setProperty(runtime, "COPY_DST",
22
- static_cast<double>(wgpu::BufferUsage::CopyDst));
23
- obj.setProperty(runtime, "INDEX",
24
- static_cast<double>(wgpu::BufferUsage::Index));
25
- obj.setProperty(runtime, "VERTEX",
26
- static_cast<double>(wgpu::BufferUsage::Vertex));
27
- obj.setProperty(runtime, "UNIFORM",
28
- static_cast<double>(wgpu::BufferUsage::Uniform));
29
- obj.setProperty(runtime, "STORAGE",
30
- static_cast<double>(wgpu::BufferUsage::Storage));
31
- obj.setProperty(runtime, "INDIRECT",
32
- static_cast<double>(wgpu::BufferUsage::Indirect));
33
- obj.setProperty(runtime, "QUERY_RESOLVE",
34
- static_cast<double>(wgpu::BufferUsage::QueryResolve));
35
- return obj;
36
- }
37
- };
38
-
39
- } // namespace rnwgpu
@@ -1,76 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <vector>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- #include "rnwgpu/api/GPUDevice.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- struct GPUCanvasConfiguration {
17
- std::shared_ptr<GPUDevice> device; // GPUDevice
18
- wgpu::TextureFormat format; // GPUTextureFormat
19
- std::optional<double> usage; // GPUTextureUsageFlags
20
- std::optional<std::vector<wgpu::TextureFormat>>
21
- viewFormats; // Iterable<GPUTextureFormat>
22
- wgpu::CompositeAlphaMode alphaMode = wgpu::CompositeAlphaMode::Opaque;
23
- };
24
-
25
- } // namespace rnwgpu
26
-
27
- namespace rnwgpu {
28
-
29
- template <>
30
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUCanvasConfiguration>> {
31
- static std::shared_ptr<rnwgpu::GPUCanvasConfiguration>
32
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
33
- auto result = std::make_unique<rnwgpu::GPUCanvasConfiguration>();
34
- if (!outOfBounds && arg.isObject()) {
35
- auto value = arg.getObject(runtime);
36
- if (value.hasProperty(runtime, "device")) {
37
- auto prop = value.getProperty(runtime, "device");
38
- result->device = JSIConverter<std::shared_ptr<GPUDevice>>::fromJSI(
39
- runtime, prop, false);
40
- }
41
- if (value.hasProperty(runtime, "format")) {
42
- auto prop = value.getProperty(runtime, "format");
43
- result->format =
44
- JSIConverter<wgpu::TextureFormat>::fromJSI(runtime, prop, false);
45
- }
46
- if (value.hasProperty(runtime, "usage")) {
47
- auto prop = value.getProperty(runtime, "usage");
48
- result->usage =
49
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
50
- }
51
- if (value.hasProperty(runtime, "viewFormats")) {
52
- auto prop = value.getProperty(runtime, "viewFormats");
53
- result->viewFormats = JSIConverter<
54
- std::optional<std::vector<wgpu::TextureFormat>>>::fromJSI(runtime,
55
- prop,
56
- false);
57
- }
58
- if (value.hasProperty(runtime, "alphaMode")) {
59
- auto prop = value.getProperty(runtime, "alphaMode")
60
- .asString(runtime)
61
- .utf8(runtime);
62
- if (prop == "premultiplied") {
63
- result->alphaMode = wgpu::CompositeAlphaMode::Premultiplied;
64
- }
65
- }
66
- }
67
-
68
- return result;
69
- }
70
- static jsi::Value toJSI(jsi::Runtime &runtime,
71
- std::shared_ptr<rnwgpu::GPUCanvasConfiguration> arg) {
72
- throw std::runtime_error("Invalid GPUCanvasConfiguration::toJSI()");
73
- }
74
- };
75
-
76
- } // namespace rnwgpu
@@ -1,66 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi/JSIConverter.h"
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- namespace rnwgpu {
12
-
13
- struct GPUColor {
14
- double r; // number
15
- double g; // number
16
- double b; // number
17
- double a; // number
18
- };
19
-
20
- } // namespace rnwgpu
21
-
22
- namespace rnwgpu {
23
-
24
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUColor>> {
25
- static std::shared_ptr<rnwgpu::GPUColor>
26
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
27
- auto result = std::make_unique<rnwgpu::GPUColor>();
28
- if (!outOfBounds && arg.isObject()) {
29
- auto value = arg.getObject(runtime);
30
- if (value.isArray(runtime)) {
31
- auto array = value.getArray(runtime);
32
- if (array.size(runtime) >= 4) {
33
- result->r = array.getValueAtIndex(runtime, 0).getNumber();
34
- result->g = array.getValueAtIndex(runtime, 1).getNumber();
35
- result->b = array.getValueAtIndex(runtime, 2).getNumber();
36
- result->a = array.getValueAtIndex(runtime, 3).getNumber();
37
- }
38
- } else {
39
- if (value.hasProperty(runtime, "r")) {
40
- auto prop = value.getProperty(runtime, "r");
41
- result->r = JSIConverter<double>::fromJSI(runtime, prop, false);
42
- }
43
- if (value.hasProperty(runtime, "g")) {
44
- auto prop = value.getProperty(runtime, "g");
45
- result->g = JSIConverter<double>::fromJSI(runtime, prop, false);
46
- }
47
- if (value.hasProperty(runtime, "b")) {
48
- auto prop = value.getProperty(runtime, "b");
49
- result->b = JSIConverter<double>::fromJSI(runtime, prop, false);
50
- }
51
- if (value.hasProperty(runtime, "a")) {
52
- auto prop = value.getProperty(runtime, "a");
53
- result->a = JSIConverter<double>::fromJSI(runtime, prop, false);
54
- }
55
- }
56
- }
57
-
58
- return result;
59
- }
60
- static jsi::Value toJSI(jsi::Runtime &runtime,
61
- std::shared_ptr<rnwgpu::GPUColor> arg) {
62
- throw std::runtime_error("Invalid GPUColor::toJSI()");
63
- }
64
- };
65
-
66
- } // namespace rnwgpu
@@ -1,58 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi/JSIConverter.h"
8
-
9
- #include "GPUBlendState.h"
10
-
11
- namespace jsi = facebook::jsi;
12
-
13
- namespace rnwgpu {
14
-
15
- struct GPUColorTargetState {
16
- wgpu::TextureFormat format; // GPUTextureFormat
17
- std::optional<std::shared_ptr<GPUBlendState>> blend; // GPUBlendState
18
- std::optional<double> writeMask; // GPUColorWriteFlags
19
- };
20
-
21
- } // namespace rnwgpu
22
-
23
- namespace rnwgpu {
24
-
25
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUColorTargetState>> {
26
- static std::shared_ptr<rnwgpu::GPUColorTargetState>
27
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
- auto result = std::make_unique<rnwgpu::GPUColorTargetState>();
29
- if (!outOfBounds && arg.isObject()) {
30
- auto value = arg.getObject(runtime);
31
- if (value.hasProperty(runtime, "format")) {
32
- auto prop = value.getProperty(runtime, "format");
33
- result->format =
34
- JSIConverter<wgpu::TextureFormat>::fromJSI(runtime, prop, false);
35
- }
36
- if (value.hasProperty(runtime, "blend")) {
37
- auto prop = value.getProperty(runtime, "blend");
38
- result->blend = JSIConverter<
39
- std::optional<std::shared_ptr<GPUBlendState>>>::fromJSI(runtime,
40
- prop,
41
- false);
42
- }
43
- if (value.hasProperty(runtime, "writeMask")) {
44
- auto prop = value.getProperty(runtime, "writeMask");
45
- result->writeMask =
46
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
47
- }
48
- }
49
-
50
- return result;
51
- }
52
- static jsi::Value toJSI(jsi::Runtime &runtime,
53
- std::shared_ptr<rnwgpu::GPUColorTargetState> arg) {
54
- throw std::runtime_error("Invalid GPUColorTargetState::toJSI()");
55
- }
56
- };
57
-
58
- } // namespace rnwgpu
@@ -1,29 +0,0 @@
1
- #pragma once
2
-
3
- #include <jsi/jsi.h>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- namespace rnwgpu {
8
-
9
- namespace jsi = facebook::jsi;
10
-
11
- class GPUColorWrite {
12
- public:
13
- static jsi::Object create(jsi::Runtime &runtime) {
14
- jsi::Object obj(runtime);
15
- obj.setProperty(runtime, "RED",
16
- static_cast<double>(wgpu::ColorWriteMask::Red));
17
- obj.setProperty(runtime, "GREEN",
18
- static_cast<double>(wgpu::ColorWriteMask::Green));
19
- obj.setProperty(runtime, "BLUE",
20
- static_cast<double>(wgpu::ColorWriteMask::Blue));
21
- obj.setProperty(runtime, "ALPHA",
22
- static_cast<double>(wgpu::ColorWriteMask::Alpha));
23
- obj.setProperty(runtime, "ALL",
24
- static_cast<double>(wgpu::ColorWriteMask::All));
25
- return obj;
26
- }
27
- };
28
-
29
- } // namespace rnwgpu
@@ -1,45 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- namespace jsi = facebook::jsi;
11
-
12
- namespace rnwgpu {
13
-
14
- struct GPUCommandBufferDescriptor {
15
- std::optional<std::string> label; // string
16
- };
17
-
18
- } // namespace rnwgpu
19
-
20
- namespace rnwgpu {
21
-
22
- template <>
23
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUCommandBufferDescriptor>> {
24
- static std::shared_ptr<rnwgpu::GPUCommandBufferDescriptor>
25
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
26
- auto result = std::make_unique<rnwgpu::GPUCommandBufferDescriptor>();
27
- if (!outOfBounds && arg.isObject()) {
28
- auto value = arg.getObject(runtime);
29
- if (value.hasProperty(runtime, "label")) {
30
- auto prop = value.getProperty(runtime, "label");
31
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
32
- runtime, prop, false);
33
- }
34
- }
35
-
36
- return result;
37
- }
38
- static jsi::Value
39
- toJSI(jsi::Runtime &runtime,
40
- std::shared_ptr<rnwgpu::GPUCommandBufferDescriptor> arg) {
41
- throw std::runtime_error("Invalid GPUCommandBufferDescriptor::toJSI()");
42
- }
43
- };
44
-
45
- } // namespace rnwgpu
@@ -1,45 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- namespace jsi = facebook::jsi;
11
-
12
- namespace rnwgpu {
13
-
14
- struct GPUCommandEncoderDescriptor {
15
- std::optional<std::string> label; // string
16
- };
17
-
18
- } // namespace rnwgpu
19
-
20
- namespace rnwgpu {
21
-
22
- template <>
23
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUCommandEncoderDescriptor>> {
24
- static std::shared_ptr<rnwgpu::GPUCommandEncoderDescriptor>
25
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
26
- auto result = std::make_unique<rnwgpu::GPUCommandEncoderDescriptor>();
27
- if (!outOfBounds && arg.isObject()) {
28
- auto value = arg.getObject(runtime);
29
- if (value.hasProperty(runtime, "label")) {
30
- auto prop = value.getProperty(runtime, "label");
31
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
32
- runtime, prop, false);
33
- }
34
- }
35
-
36
- return result;
37
- }
38
- static jsi::Value
39
- toJSI(jsi::Runtime &runtime,
40
- std::shared_ptr<rnwgpu::GPUCommandEncoderDescriptor> arg) {
41
- throw std::runtime_error("Invalid GPUCommandEncoderDescriptor::toJSI()");
42
- }
43
- };
44
-
45
- } // namespace rnwgpu
@@ -1,56 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- #include "GPUComputePassTimestampWrites.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- struct GPUComputePassDescriptor {
17
- std::optional<std::shared_ptr<GPUComputePassTimestampWrites>>
18
- timestampWrites; // GPUComputePassTimestampWrites
19
- std::optional<std::string> label; // string
20
- };
21
-
22
- } // namespace rnwgpu
23
-
24
- namespace rnwgpu {
25
-
26
- template <>
27
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUComputePassDescriptor>> {
28
- static std::shared_ptr<rnwgpu::GPUComputePassDescriptor>
29
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
30
- auto result = std::make_unique<rnwgpu::GPUComputePassDescriptor>();
31
- if (!outOfBounds && arg.isObject()) {
32
- auto value = arg.getObject(runtime);
33
- if (value.hasProperty(runtime, "timestampWrites")) {
34
- auto prop = value.getProperty(runtime, "timestampWrites");
35
- result->timestampWrites = JSIConverter<std::optional<
36
- std::shared_ptr<GPUComputePassTimestampWrites>>>::fromJSI(runtime,
37
- prop,
38
- false);
39
- }
40
- if (value.hasProperty(runtime, "label")) {
41
- auto prop = value.getProperty(runtime, "label");
42
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
43
- runtime, prop, false);
44
- }
45
- }
46
-
47
- return result;
48
- }
49
- static jsi::Value
50
- toJSI(jsi::Runtime &runtime,
51
- std::shared_ptr<rnwgpu::GPUComputePassDescriptor> arg) {
52
- throw std::runtime_error("Invalid GPUComputePassDescriptor::toJSI()");
53
- }
54
- };
55
-
56
- } // namespace rnwgpu
@@ -1,58 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "webgpu/webgpu_cpp.h"
6
-
7
- #include "jsi/JSIConverter.h"
8
-
9
- #include "rnwgpu/api/GPUQuerySet.h"
10
-
11
- namespace jsi = facebook::jsi;
12
-
13
- namespace rnwgpu {
14
-
15
- struct GPUComputePassTimestampWrites {
16
- std::shared_ptr<GPUQuerySet> querySet; // GPUQuerySet
17
- std::optional<double> beginningOfPassWriteIndex; // GPUSize32
18
- std::optional<double> endOfPassWriteIndex; // GPUSize32
19
- };
20
-
21
- } // namespace rnwgpu
22
-
23
- namespace rnwgpu {
24
-
25
- template <>
26
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUComputePassTimestampWrites>> {
27
- static std::shared_ptr<rnwgpu::GPUComputePassTimestampWrites>
28
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
29
- auto result = std::make_unique<rnwgpu::GPUComputePassTimestampWrites>();
30
- if (!outOfBounds && arg.isObject()) {
31
- auto value = arg.getObject(runtime);
32
- if (value.hasProperty(runtime, "querySet")) {
33
- auto prop = value.getProperty(runtime, "querySet");
34
- result->querySet = JSIConverter<std::shared_ptr<GPUQuerySet>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "beginningOfPassWriteIndex")) {
38
- auto prop = value.getProperty(runtime, "beginningOfPassWriteIndex");
39
- result->beginningOfPassWriteIndex =
40
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
41
- }
42
- if (value.hasProperty(runtime, "endOfPassWriteIndex")) {
43
- auto prop = value.getProperty(runtime, "endOfPassWriteIndex");
44
- result->endOfPassWriteIndex =
45
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
46
- }
47
- }
48
-
49
- return result;
50
- }
51
- static jsi::Value
52
- toJSI(jsi::Runtime &runtime,
53
- std::shared_ptr<rnwgpu::GPUComputePassTimestampWrites> arg) {
54
- throw std::runtime_error("Invalid GPUComputePassTimestampWrites::toJSI()");
55
- }
56
- };
57
-
58
- } // namespace rnwgpu
@@ -1,67 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- #include "GPUProgrammableStage.h"
11
- #include "rnwgpu/api/GPUPipelineLayout.h"
12
-
13
- namespace jsi = facebook::jsi;
14
-
15
- namespace rnwgpu {
16
-
17
- struct GPUComputePipelineDescriptor {
18
- std::shared_ptr<GPUProgrammableStage> compute; // GPUProgrammableStage
19
- std::variant<std::nullptr_t, std::shared_ptr<GPUPipelineLayout>>
20
- layout; // | GPUPipelineLayout | GPUAutoLayoutMode
21
- std::optional<std::string> label; // string
22
- };
23
-
24
- } // namespace rnwgpu
25
-
26
- namespace rnwgpu {
27
-
28
- template <>
29
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUComputePipelineDescriptor>> {
30
- static std::shared_ptr<rnwgpu::GPUComputePipelineDescriptor>
31
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
32
- auto result = std::make_unique<rnwgpu::GPUComputePipelineDescriptor>();
33
- if (!outOfBounds && arg.isObject()) {
34
- auto value = arg.getObject(runtime);
35
- if (value.hasProperty(runtime, "compute")) {
36
- auto prop = value.getProperty(runtime, "compute");
37
- result->compute =
38
- JSIConverter<std::shared_ptr<GPUProgrammableStage>>::fromJSI(
39
- runtime, prop, false);
40
- }
41
- if (value.hasProperty(runtime, "layout")) {
42
- auto prop = value.getProperty(runtime, "layout");
43
- if (prop.isNull() || prop.isString()) {
44
- result->layout = nullptr;
45
- } else {
46
- result->layout =
47
- JSIConverter<std::shared_ptr<GPUPipelineLayout>>::fromJSI(
48
- runtime, prop, false);
49
- }
50
- }
51
- if (value.hasProperty(runtime, "label")) {
52
- auto prop = value.getProperty(runtime, "label");
53
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
54
- runtime, prop, false);
55
- }
56
- }
57
-
58
- return result;
59
- }
60
- static jsi::Value
61
- toJSI(jsi::Runtime &runtime,
62
- std::shared_ptr<rnwgpu::GPUComputePipelineDescriptor> arg) {
63
- throw std::runtime_error("Invalid GPUComputePipelineDescriptor::toJSI()");
64
- }
65
- };
66
-
67
- } // namespace rnwgpu