@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
@@ -2,10 +2,13 @@
2
2
 
3
3
  #include <memory>
4
4
  #include <utility>
5
+ #include <variant>
5
6
 
6
7
  #include <jsi/jsi.h>
7
8
 
9
+ #include "JsiSkConverters.h"
8
10
  #include "JsiSkData.h"
11
+ #include "JsiSkFontMgrFactory.h"
9
12
  #include "JsiSkNativeObjects.h"
10
13
  #include "JsiSkTypeface.h"
11
14
 
@@ -17,22 +20,21 @@ class JsiSkTypefaceFactory : public JsiSkNativeObject<JsiSkTypefaceFactory> {
17
20
  public:
18
21
  static constexpr const char *CLASS_NAME = "TypefaceFactory";
19
22
 
20
- JSI_HOST_FUNCTION(MakeFreeTypeFaceFromData) {
21
- auto data = JsiSkData::fromValue(runtime, arguments[0]);
23
+ std::variant<std::nullptr_t, std::shared_ptr<JsiSkTypeface>>
24
+ MakeFreeTypeFaceFromData(sk_sp<SkData> data) {
22
25
  auto fontMgr = JsiSkFontMgrFactory::getFontMgr(getContext());
23
26
  auto typeface = fontMgr->makeFromData(std::move(data));
24
27
  if (typeface == nullptr) {
25
- return jsi::Value::null();
28
+ return nullptr;
26
29
  }
27
- return makeJsiObject(runtime, std::make_shared<JsiSkTypeface>(
28
- getContext(), std::move(typeface)));
30
+ return std::make_shared<JsiSkTypeface>(getContext(), std::move(typeface));
29
31
  }
30
32
 
31
33
  size_t getMemoryPressure() override { return 1024; }
32
34
 
33
35
  static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
34
- installHostMethod(runtime, prototype, "MakeFreeTypeFaceFromData",
35
- &JsiSkTypefaceFactory::MakeFreeTypeFaceFromData);
36
+ installMethod(runtime, prototype, "MakeFreeTypeFaceFromData",
37
+ &JsiSkTypefaceFactory::MakeFreeTypeFaceFromData);
36
38
  }
37
39
 
38
40
  explicit JsiSkTypefaceFactory(std::shared_ptr<RNSkPlatformContext> context)
@@ -1,10 +1,13 @@
1
1
  #pragma once
2
2
 
3
3
  #include <memory>
4
+ #include <optional>
5
+ #include <string>
4
6
  #include <utility>
5
7
 
6
8
  #include <jsi/jsi.h>
7
9
 
10
+ #include "JsiSkConverters.h"
8
11
  #include "JsiSkFontStyle.h"
9
12
  #include "JsiSkNativeObjects.h"
10
13
  #include "JsiSkTypeface.h"
@@ -30,18 +33,16 @@ class JsiSkTypefaceFontProvider
30
33
  public:
31
34
  static constexpr const char *CLASS_NAME = "TypefaceFontProvider";
32
35
 
33
- JSI_HOST_FUNCTION(registerFont) {
34
- sk_sp<SkTypeface> typeface =
35
- JsiSkTypeface::fromValue(runtime, arguments[0]);
36
- SkString familyName(arguments[1].asString(runtime).utf8(runtime).c_str());
36
+ void registerFont(sk_sp<SkTypeface> typeface, std::string familyNameStr) {
37
+ SkString familyName(familyNameStr.c_str());
37
38
  getObject()->registerTypeface(typeface, familyName);
38
- return jsi::Value::undefined();
39
39
  }
40
40
 
41
- JSI_HOST_FUNCTION(matchFamilyStyle) {
42
- auto name = count > 0 ? arguments[0].asString(runtime).utf8(runtime) : "";
43
- auto fontStyle =
44
- count > 1 ? JsiSkFontStyle::fromValue(runtime, arguments[1]) : nullptr;
41
+ std::shared_ptr<JsiSkTypeface>
42
+ matchFamilyStyle(std::optional<std::string> nameParam,
43
+ std::optional<std::shared_ptr<SkFontStyle>> fontStyleParam) {
44
+ auto name = nameParam.value_or("");
45
+ auto fontStyle = fontStyleParam.value_or(nullptr);
45
46
  if (name == "" || fontStyle == nullptr) {
46
47
  throw std::runtime_error("matchFamilyStyle requires a name and a style");
47
48
  }
@@ -53,17 +54,15 @@ public:
53
54
  if (!typeface) {
54
55
  throw std::runtime_error("Could not find font style for " + name);
55
56
  }
56
- return makeJsiObject(runtime, std::make_shared<JsiSkTypeface>(
57
- getContext(), std::move(typeface)));
57
+ return std::make_shared<JsiSkTypeface>(getContext(), std::move(typeface));
58
58
  }
59
59
 
60
- JSI_HOST_FUNCTION(countFamilies) { return getObject()->countFamilies(); }
60
+ int countFamilies() { return getObject()->countFamilies(); }
61
61
 
62
- JSI_HOST_FUNCTION(getFamilyName) {
63
- auto i = static_cast<int>(arguments[0].asNumber());
62
+ std::string getFamilyName(int i) {
64
63
  SkString name;
65
64
  getObject()->getFamilyName(i, &name);
66
- return jsi::String::createFromUtf8(runtime, name.c_str());
65
+ return std::string(name.c_str());
67
66
  }
68
67
 
69
68
  JsiSkTypefaceFontProvider(std::shared_ptr<RNSkPlatformContext> context,
@@ -92,14 +91,14 @@ public:
92
91
 
93
92
  static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
94
93
  installCommon(runtime, prototype);
95
- installHostMethod(runtime, prototype, "registerFont",
96
- &JsiSkTypefaceFontProvider::registerFont);
97
- installHostMethod(runtime, prototype, "matchFamilyStyle",
98
- &JsiSkTypefaceFontProvider::matchFamilyStyle);
99
- installHostMethod(runtime, prototype, "countFamilies",
100
- &JsiSkTypefaceFontProvider::countFamilies);
101
- installHostMethod(runtime, prototype, "getFamilyName",
102
- &JsiSkTypefaceFontProvider::getFamilyName);
94
+ installMethod(runtime, prototype, "registerFont",
95
+ &JsiSkTypefaceFontProvider::registerFont);
96
+ installMethod(runtime, prototype, "matchFamilyStyle",
97
+ &JsiSkTypefaceFontProvider::matchFamilyStyle);
98
+ installMethod(runtime, prototype, "countFamilies",
99
+ &JsiSkTypefaceFontProvider::countFamilies);
100
+ installMethod(runtime, prototype, "getFamilyName",
101
+ &JsiSkTypefaceFontProvider::getFamilyName);
103
102
  }
104
103
  };
105
104
 
@@ -19,17 +19,16 @@ class JsiSkTypefaceFontProviderFactory
19
19
  public:
20
20
  static constexpr const char *CLASS_NAME = "TypefaceFontProviderFactory";
21
21
 
22
- JSI_HOST_FUNCTION(Make) {
23
- return makeJsiObject(
24
- runtime, std::make_shared<JsiSkTypefaceFontProvider>(
25
- getContext(), sk_make_sp<para::TypefaceFontProvider>()));
22
+ std::shared_ptr<JsiSkTypefaceFontProvider> Make() {
23
+ return std::make_shared<JsiSkTypefaceFontProvider>(
24
+ getContext(), sk_make_sp<para::TypefaceFontProvider>());
26
25
  }
27
26
 
28
27
  size_t getMemoryPressure() override { return 2048; }
29
28
 
30
29
  static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
31
- installHostMethod(runtime, prototype, "Make",
32
- &JsiSkTypefaceFontProviderFactory::Make);
30
+ installMethod(runtime, prototype, "Make",
31
+ &JsiSkTypefaceFontProviderFactory::Make);
33
32
  }
34
33
 
35
34
  explicit JsiSkTypefaceFontProviderFactory(
@@ -6,6 +6,7 @@
6
6
  #include <vector>
7
7
 
8
8
  #include "JsiSkNativeObjects.h"
9
+ #include "JsiSkRect.h"
9
10
 
10
11
  #pragma clang diagnostic push
11
12
  #pragma clang diagnostic ignored "-Wdocumentation"
@@ -28,15 +29,12 @@ public:
28
29
  : JsiSkWrappingSkPtrNativeObject<JsiSkVertices, SkVertices>(
29
30
  std::move(context), std::move(vertices)) {}
30
31
 
31
- JSI_HOST_FUNCTION(bounds) {
32
+ std::shared_ptr<JsiSkRect> bounds() {
32
33
  const auto &result = getObject()->bounds();
33
- return makeJsiObject(runtime,
34
- std::make_shared<JsiSkRect>(getContext(), result));
34
+ return std::make_shared<JsiSkRect>(getContext(), result);
35
35
  }
36
36
 
37
- JSI_HOST_FUNCTION(uniqueID) {
38
- return static_cast<double>(getObject()->uniqueID());
39
- }
37
+ double uniqueID() { return static_cast<double>(getObject()->uniqueID()); }
40
38
 
41
39
  size_t getMemoryPressure() override {
42
40
  auto vertices = getObject();
@@ -54,8 +52,8 @@ public:
54
52
 
55
53
  static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
56
54
  installCommon(runtime, prototype);
57
- installHostMethod(runtime, prototype, "bounds", &JsiSkVertices::bounds);
58
- installHostMethod(runtime, prototype, "uniqueID", &JsiSkVertices::uniqueID);
55
+ installMethod(runtime, prototype, "bounds", &JsiSkVertices::bounds);
56
+ installMethod(runtime, prototype, "uniqueID", &JsiSkVertices::uniqueID);
59
57
  }
60
58
 
61
59
  /**
@@ -3,8 +3,10 @@
3
3
  #include <memory>
4
4
  #include <numeric>
5
5
  #include <utility>
6
+ #include <variant>
6
7
  #include <vector>
7
8
 
9
+ #include "JsiSkConverters.h"
8
10
  #include "JsiSkNativeObjects.h"
9
11
  #include "utils/RNSkLog.h"
10
12
  #include <jsi/jsi.h>
@@ -12,6 +14,7 @@
12
14
  #include "JsiSkPaint.h"
13
15
  #include "JsiSkPoint.h"
14
16
  #include "JsiSkRect.h"
17
+ #include "JsiSkSurface.h"
15
18
  #include "JsiSkTypeface.h"
16
19
 
17
20
  #include "rnskia/RNWindowContext.h"
@@ -33,25 +36,21 @@ class JsiSkiaContext
33
36
  public:
34
37
  static constexpr const char *CLASS_NAME = "SkiaContext";
35
38
 
36
- JSI_HOST_FUNCTION(getSurface) {
39
+ std::variant<std::nullptr_t, std::shared_ptr<JsiSkSurface>> getSurface() {
37
40
  auto surface = getObject()->getSurface();
38
41
  if (surface == nullptr) {
39
- return jsi::Value::null();
42
+ return nullptr;
40
43
  }
41
- return makeJsiObject(runtime, std::make_shared<JsiSkSurface>(
42
- getContext(), std::move(surface)));
44
+ return std::make_shared<JsiSkSurface>(getContext(), std::move(surface));
43
45
  }
44
46
 
45
- JSI_HOST_FUNCTION(present) {
46
- getObject()->present();
47
- return jsi::Value::undefined();
48
- }
47
+ void present() { getObject()->present(); }
49
48
 
50
49
  static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
51
50
  installCommon(runtime, prototype);
52
- installHostMethod(runtime, prototype, "getSurface",
53
- &JsiSkiaContext::getSurface);
54
- installHostMethod(runtime, prototype, "present", &JsiSkiaContext::present);
51
+ installMethod(runtime, prototype, "getSurface",
52
+ &JsiSkiaContext::getSurface);
53
+ installMethod(runtime, prototype, "present", &JsiSkiaContext::present);
55
54
  }
56
55
 
57
56
  JsiSkiaContext(std::shared_ptr<RNSkPlatformContext> context,
@@ -1,29 +1,17 @@
1
1
  #pragma once
2
2
 
3
3
  #include <memory>
4
- #include <numeric>
5
4
  #include <utility>
6
- #include <vector>
5
+ #include <variant>
7
6
 
8
7
  #include "JsiSkNativeObjects.h"
9
- #include "utils/RNSkLog.h"
10
8
  #include <jsi/jsi.h>
11
9
 
12
- #include "JsiSkPaint.h"
13
- #include "JsiSkPoint.h"
14
- #include "JsiSkRect.h"
15
- #include "JsiSkTypeface.h"
10
+ #include "JsiSkConverters.h"
11
+ #include "JsiSkImage.h"
16
12
 
17
13
  #include "rnskia/RNSkVideo.h"
18
14
 
19
- #pragma clang diagnostic push
20
- #pragma clang diagnostic ignored "-Wdocumentation"
21
-
22
- #include "include/core/SkFont.h"
23
- #include "include/core/SkFontMetrics.h"
24
-
25
- #pragma clang diagnostic pop
26
-
27
15
  namespace RNSkia {
28
16
 
29
17
  namespace jsi = facebook::jsi;
@@ -33,83 +21,55 @@ class JsiVideo
33
21
  public:
34
22
  static constexpr const char *CLASS_NAME = "Video";
35
23
 
36
- JSI_HOST_FUNCTION(nextImage) {
24
+ std::variant<std::nullptr_t, std::shared_ptr<JsiSkImage>> nextImage() {
37
25
  double timestamp = 0;
38
- auto video = getObject();
39
- auto image = video->nextImage(&timestamp);
26
+ auto image = getObject()->nextImage(&timestamp);
40
27
  if (!image) {
41
- return jsi::Value::null();
28
+ return nullptr;
42
29
  }
43
- return makeJsiObject(
44
- runtime, std::make_shared<JsiSkImage>(getContext(), std::move(image)));
30
+ return std::make_shared<JsiSkImage>(getContext(), std::move(image));
45
31
  }
46
32
 
47
- JSI_HOST_FUNCTION(duration) { return getObject()->duration(); }
33
+ double duration() { return getObject()->duration(); }
48
34
 
49
- JSI_HOST_FUNCTION(framerate) { return getObject()->framerate(); }
35
+ double framerate() { return getObject()->framerate(); }
50
36
 
51
- JSI_HOST_FUNCTION(currentTime) { return getObject()->currentTime(); }
37
+ double currentTime() { return getObject()->currentTime(); }
52
38
 
53
- JSI_HOST_FUNCTION(isPlaying) { return getObject()->isPlaying(); }
39
+ bool isPlaying() { return getObject()->isPlaying(); }
54
40
 
55
- JSI_HOST_FUNCTION(seek) {
56
- double timestamp = arguments[0].asNumber();
57
- getObject()->seek(timestamp);
58
- return jsi::Value::undefined();
59
- }
41
+ void seek(double timestamp) { getObject()->seek(timestamp); }
60
42
 
61
- JSI_HOST_FUNCTION(rotation) {
62
- auto context = getContext();
63
- auto rot = getObject()->getRotationInDegrees();
64
- return jsi::Value(static_cast<double>(rot));
43
+ double rotation() {
44
+ return static_cast<double>(getObject()->getRotationInDegrees());
65
45
  }
66
46
 
67
- JSI_HOST_FUNCTION(size) {
68
- auto context = getContext();
69
- auto size = getObject()->getSize();
70
- auto result = jsi::Object(runtime);
71
- result.setProperty(runtime, "width", static_cast<double>(size.width()));
72
- result.setProperty(runtime, "height", static_cast<double>(size.height()));
73
- return result;
74
- }
47
+ SkISize size() { return getObject()->getSize(); }
75
48
 
76
- JSI_HOST_FUNCTION(play) {
77
- getObject()->play();
78
- return jsi::Value::undefined();
79
- }
49
+ void play() { getObject()->play(); }
80
50
 
81
- JSI_HOST_FUNCTION(pause) {
82
- getObject()->pause();
83
- return jsi::Value::undefined();
84
- }
51
+ void pause() { getObject()->pause(); }
85
52
 
86
- JSI_HOST_FUNCTION(setVolume) {
87
- auto volume = arguments[0].asNumber();
53
+ void setVolume(double volume) {
88
54
  getObject()->setVolume(static_cast<float>(volume));
89
- return jsi::Value::undefined();
90
55
  }
91
56
 
92
- JSI_HOST_FUNCTION(setLooping) {
93
- auto looping = arguments[0].asBool();
94
- getObject()->setLooping(looping);
95
- return jsi::Value::undefined();
96
- }
57
+ void setLooping(bool looping) { getObject()->setLooping(looping); }
97
58
 
98
59
  static void definePrototype(jsi::Runtime &runtime, jsi::Object &prototype) {
99
60
  installCommon(runtime, prototype);
100
- installHostMethod(runtime, prototype, "nextImage", &JsiVideo::nextImage);
101
- installHostMethod(runtime, prototype, "duration", &JsiVideo::duration);
102
- installHostMethod(runtime, prototype, "framerate", &JsiVideo::framerate);
103
- installHostMethod(runtime, prototype, "currentTime",
104
- &JsiVideo::currentTime);
105
- installHostMethod(runtime, prototype, "isPlaying", &JsiVideo::isPlaying);
106
- installHostMethod(runtime, prototype, "seek", &JsiVideo::seek);
107
- installHostMethod(runtime, prototype, "rotation", &JsiVideo::rotation);
108
- installHostMethod(runtime, prototype, "size", &JsiVideo::size);
109
- installHostMethod(runtime, prototype, "play", &JsiVideo::play);
110
- installHostMethod(runtime, prototype, "pause", &JsiVideo::pause);
111
- installHostMethod(runtime, prototype, "setVolume", &JsiVideo::setVolume);
112
- installHostMethod(runtime, prototype, "setLooping", &JsiVideo::setLooping);
61
+ installMethod(runtime, prototype, "nextImage", &JsiVideo::nextImage);
62
+ installMethod(runtime, prototype, "duration", &JsiVideo::duration);
63
+ installMethod(runtime, prototype, "framerate", &JsiVideo::framerate);
64
+ installMethod(runtime, prototype, "currentTime", &JsiVideo::currentTime);
65
+ installMethod(runtime, prototype, "isPlaying", &JsiVideo::isPlaying);
66
+ installMethod(runtime, prototype, "seek", &JsiVideo::seek);
67
+ installMethod(runtime, prototype, "rotation", &JsiVideo::rotation);
68
+ installMethod(runtime, prototype, "size", &JsiVideo::size);
69
+ installMethod(runtime, prototype, "play", &JsiVideo::play);
70
+ installMethod(runtime, prototype, "pause", &JsiVideo::pause);
71
+ installMethod(runtime, prototype, "setVolume", &JsiVideo::setVolume);
72
+ installMethod(runtime, prototype, "setLooping", &JsiVideo::setLooping);
113
73
  }
114
74
 
115
75
  JsiVideo(std::shared_ptr<RNSkPlatformContext> context,
@@ -0,0 +1,53 @@
1
+ // Copyright 2019 The Dawn & Tint Authors
2
+ //
3
+ // Redistribution and use in source and binary forms, with or without
4
+ // modification, are permitted provided that the following conditions are met:
5
+ //
6
+ // 1. Redistributions of source code must retain the above copyright notice, this
7
+ // list of conditions and the following disclaimer.
8
+ //
9
+ // 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ // this list of conditions and the following disclaimer in the documentation
11
+ // and/or other materials provided with the distribution.
12
+ //
13
+ // 3. Neither the name of the copyright holder nor the names of its
14
+ // contributors may be used to endorse or promote products derived from
15
+ // this software without specific prior written permission.
16
+ //
17
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
+ // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
+ // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
21
+ // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
+ // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23
+ // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24
+ // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25
+ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ #ifndef INCLUDE_DAWN_DAWN_PROC_H_
29
+ #define INCLUDE_DAWN_DAWN_PROC_H_
30
+
31
+ #include <webgpu/webgpu.h>
32
+
33
+ #include "dawn/dawn_proc_table.h"
34
+
35
+ #ifdef __cplusplus
36
+ extern "C" {
37
+ #endif
38
+
39
+ // Sets the static proctable used by libdawn_proc to implement the Dawn entrypoints. Passing NULL
40
+ // for `procs` sets up the null proctable that contains only null function pointers. It is the
41
+ // default value of the proctable. Setting the proctable back to null is good practice when you
42
+ // are done using libdawn_proc since further usage will cause a segfault instead of calling an
43
+ // unexpected function.
44
+ WGPU_EXPORT void dawnProcSetProcs(const DawnProcTable* procs);
45
+
46
+ // Returns the static array of uint8_t of size 20 representing the Dawn version.
47
+ WGPU_EXPORT const uint8_t* dawnProcGetVersion();
48
+
49
+ #ifdef __cplusplus
50
+ } // extern "C"
51
+ #endif
52
+
53
+ #endif // INCLUDE_DAWN_DAWN_PROC_H_