@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,60 +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 "rnwgpu/api/GPUPipelineLayout.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- struct GPUShaderModuleCompilationHint {
17
- std::string entryPoint; // string
18
- std::optional<
19
- std::variant<std::nullptr_t, std::shared_ptr<GPUPipelineLayout>>>
20
- layout; // | GPUPipelineLayout | GPUAutoLayoutMode
21
- };
22
-
23
- } // namespace rnwgpu
24
-
25
- namespace rnwgpu {
26
-
27
- template <>
28
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUShaderModuleCompilationHint>> {
29
- static std::shared_ptr<rnwgpu::GPUShaderModuleCompilationHint>
30
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
31
- auto result = std::make_unique<rnwgpu::GPUShaderModuleCompilationHint>();
32
- if (!outOfBounds && arg.isObject()) {
33
- auto value = arg.getObject(runtime);
34
- if (value.hasProperty(runtime, "entryPoint")) {
35
- auto prop = value.getProperty(runtime, "entryPoint");
36
- result->entryPoint =
37
- JSIConverter<std::string>::fromJSI(runtime, prop, false);
38
- }
39
- if (value.hasProperty(runtime, "layout")) {
40
- auto prop = value.getProperty(runtime, "layout");
41
- if (prop.isNull() || prop.isString()) {
42
- result->layout = nullptr;
43
- } else {
44
- result->layout =
45
- JSIConverter<std::shared_ptr<GPUPipelineLayout>>::fromJSI(
46
- runtime, prop, false);
47
- }
48
- }
49
- }
50
-
51
- return result;
52
- }
53
- static jsi::Value
54
- toJSI(jsi::Runtime &runtime,
55
- std::shared_ptr<rnwgpu::GPUShaderModuleCompilationHint> arg) {
56
- throw std::runtime_error("Invalid GPUShaderModuleCompilationHint::toJSI()");
57
- }
58
- };
59
-
60
- } // namespace rnwgpu
@@ -1,62 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <vector>
6
-
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- #include "jsi/JSIConverter.h"
10
-
11
- #include "GPUShaderModuleCompilationHint.h"
12
-
13
- namespace jsi = facebook::jsi;
14
-
15
- namespace rnwgpu {
16
-
17
- struct GPUShaderModuleDescriptor {
18
- std::string code; // string
19
- std::optional<std::vector<std::shared_ptr<GPUShaderModuleCompilationHint>>>
20
- compilationHints; // Array<GPUShaderModuleCompilationHint>
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::GPUShaderModuleDescriptor>> {
30
- static std::shared_ptr<rnwgpu::GPUShaderModuleDescriptor>
31
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
32
- auto result = std::make_unique<rnwgpu::GPUShaderModuleDescriptor>();
33
- if (!outOfBounds && arg.isObject()) {
34
- auto value = arg.getObject(runtime);
35
- if (value.hasProperty(runtime, "code")) {
36
- auto prop = value.getProperty(runtime, "code");
37
- result->code = JSIConverter<std::string>::fromJSI(runtime, prop, false);
38
- }
39
- if (value.hasProperty(runtime, "compilationHints")) {
40
- auto prop = value.getProperty(runtime, "compilationHints");
41
- result->compilationHints = JSIConverter<std::optional<std::vector<
42
- std::shared_ptr<GPUShaderModuleCompilationHint>>>>::fromJSI(runtime,
43
- prop,
44
- false);
45
- }
46
- if (value.hasProperty(runtime, "label")) {
47
- auto prop = value.getProperty(runtime, "label");
48
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
49
- runtime, prop, false);
50
- }
51
- }
52
-
53
- return result;
54
- }
55
- static jsi::Value
56
- toJSI(jsi::Runtime &runtime,
57
- std::shared_ptr<rnwgpu::GPUShaderModuleDescriptor> arg) {
58
- throw std::runtime_error("Invalid GPUShaderModuleDescriptor::toJSI()");
59
- }
60
- };
61
-
62
- } // namespace rnwgpu
@@ -1,25 +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 GPUShaderStage {
12
- public:
13
- static jsi::Object create(jsi::Runtime &runtime) {
14
- jsi::Object obj(runtime);
15
- obj.setProperty(runtime, "VERTEX",
16
- static_cast<double>(wgpu::ShaderStage::Vertex));
17
- obj.setProperty(runtime, "FRAGMENT",
18
- static_cast<double>(wgpu::ShaderStage::Fragment));
19
- obj.setProperty(runtime, "COMPUTE",
20
- static_cast<double>(wgpu::ShaderStage::Compute));
21
- return obj;
22
- }
23
- };
24
-
25
- } // namespace rnwgpu
@@ -1,58 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <optional>
5
- #include <string>
6
-
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- #include "jsi/JSIConverter.h"
10
-
11
- namespace jsi = facebook::jsi;
12
-
13
- namespace rnwgpu {
14
-
15
- // Descriptor for GPUDevice.importSharedFence. `handle` is the native handle
16
- // (an id<MTLSharedEvent> pointer on Apple, an OS file descriptor on Android),
17
- // passed from JS as a BigInt.
18
- struct GPUSharedFenceDescriptor {
19
- std::string type;
20
- void *handle = nullptr;
21
- std::optional<std::string> label;
22
- };
23
-
24
- } // namespace rnwgpu
25
-
26
- namespace rnwgpu {
27
-
28
- template <>
29
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUSharedFenceDescriptor>> {
30
- static std::shared_ptr<rnwgpu::GPUSharedFenceDescriptor>
31
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
32
- auto result = std::make_unique<rnwgpu::GPUSharedFenceDescriptor>();
33
- if (!outOfBounds && arg.isObject()) {
34
- auto value = arg.getObject(runtime);
35
- if (value.hasProperty(runtime, "type")) {
36
- result->type =
37
- value.getProperty(runtime, "type").asString(runtime).utf8(runtime);
38
- }
39
- if (value.hasProperty(runtime, "handle")) {
40
- auto prop = value.getProperty(runtime, "handle");
41
- result->handle = JSIConverter<void *>::fromJSI(runtime, prop, false);
42
- }
43
- if (value.hasProperty(runtime, "label")) {
44
- auto prop = value.getProperty(runtime, "label");
45
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
46
- runtime, prop, false);
47
- }
48
- }
49
- return result;
50
- }
51
- static jsi::Value
52
- toJSI(jsi::Runtime & /*runtime*/,
53
- std::shared_ptr<rnwgpu::GPUSharedFenceDescriptor> /*arg*/) {
54
- throw std::runtime_error("Invalid GPUSharedFenceDescriptor::toJSI()");
55
- }
56
- };
57
-
58
- } // namespace rnwgpu
@@ -1,51 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
- #include <memory>
5
-
6
- #include "webgpu/webgpu_cpp.h"
7
-
8
- #include "jsi/JSIConverter.h"
9
-
10
- #include "rnwgpu/api/GPUSharedFence.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- // A fence and the timeline value to wait for / signal at.
17
- struct GPUSharedFenceState {
18
- std::shared_ptr<GPUSharedFence> fence;
19
- uint64_t signaledValue = 0;
20
- };
21
-
22
- } // namespace rnwgpu
23
-
24
- namespace rnwgpu {
25
-
26
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUSharedFenceState>> {
27
- static std::shared_ptr<rnwgpu::GPUSharedFenceState>
28
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
29
- auto result = std::make_unique<rnwgpu::GPUSharedFenceState>();
30
- if (!outOfBounds && arg.isObject()) {
31
- auto value = arg.getObject(runtime);
32
- if (value.hasProperty(runtime, "fence")) {
33
- auto prop = value.getProperty(runtime, "fence");
34
- result->fence = JSIConverter<std::shared_ptr<GPUSharedFence>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "signaledValue")) {
38
- auto prop = value.getProperty(runtime, "signaledValue");
39
- result->signaledValue =
40
- JSIConverter<uint64_t>::fromJSI(runtime, prop, false);
41
- }
42
- }
43
- return result;
44
- }
45
- static jsi::Value toJSI(jsi::Runtime &runtime,
46
- std::shared_ptr<rnwgpu::GPUSharedFenceState> arg) {
47
- throw std::runtime_error("Invalid GPUSharedFenceState::toJSI()");
48
- }
49
- };
50
-
51
- } // namespace rnwgpu
@@ -1,73 +0,0 @@
1
- #pragma once
2
-
3
- #include <cstdint>
4
- #include <memory>
5
- #include <optional>
6
- #include <string>
7
-
8
- #include "webgpu/webgpu_cpp.h"
9
-
10
- #include "jsi/JSIConverter.h"
11
-
12
- namespace jsi = facebook::jsi;
13
-
14
- namespace rnwgpu {
15
-
16
- // Descriptor for GPUDevice.importSharedTextureMemory.
17
- //
18
- // `handle` is a native buffer pointer as a uintptr_t (passed as a BigInt from
19
- // JS), i.e. the value returned by Skia.NativeBuffer.MakeFromImage:
20
- // - Apple platforms: CVPixelBufferRef (its backing IOSurface is imported)
21
- // - Android: AHardwareBuffer*
22
- //
23
- // Lifetime: the caller is responsible for keeping the underlying object alive
24
- // (via Skia.NativeBuffer.Release) for as long as this shared memory is in use.
25
- struct GPUSharedTextureMemoryDescriptor {
26
- uint64_t handle = 0;
27
- std::optional<std::string> label;
28
- };
29
-
30
- } // namespace rnwgpu
31
-
32
- namespace rnwgpu {
33
-
34
- template <>
35
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUSharedTextureMemoryDescriptor>> {
36
- static std::shared_ptr<rnwgpu::GPUSharedTextureMemoryDescriptor>
37
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
38
- auto result = std::make_shared<rnwgpu::GPUSharedTextureMemoryDescriptor>();
39
- if (!outOfBounds && arg.isObject()) {
40
- auto value = arg.getObject(runtime);
41
- if (value.hasProperty(runtime, "handle")) {
42
- auto prop = value.getProperty(runtime, "handle");
43
- // The native buffer pointer arrives as a BigInt (uintptr_t value). It
44
- // must be a BigInt: a JS number can't represent a 64-bit pointer
45
- // without truncation, so we reject it rather than corrupt the address.
46
- if (prop.isBigInt()) {
47
- result->handle = prop.asBigInt(runtime).asUint64(runtime);
48
- } else if (!prop.isUndefined() && !prop.isNull()) {
49
- throw jsi::JSError(
50
- runtime, "GPUSharedTextureMemoryDescriptor.handle must be a "
51
- "NativeBuffer (BigInt) from "
52
- "Skia.NativeBuffer.MakeFromImage / MakeTestBuffer");
53
- }
54
- }
55
- if (value.hasProperty(runtime, "label")) {
56
- auto prop = value.getProperty(runtime, "label");
57
- if (!prop.isUndefined()) {
58
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
59
- runtime, prop, false);
60
- }
61
- }
62
- }
63
- return result;
64
- }
65
- static jsi::Value
66
- toJSI(jsi::Runtime & /*runtime*/,
67
- std::shared_ptr<rnwgpu::GPUSharedTextureMemoryDescriptor> /*arg*/) {
68
- throw std::runtime_error(
69
- "Invalid GPUSharedTextureMemoryDescriptor::toJSI()");
70
- }
71
- };
72
-
73
- } // namespace rnwgpu
@@ -1,64 +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 GPUStencilFaceState {
14
- std::optional<wgpu::CompareFunction> compare; // GPUCompareFunction
15
- std::optional<wgpu::StencilOperation> failOp; // GPUStencilOperation
16
- std::optional<wgpu::StencilOperation> depthFailOp; // GPUStencilOperation
17
- std::optional<wgpu::StencilOperation> passOp; // GPUStencilOperation
18
- };
19
-
20
- } // namespace rnwgpu
21
-
22
- namespace rnwgpu {
23
-
24
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUStencilFaceState>> {
25
- static std::shared_ptr<rnwgpu::GPUStencilFaceState>
26
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
27
- auto result = std::make_unique<rnwgpu::GPUStencilFaceState>();
28
- if (!outOfBounds && arg.isObject()) {
29
- auto value = arg.getObject(runtime);
30
- if (value.hasProperty(runtime, "compare")) {
31
- auto prop = value.getProperty(runtime, "compare");
32
- result->compare =
33
- JSIConverter<std::optional<wgpu::CompareFunction>>::fromJSI(
34
- runtime, prop, false);
35
- }
36
- if (value.hasProperty(runtime, "failOp")) {
37
- auto prop = value.getProperty(runtime, "failOp");
38
- result->failOp =
39
- JSIConverter<std::optional<wgpu::StencilOperation>>::fromJSI(
40
- runtime, prop, false);
41
- }
42
- if (value.hasProperty(runtime, "depthFailOp")) {
43
- auto prop = value.getProperty(runtime, "depthFailOp");
44
- result->depthFailOp =
45
- JSIConverter<std::optional<wgpu::StencilOperation>>::fromJSI(
46
- runtime, prop, false);
47
- }
48
- if (value.hasProperty(runtime, "passOp")) {
49
- auto prop = value.getProperty(runtime, "passOp");
50
- result->passOp =
51
- JSIConverter<std::optional<wgpu::StencilOperation>>::fromJSI(
52
- runtime, prop, false);
53
- }
54
- }
55
-
56
- return result;
57
- }
58
- static jsi::Value toJSI(jsi::Runtime &runtime,
59
- std::shared_ptr<rnwgpu::GPUStencilFaceState> arg) {
60
- throw std::runtime_error("Invalid GPUStencilFaceState::toJSI()");
61
- }
62
- };
63
-
64
- } // namespace rnwgpu
@@ -1,59 +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 GPUStorageTextureBindingLayout {
14
- std::optional<wgpu::StorageTextureAccess> access; // GPUStorageTextureAccess
15
- wgpu::TextureFormat format; // GPUTextureFormat
16
- std::optional<wgpu::TextureViewDimension>
17
- viewDimension; // GPUTextureViewDimension
18
- };
19
-
20
- } // namespace rnwgpu
21
-
22
- namespace rnwgpu {
23
-
24
- template <>
25
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUStorageTextureBindingLayout>> {
26
- static std::shared_ptr<rnwgpu::GPUStorageTextureBindingLayout>
27
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
- auto result = std::make_unique<rnwgpu::GPUStorageTextureBindingLayout>();
29
- if (!outOfBounds && arg.isObject()) {
30
- auto value = arg.getObject(runtime);
31
- if (value.hasProperty(runtime, "access")) {
32
- auto prop = value.getProperty(runtime, "access");
33
- result->access =
34
- JSIConverter<std::optional<wgpu::StorageTextureAccess>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "format")) {
38
- auto prop = value.getProperty(runtime, "format");
39
- result->format =
40
- JSIConverter<wgpu::TextureFormat>::fromJSI(runtime, prop, false);
41
- }
42
- if (value.hasProperty(runtime, "viewDimension")) {
43
- auto prop = value.getProperty(runtime, "viewDimension");
44
- result->viewDimension =
45
- JSIConverter<std::optional<wgpu::TextureViewDimension>>::fromJSI(
46
- runtime, prop, false);
47
- }
48
- }
49
-
50
- return result;
51
- }
52
- static jsi::Value
53
- toJSI(jsi::Runtime &runtime,
54
- std::shared_ptr<rnwgpu::GPUStorageTextureBindingLayout> arg) {
55
- throw std::runtime_error("Invalid GPUStorageTextureBindingLayout::toJSI()");
56
- }
57
- };
58
-
59
- } // namespace rnwgpu
@@ -1,59 +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 GPUTextureBindingLayout {
14
- std::optional<wgpu::TextureSampleType> sampleType; // GPUTextureSampleType
15
- std::optional<wgpu::TextureViewDimension>
16
- viewDimension; // GPUTextureViewDimension
17
- std::optional<bool> multisampled; // boolean
18
- };
19
-
20
- } // namespace rnwgpu
21
-
22
- namespace rnwgpu {
23
-
24
- template <>
25
- struct JSIConverter<std::shared_ptr<rnwgpu::GPUTextureBindingLayout>> {
26
- static std::shared_ptr<rnwgpu::GPUTextureBindingLayout>
27
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
28
- auto result = std::make_unique<rnwgpu::GPUTextureBindingLayout>();
29
- if (!outOfBounds && arg.isObject()) {
30
- auto value = arg.getObject(runtime);
31
- if (value.hasProperty(runtime, "sampleType")) {
32
- auto prop = value.getProperty(runtime, "sampleType");
33
- result->sampleType =
34
- JSIConverter<std::optional<wgpu::TextureSampleType>>::fromJSI(
35
- runtime, prop, false);
36
- }
37
- if (value.hasProperty(runtime, "viewDimension")) {
38
- auto prop = value.getProperty(runtime, "viewDimension");
39
- result->viewDimension =
40
- JSIConverter<std::optional<wgpu::TextureViewDimension>>::fromJSI(
41
- runtime, prop, false);
42
- }
43
- if (value.hasProperty(runtime, "multisampled")) {
44
- auto prop = value.getProperty(runtime, "multisampled");
45
- result->multisampled =
46
- JSIConverter<std::optional<bool>>::fromJSI(runtime, prop, false);
47
- }
48
- }
49
-
50
- return result;
51
- }
52
- static jsi::Value
53
- toJSI(jsi::Runtime &runtime,
54
- std::shared_ptr<rnwgpu::GPUTextureBindingLayout> arg) {
55
- throw std::runtime_error("Invalid GPUTextureBindingLayout::toJSI()");
56
- }
57
- };
58
-
59
- } // namespace rnwgpu
@@ -1,91 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <vector>
6
-
7
- #include "webgpu/webgpu_cpp.h"
8
-
9
- #include "jsi/JSIConverter.h"
10
-
11
- #include "rnwgpu/api/GPUExtent3D.h"
12
-
13
- namespace jsi = facebook::jsi;
14
-
15
- namespace rnwgpu {
16
-
17
- struct GPUTextureDescriptor {
18
- std::shared_ptr<GPUExtent3D> size; // GPUExtent3DStrict
19
- std::optional<double> mipLevelCount; // GPUIntegerCoordinate
20
- std::optional<double> sampleCount; // GPUSize32
21
- std::optional<wgpu::TextureDimension> dimension; // GPUTextureDimension
22
- wgpu::TextureFormat format; // GPUTextureFormat
23
- double usage; // GPUTextureUsageFlags
24
- std::optional<std::vector<wgpu::TextureFormat>>
25
- viewFormats; // Iterable<GPUTextureFormat>
26
- std::optional<std::string> label; // string
27
- };
28
-
29
- } // namespace rnwgpu
30
-
31
- namespace rnwgpu {
32
-
33
- template <> struct JSIConverter<std::shared_ptr<rnwgpu::GPUTextureDescriptor>> {
34
- static std::shared_ptr<rnwgpu::GPUTextureDescriptor>
35
- fromJSI(jsi::Runtime &runtime, const jsi::Value &arg, bool outOfBounds) {
36
- auto result = std::make_unique<rnwgpu::GPUTextureDescriptor>();
37
- if (!outOfBounds && arg.isObject()) {
38
- auto value = arg.getObject(runtime);
39
- if (value.hasProperty(runtime, "size")) {
40
- auto prop = value.getProperty(runtime, "size");
41
- result->size = JSIConverter<std::shared_ptr<GPUExtent3D>>::fromJSI(
42
- runtime, prop, false);
43
- }
44
- if (value.hasProperty(runtime, "mipLevelCount")) {
45
- auto prop = value.getProperty(runtime, "mipLevelCount");
46
- result->mipLevelCount =
47
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
48
- }
49
- if (value.hasProperty(runtime, "sampleCount")) {
50
- auto prop = value.getProperty(runtime, "sampleCount");
51
- result->sampleCount =
52
- JSIConverter<std::optional<double>>::fromJSI(runtime, prop, false);
53
- }
54
- if (value.hasProperty(runtime, "dimension")) {
55
- auto prop = value.getProperty(runtime, "dimension");
56
- result->dimension =
57
- JSIConverter<std::optional<wgpu::TextureDimension>>::fromJSI(
58
- runtime, prop, false);
59
- }
60
- if (value.hasProperty(runtime, "format")) {
61
- auto prop = value.getProperty(runtime, "format");
62
- result->format =
63
- JSIConverter<wgpu::TextureFormat>::fromJSI(runtime, prop, false);
64
- }
65
- if (value.hasProperty(runtime, "usage")) {
66
- auto prop = value.getProperty(runtime, "usage");
67
- result->usage = JSIConverter<double>::fromJSI(runtime, prop, false);
68
- }
69
- if (value.hasProperty(runtime, "viewFormats")) {
70
- auto prop = value.getProperty(runtime, "viewFormats");
71
- result->viewFormats = JSIConverter<
72
- std::optional<std::vector<wgpu::TextureFormat>>>::fromJSI(runtime,
73
- prop,
74
- false);
75
- }
76
- if (value.hasProperty(runtime, "label")) {
77
- auto prop = value.getProperty(runtime, "label");
78
- result->label = JSIConverter<std::optional<std::string>>::fromJSI(
79
- runtime, prop, false);
80
- }
81
- }
82
-
83
- return result;
84
- }
85
- static jsi::Value toJSI(jsi::Runtime &runtime,
86
- std::shared_ptr<rnwgpu::GPUTextureDescriptor> arg) {
87
- throw std::runtime_error("Invalid GPUTextureDescriptor::toJSI()");
88
- }
89
- };
90
-
91
- } // 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 GPUTextureUsage {
12
- public:
13
- static jsi::Object create(jsi::Runtime &runtime) {
14
- jsi::Object obj(runtime);
15
- obj.setProperty(runtime, "COPY_SRC",
16
- static_cast<double>(wgpu::TextureUsage::CopySrc));
17
- obj.setProperty(runtime, "COPY_DST",
18
- static_cast<double>(wgpu::TextureUsage::CopyDst));
19
- obj.setProperty(runtime, "TEXTURE_BINDING",
20
- static_cast<double>(wgpu::TextureUsage::TextureBinding));
21
- obj.setProperty(runtime, "STORAGE_BINDING",
22
- static_cast<double>(wgpu::TextureUsage::StorageBinding));
23
- obj.setProperty(runtime, "RENDER_ATTACHMENT",
24
- static_cast<double>(wgpu::TextureUsage::RenderAttachment));
25
- return obj;
26
- }
27
- };
28
-
29
- } // namespace rnwgpu