@shopify/react-native-skia 2.6.4 → 2.6.6

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 (338) hide show
  1. package/android/CMakeLists.txt +8 -4
  2. package/android/build.gradle +22 -3
  3. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +62 -0
  4. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerDelegate.java +35 -0
  5. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerInterface.java +17 -0
  6. package/apple/RNSkApplePlatformContext.h +2 -0
  7. package/apple/RNSkApplePlatformContext.mm +71 -0
  8. package/apple/RNWebGPUAppleNativeBuffer.mm +33 -0
  9. package/cpp/api/JsiNativeBuffer.h +9 -1
  10. package/cpp/api/JsiSkAnimatedImageFactory.h +1 -1
  11. package/cpp/api/JsiSkApi.h +2 -2
  12. package/cpp/api/JsiSkCanvas.h +34 -1
  13. package/cpp/api/JsiSkDataFactory.h +1 -1
  14. package/cpp/api/JsiSkFont.h +1 -1
  15. package/cpp/api/JsiSkFontMgr.h +1 -1
  16. package/cpp/api/JsiSkHostObjects.h +3 -3
  17. package/cpp/api/JsiSkImage.h +14 -6
  18. package/cpp/api/JsiSkImageFactory.h +2 -2
  19. package/cpp/api/JsiSkPath.h +1 -1
  20. package/cpp/api/JsiSkPathFactory.h +1 -1
  21. package/cpp/api/JsiSkSurface.h +18 -6
  22. package/cpp/api/JsiSkTypeface.h +1 -1
  23. package/cpp/api/JsiSkTypefaceFontProvider.h +1 -1
  24. package/cpp/api/JsiSkiaContext.h +2 -2
  25. package/cpp/api/JsiTextureInfo.h +1 -1
  26. package/cpp/api/JsiVideo.h +2 -2
  27. package/cpp/api/recorder/Drawings.h +1 -1
  28. package/cpp/api/recorder/JsiRecorder.h +4 -4
  29. package/cpp/api/recorder/RNRecorder.h +1 -1
  30. package/cpp/jsi/ViewProperty.h +1 -1
  31. package/cpp/rnskia/RNDawnContext.h +13 -0
  32. package/cpp/rnskia/RNDawnUtils.h +11 -1
  33. package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
  34. package/cpp/rnskia/RNSkManager.cpp +88 -2
  35. package/cpp/rnskia/RNSkPictureView.h +4 -4
  36. package/cpp/rnskia/RNSkPlatformContext.h +7 -0
  37. package/cpp/rnskia/RNSkView.h +9 -6
  38. package/cpp/rnwgpu/ArrayBuffer.h +51 -7
  39. package/cpp/rnwgpu/api/AppleNativeBuffer.h +22 -0
  40. package/cpp/rnwgpu/api/Convertors.h +33 -11
  41. package/cpp/rnwgpu/api/GPU.cpp +0 -3
  42. package/cpp/rnwgpu/api/GPUAdapter.cpp +37 -7
  43. package/cpp/rnwgpu/api/GPUBuffer.h +1 -1
  44. package/cpp/rnwgpu/api/GPUDevice.cpp +84 -6
  45. package/cpp/rnwgpu/api/GPUDevice.h +12 -0
  46. package/cpp/rnwgpu/api/GPUExternalTexture.cpp +139 -0
  47. package/cpp/rnwgpu/api/GPUExternalTexture.h +52 -2
  48. package/cpp/rnwgpu/api/GPUQueue.cpp +50 -45
  49. package/cpp/rnwgpu/api/GPUShaderModule.cpp +1 -1
  50. package/cpp/rnwgpu/api/GPUSharedFence.cpp +80 -0
  51. package/cpp/rnwgpu/api/GPUSharedFence.h +53 -0
  52. package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +135 -0
  53. package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +75 -0
  54. package/cpp/rnwgpu/api/ImageBitmap.h +62 -0
  55. package/cpp/rnwgpu/api/NativeBufferUtils.h +87 -0
  56. package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +4 -1
  57. package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +1 -1
  58. package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +56 -0
  59. package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +10 -0
  60. package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +43 -24
  61. package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +9 -9
  62. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +1 -1
  63. package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +2 -2
  64. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +58 -0
  65. package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +51 -0
  66. package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +73 -0
  67. package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +1 -1
  68. package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +1 -1
  69. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +1 -1
  70. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +1 -1
  71. package/cpp/skia/include/android/SkAnimatedImage.h +1 -1
  72. package/cpp/skia/include/codec/SkCodec.h +0 -8
  73. package/cpp/skia/include/codec/SkEncodedOrigin.h +1 -1
  74. package/cpp/skia/include/codec/SkPngRustDecoder.h +1 -1
  75. package/cpp/skia/include/core/SkBitmap.h +2 -8
  76. package/cpp/skia/include/core/SkCPURecorder.h +3 -1
  77. package/cpp/skia/include/core/SkCanvasVirtualEnforcer.h +1 -1
  78. package/cpp/skia/include/core/SkColorType.h +5 -3
  79. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  80. package/cpp/skia/include/core/SkCoverageMode.h +1 -1
  81. package/cpp/skia/include/core/SkCubicMap.h +1 -1
  82. package/cpp/skia/include/core/SkExecutor.h +1 -1
  83. package/cpp/skia/include/core/SkFont.h +15 -0
  84. package/cpp/skia/include/core/SkFontArguments.h +6 -1
  85. package/cpp/skia/include/core/SkFontMetrics.h +1 -1
  86. package/cpp/skia/include/core/SkFontMgr.h +36 -1
  87. package/cpp/skia/include/core/SkFontParameters.h +1 -1
  88. package/cpp/skia/include/core/SkFontScanner.h +1 -1
  89. package/cpp/skia/include/core/SkFontTypes.h +1 -1
  90. package/cpp/skia/include/core/SkM44.h +1 -1
  91. package/cpp/skia/include/core/SkMilestone.h +1 -1
  92. package/cpp/skia/include/core/SkOpenTypeSVGDecoder.h +1 -1
  93. package/cpp/skia/include/core/SkPathBuilder.h +10 -4
  94. package/cpp/skia/include/core/SkPathIter.h +1 -1
  95. package/cpp/skia/include/core/SkPathTypes.h +1 -1
  96. package/cpp/skia/include/core/SkPixelRef.h +4 -1
  97. package/cpp/skia/include/core/SkRecorder.h +2 -1
  98. package/cpp/skia/include/core/SkRegion.h +17 -6
  99. package/cpp/skia/include/core/SkSamplingOptions.h +1 -1
  100. package/cpp/skia/include/core/SkSerialProcs.h +8 -1
  101. package/cpp/skia/include/core/SkShader.h +3 -5
  102. package/cpp/skia/include/core/SkSpan.h +1 -1
  103. package/cpp/skia/include/core/SkStream.h +1 -1
  104. package/cpp/skia/include/core/SkStrikeRef.h +80 -0
  105. package/cpp/skia/include/core/SkTileMode.h +1 -1
  106. package/cpp/skia/include/core/SkVertices.h +1 -1
  107. package/cpp/skia/include/core/SkYUVAPixmaps.h +3 -5
  108. package/cpp/skia/include/docs/SkPDFDocument.h +1 -1
  109. package/cpp/skia/include/docs/SkXPSDocument.h +1 -1
  110. package/cpp/skia/include/effects/SkGradient.h +1 -1
  111. package/cpp/skia/include/effects/SkHighContrastFilter.h +1 -1
  112. package/cpp/skia/include/effects/SkRuntimeEffect.h +2 -2
  113. package/cpp/skia/include/effects/SkShaderMaskFilter.h +1 -1
  114. package/cpp/skia/include/effects/SkTrimPathEffect.h +1 -1
  115. package/cpp/skia/include/encode/SkEncoder.h +1 -1
  116. package/cpp/skia/include/encode/SkJpegEncoder.h +1 -1
  117. package/cpp/skia/include/encode/SkPngEncoder.h +1 -1
  118. package/cpp/skia/include/encode/SkPngRustEncoder.h +1 -1
  119. package/cpp/skia/include/encode/SkWebpEncoder.h +1 -1
  120. package/cpp/skia/include/gpu/GpuTypes.h +2 -0
  121. package/cpp/skia/include/gpu/MutableTextureState.h +1 -1
  122. package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +1 -1
  123. package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +6 -62
  124. package/cpp/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +1 -1
  125. package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +1 -1
  126. package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +1 -1
  127. package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +2 -1
  128. package/cpp/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
  129. package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +1 -1
  130. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +1 -1
  131. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +1 -1
  132. package/cpp/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +1 -1
  133. package/cpp/skia/include/gpu/graphite/Context.h +12 -5
  134. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +6 -0
  135. package/cpp/skia/include/gpu/graphite/Image.h +82 -9
  136. package/cpp/skia/include/gpu/graphite/PrecompileContext.h +7 -2
  137. package/cpp/skia/include/gpu/graphite/Recorder.h +6 -4
  138. package/cpp/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +11 -1
  139. package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +1 -0
  140. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +1 -1
  141. package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +1 -1
  142. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
  143. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +1 -1
  144. package/cpp/skia/include/gpu/vk/VulkanTypes.h +1 -1
  145. package/cpp/skia/include/ports/SkCFObject.h +1 -1
  146. package/cpp/skia/include/ports/SkFontMgr_Fontations.h +1 -1
  147. package/cpp/skia/include/ports/SkFontMgr_android_ndk.h +1 -1
  148. package/cpp/skia/include/ports/SkFontMgr_data.h +1 -1
  149. package/cpp/skia/include/ports/SkFontMgr_fuchsia.h +1 -1
  150. package/cpp/skia/include/ports/SkFontMgr_mac_ct.h +1 -1
  151. package/cpp/skia/include/ports/SkFontScanner_Fontations.h +1 -1
  152. package/cpp/skia/include/ports/SkFontScanner_FreeType.h +1 -1
  153. package/cpp/skia/include/ports/SkTypeface_fontations.h +1 -1
  154. package/cpp/skia/include/private/SkExif.h +1 -1
  155. package/cpp/skia/include/private/SkGainmapInfo.h +1 -1
  156. package/cpp/skia/include/private/SkGainmapShader.h +1 -1
  157. package/cpp/skia/include/private/SkHdrMetadata.h +21 -0
  158. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +1 -1
  159. package/cpp/skia/include/private/SkPixelStorage.h +37 -0
  160. package/cpp/skia/include/private/SkXmp.h +1 -1
  161. package/cpp/skia/include/private/base/SkAssert.h +6 -5
  162. package/cpp/skia/include/private/base/SkContainers.h +1 -1
  163. package/cpp/skia/include/private/base/SkFeatures.h +30 -30
  164. package/cpp/skia/include/private/base/SkLog.h +1 -7
  165. package/cpp/skia/include/private/base/SkLogPriority.h +4 -5
  166. package/cpp/skia/include/private/base/SkMacros.h +1 -1
  167. package/cpp/skia/include/private/base/SkMalloc.h +1 -1
  168. package/cpp/skia/include/private/base/SkSafe32.h +1 -1
  169. package/cpp/skia/include/private/base/SkSpan_impl.h +1 -1
  170. package/cpp/skia/include/private/base/SkTDArray.h +13 -1
  171. package/cpp/skia/include/private/base/SkTPin.h +1 -1
  172. package/cpp/skia/include/private/base/SkTo.h +1 -1
  173. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +1 -1
  174. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -1
  175. package/cpp/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
  176. package/cpp/skia/include/private/chromium/SkExifChromium.h +26 -0
  177. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
  178. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  179. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +2 -1
  180. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +1 -1
  181. package/cpp/skia/include/sksl/SkSLDebugTrace.h +1 -1
  182. package/cpp/skia/include/third_party/vulkan/vulkan/vk_icd.h +41 -51
  183. package/cpp/skia/include/third_party/vulkan/vulkan/vk_layer.h +42 -53
  184. package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -1
  185. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +158 -154
  186. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +68 -65
  187. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +90 -87
  188. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +9 -9
  189. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +2 -2
  190. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +82 -79
  191. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +24 -24
  192. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +2 -2
  193. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +95 -96
  194. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
  195. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
  196. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +1 -1
  197. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +5 -1
  198. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +7 -1
  199. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +291 -158
  200. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +13174 -10113
  201. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +23 -19
  202. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +159 -165
  203. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +22 -19
  204. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +3 -1
  205. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +3 -1
  206. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +94 -88
  207. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
  208. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +55 -51
  209. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +18 -15
  210. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +23 -19
  211. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +31 -1
  212. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +5 -1
  213. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +27 -27
  214. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +20 -16
  215. package/cpp/skia/include/utils/SkEventTracer.h +6 -1
  216. package/cpp/skia/include/utils/SkOrderedFontMgr.h +1 -1
  217. package/cpp/skia/include/utils/SkShadowUtils.h +1 -1
  218. package/cpp/skia/include/utils/SkTextUtils.h +1 -1
  219. package/cpp/skia/modules/jsonreader/SkJSONReader.cpp +20 -4
  220. package/cpp/skia/modules/skcms/src/Transform_inl.h +11 -15
  221. package/cpp/skia/modules/skcms/src/skcms_public.h +2 -0
  222. package/cpp/skia/modules/skottie/include/ExternalLayer.h +1 -1
  223. package/cpp/skia/modules/skottie/include/Skottie.h +1 -1
  224. package/cpp/skia/modules/skottie/include/SkottieProperty.h +1 -1
  225. package/cpp/skia/modules/skottie/include/SlotManager.h +1 -1
  226. package/cpp/skia/modules/skottie/include/TextShaper.h +1 -1
  227. package/cpp/skia/modules/skottie/src/SkottieValue.h +1 -1
  228. package/cpp/skia/modules/skottie/src/animator/Animator.h +1 -1
  229. package/cpp/skia/modules/skottie/src/text/Font.h +1 -1
  230. package/cpp/skia/modules/skottie/src/text/TextAdapter.h +1 -1
  231. package/cpp/skia/modules/skottie/src/text/TextAnimator.h +3 -2
  232. package/cpp/skia/modules/skottie/src/text/TextValue.h +1 -1
  233. package/cpp/skia/modules/skparagraph/include/DartTypes.h +1 -1
  234. package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
  235. package/cpp/skia/modules/skparagraph/include/FontCollection.h +5 -1
  236. package/cpp/skia/modules/skparagraph/include/Metrics.h +1 -1
  237. package/cpp/skia/modules/skparagraph/include/Paragraph.h +1 -1
  238. package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +1 -1
  239. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -1
  240. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +1 -1
  241. package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +12 -5
  242. package/cpp/skia/modules/skparagraph/include/TextShadow.h +1 -1
  243. package/cpp/skia/modules/skparagraph/include/TextStyle.h +1 -1
  244. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -1
  245. package/cpp/skia/modules/sksg/include/SkSGClipEffect.h +1 -1
  246. package/cpp/skia/modules/sksg/include/SkSGColorFilter.h +1 -1
  247. package/cpp/skia/modules/sksg/include/SkSGDraw.h +1 -1
  248. package/cpp/skia/modules/sksg/include/SkSGEffectNode.h +1 -1
  249. package/cpp/skia/modules/sksg/include/SkSGGeometryEffect.h +1 -1
  250. package/cpp/skia/modules/sksg/include/SkSGGeometryNode.h +1 -1
  251. package/cpp/skia/modules/sksg/include/SkSGGradient.h +1 -1
  252. package/cpp/skia/modules/sksg/include/SkSGGroup.h +1 -1
  253. package/cpp/skia/modules/sksg/include/SkSGImage.h +1 -1
  254. package/cpp/skia/modules/sksg/include/SkSGInvalidationController.h +1 -1
  255. package/cpp/skia/modules/sksg/include/SkSGMaskEffect.h +1 -1
  256. package/cpp/skia/modules/sksg/include/SkSGMerge.h +1 -1
  257. package/cpp/skia/modules/sksg/include/SkSGNode.h +1 -1
  258. package/cpp/skia/modules/sksg/include/SkSGOpacityEffect.h +1 -1
  259. package/cpp/skia/modules/sksg/include/SkSGPaint.h +1 -1
  260. package/cpp/skia/modules/sksg/include/SkSGPath.h +1 -1
  261. package/cpp/skia/modules/sksg/include/SkSGPlane.h +1 -1
  262. package/cpp/skia/modules/sksg/include/SkSGRect.h +1 -1
  263. package/cpp/skia/modules/sksg/include/SkSGRenderEffect.h +1 -1
  264. package/cpp/skia/modules/sksg/include/SkSGRenderNode.h +1 -1
  265. package/cpp/skia/modules/sksg/include/SkSGScene.h +1 -1
  266. package/cpp/skia/modules/sksg/include/SkSGText.h +1 -1
  267. package/cpp/skia/modules/sksg/include/SkSGTransform.h +1 -1
  268. package/cpp/skia/modules/skshaper/include/SkShaper_coretext.h +8 -1
  269. package/cpp/skia/modules/svg/include/SkSVGFe.h +1 -1
  270. package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +1 -1
  271. package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +1 -1
  272. package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +1 -1
  273. package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +1 -1
  274. package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +1 -1
  275. package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +1 -1
  276. package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +1 -1
  277. package/cpp/skia/modules/svg/include/SkSVGFeImage.h +1 -1
  278. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +1 -1
  279. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +1 -1
  280. package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +1 -1
  281. package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +1 -1
  282. package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +1 -1
  283. package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +1 -1
  284. package/cpp/skia/modules/svg/include/SkSVGFilter.h +1 -1
  285. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +1 -1
  286. package/cpp/skia/modules/svg/include/SkSVGGradient.h +1 -1
  287. package/cpp/skia/modules/svg/include/SkSVGImage.h +1 -1
  288. package/cpp/skia/modules/svg/include/SkSVGMask.h +1 -1
  289. package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +1 -1
  290. package/cpp/skia/modules/svg/include/SkSVGPattern.h +1 -1
  291. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +1 -1
  292. package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
  293. package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
  294. package/cpp/skia/src/base/SkAutoLocaleSetter.h +94 -0
  295. package/cpp/skia/src/base/SkUTF.h +1 -1
  296. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
  297. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  298. package/lib/commonjs/skia/types/WebGPU.d.ts +153 -0
  299. package/lib/commonjs/skia/types/WebGPU.js +6 -0
  300. package/lib/commonjs/skia/types/WebGPU.js.map +1 -0
  301. package/lib/commonjs/skia/types/index.d.ts +1 -0
  302. package/lib/commonjs/skia/types/index.js +11 -0
  303. package/lib/commonjs/skia/types/index.js.map +1 -1
  304. package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  305. package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.js +19 -0
  306. package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.js.map +1 -1
  307. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  308. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
  309. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  310. package/lib/module/skia/types/WebGPU.d.ts +153 -0
  311. package/lib/module/skia/types/WebGPU.js +2 -0
  312. package/lib/module/skia/types/WebGPU.js.map +1 -0
  313. package/lib/module/skia/types/index.d.ts +1 -0
  314. package/lib/module/skia/types/index.js +1 -0
  315. package/lib/module/skia/types/index.js.map +1 -1
  316. package/lib/module/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  317. package/lib/module/skia/web/JsiSkNativeBufferFactory.js +19 -0
  318. package/lib/module/skia/web/JsiSkNativeBufferFactory.js.map +1 -1
  319. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  320. package/lib/module/web/LoadSkiaWeb.js +1 -2
  321. package/lib/module/web/LoadSkiaWeb.js.map +1 -1
  322. package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +1 -0
  323. package/lib/typescript/lib/commonjs/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  324. package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +1 -0
  325. package/lib/typescript/lib/module/skia/types/index.d.ts +1 -0
  326. package/lib/typescript/lib/module/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  327. package/lib/typescript/src/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
  328. package/lib/typescript/src/skia/types/WebGPU.d.ts +153 -0
  329. package/lib/typescript/src/skia/types/index.d.ts +1 -0
  330. package/lib/typescript/src/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
  331. package/package.json +14 -12
  332. package/react-native-skia.podspec +59 -7
  333. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +10 -1
  334. package/src/skia/types/WebGPU.ts +186 -0
  335. package/src/skia/types/index.ts +1 -0
  336. package/src/skia/web/JsiSkNativeBufferFactory.ts +20 -0
  337. package/src/skia/web/JsiSkPath.ts +8 -2
  338. package/scripts/install-libs.js +0 -133
@@ -10,6 +10,7 @@
10
10
 
11
11
  #include "include/core/SkPath.h"
12
12
  #include "include/core/SkRect.h"
13
+ #include "include/core/SkSpan.h"
13
14
  #include "include/private/base/SkAPI.h"
14
15
  #include "include/private/base/SkAssert.h"
15
16
  #include "include/private/base/SkDebug.h"
@@ -224,7 +225,12 @@ public:
224
225
 
225
226
  example: https://fiddle.skia.org/c/@Region_setRects
226
227
  */
227
- bool setRects(const SkIRect rects[], int count);
228
+ bool setRects(SkSpan<const SkIRect> rects);
229
+ #if !defined(SK_DISABLE_LEGACY_SKREGION_UNSPANNED_APIS)
230
+ bool setRects(const SkIRect rects[], int count) {
231
+ return this->setRects({rects, count});
232
+ }
233
+ #endif
228
234
 
229
235
  /** Constructs a copy of an existing region.
230
236
  Makes two regions identical by value. Internally, region and
@@ -447,8 +453,9 @@ public:
447
453
  #endif
448
454
 
449
455
  /** \class SkRegion::Iterator
450
- Returns sequence of rectangles, sorted along y-axis, then x-axis, that make
451
- up SkRegion.
456
+ Goes through the region one rectangle at a time. For each "strip" of one or more contiguous
457
+ Y values (scanlines) in ascending order, the iterator returns each rectangle in that strip
458
+ (from left to right) before advancing to the next strip (which may or may not have a gap).
452
459
  */
453
460
  class SK_API Iterator {
454
461
  public:
@@ -494,9 +501,12 @@ public:
494
501
  bool done() const { return fDone; }
495
502
 
496
503
  /** Advances SkRegion::Iterator to next SkIRect in SkRegion if it is not done.
497
-
498
- example: https://fiddle.skia.org/c/@Region_Iterator_next
499
- */
504
+ * This moves to the next rectangle to the right within the current
505
+ * horizontal strip. If the end of the strip is reached, it automatically
506
+ * advances to the first rectangle in the next strip, skipping any vertical gaps.
507
+ *
508
+ * example: https://fiddle.skia.org/c/@Region_Iterator_next
509
+ */
500
510
  void next();
501
511
 
502
512
  /** Returns SkIRect element in SkRegion. Does not return predictable results if SkRegion
@@ -514,6 +524,7 @@ public:
514
524
 
515
525
  private:
516
526
  const SkRegion* fRgn;
527
+ // See top of SkRegion.cpp for more on the RLE encoding
517
528
  const SkRegion::RunType* fRuns;
518
529
  SkIRect fRect = {0, 0, 0, 0};
519
530
  bool fDone;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2020 Google Inc.
2
+ * Copyright 2020 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -8,6 +8,7 @@
8
8
  #ifndef SkSerialProcs_DEFINED
9
9
  #define SkSerialProcs_DEFINED
10
10
 
11
+ #include "include/core/SkFourByteTag.h"
11
12
  #include "include/core/SkRefCnt.h"
12
13
  #include "include/private/base/SkAPI.h"
13
14
 
@@ -86,6 +87,8 @@ using SkSlugProc = sk_sp<sktext::gpu::Slug> (*)(SkReadBuffer&, void* ctx);
86
87
  using SkDeserialTypefaceStreamProc = sk_sp<SkTypeface> (*)(SkStream&, void* ctx);
87
88
  using SkDeserialTypefaceProc = sk_sp<SkTypeface> (*)(const void* data, size_t length, void* ctx);
88
89
 
90
+ using SkDeserialAllowTagsProc = bool(*)(SkFourByteTag, void* ctx);
91
+
89
92
  struct SK_API SkSerialProcs {
90
93
  SkSerialPictureProc fPictureProc = nullptr;
91
94
  void* fPictureCtx = nullptr;
@@ -115,6 +118,10 @@ struct SK_API SkDeserialProcs {
115
118
  // parameters and returns a bool). Given that there are only two valid implementations of that
116
119
  // proc, we just insert the bool directly.
117
120
  bool fAllowSkSL = true;
121
+
122
+ // Can be used to restrict the tags that will be deserialized from SkPictures.
123
+ SkDeserialAllowTagsProc fAllowTagsProc = nullptr;
124
+ void* fAllowTagsCtx = nullptr;
118
125
  };
119
126
 
120
127
  #endif
@@ -36,12 +36,10 @@ struct SkSamplingOptions;
36
36
  class SK_API SkShader : public SkFlattenable {
37
37
  public:
38
38
  /**
39
- * Returns true if the shader is guaranteed to produce only opaque
40
- * colors, subject to the SkPaint using the shader to apply an opaque
41
- * alpha value. Subclasses should override this to allow some
42
- * optimizations.
39
+ * Returns true if the shader is guaranteed to produce only opaque colors, subject to the
40
+ * SkPaint using the shader to apply an opaque alpha value.
43
41
  */
44
- virtual bool isOpaque() const { return false; }
42
+ virtual bool isOpaque() const = 0;
45
43
 
46
44
  /**
47
45
  * Iff this shader is backed by a single SkImage, return its ptr (the caller must ref this
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2018 Google Inc.
2
+ * Copyright 2018 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -319,7 +319,7 @@ public:
319
319
  ~SkFILEStream() override;
320
320
 
321
321
  static std::unique_ptr<SkFILEStream> Make(const char path[]) {
322
- std::unique_ptr<SkFILEStream> stream(new SkFILEStream(path));
322
+ auto stream = std::make_unique<SkFILEStream>(path);
323
323
  return stream->isValid() ? std::move(stream) : nullptr;
324
324
  }
325
325
 
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkStrikeRef_DEFINED
9
+ #define SkStrikeRef_DEFINED
10
+
11
+ #include "include/core/SkRefCnt.h"
12
+ #include "include/core/SkScalar.h"
13
+ #include "include/core/SkSpan.h"
14
+ #include "include/core/SkTypes.h"
15
+
16
+ class SkFont;
17
+ class SkStrike;
18
+ struct SkRect;
19
+
20
+ /** \class SkStrikeRef
21
+ SkStrikeRef is a lightweight, thread-safe handle to a resolved font strike.
22
+ It caches the result of looking up an SkStrike for a particular SkFont configuration,
23
+ allowing repeated glyph metric queries (advances, bounds) without the overhead of
24
+ descriptor construction, hashing, and global cache lookup on each call.
25
+
26
+ Obtain an SkStrikeRef from SkFont::makeStrikeRef(). The returned object remains valid
27
+ as long as it is held; the underlying SkStrike is atomically reference counted.
28
+
29
+ SkStrikeRef does not track changes to the SkFont it was created from. If the SkFont's
30
+ properties change (size, typeface, hinting, etc.), a new SkStrikeRef must be obtained.
31
+ */
32
+ class SK_API SkStrikeRef {
33
+ public:
34
+ SkStrikeRef();
35
+ ~SkStrikeRef();
36
+
37
+ SkStrikeRef(const SkStrikeRef&);
38
+ SkStrikeRef& operator=(const SkStrikeRef&);
39
+ SkStrikeRef(SkStrikeRef&&);
40
+ SkStrikeRef& operator=(SkStrikeRef&&);
41
+
42
+ /** Returns true if this SkStrikeRef holds a valid strike. */
43
+ explicit operator bool() const { return fStrike != nullptr; }
44
+
45
+ /** Retrieves the advance widths for each glyph.
46
+ widths receives min(widths.size(), glyphs.size()) values.
47
+
48
+ @param glyphs array of glyph indices to be measured
49
+ @param widths returns text advances for each glyph, in font units
50
+ */
51
+ void getWidths(SkSpan<const SkGlyphID> glyphs, SkSpan<SkScalar> widths) const;
52
+
53
+ /** Retrieves the advance width for a single glyph.
54
+
55
+ @param glyph glyph index to be measured
56
+ @return advance width in font units
57
+ */
58
+ SkScalar getWidth(SkGlyphID glyph) const;
59
+
60
+ /** Retrieves the advance widths and bounds for each glyph.
61
+ widths receives min(widths.size(), glyphs.size()) values.
62
+ bounds receives min(bounds.size(), glyphs.size()) values.
63
+
64
+ @param glyphs array of glyph indices to be measured
65
+ @param widths returns text advances for each glyph
66
+ @param bounds returns bounds for each glyph relative to (0, 0)
67
+ */
68
+ void getWidthsBounds(SkSpan<const SkGlyphID> glyphs,
69
+ SkSpan<SkScalar> widths,
70
+ SkSpan<SkRect> bounds) const;
71
+
72
+ private:
73
+ friend class SkFont;
74
+ SkStrikeRef(sk_sp<SkStrike> strike, SkScalar strikeToSourceScale);
75
+
76
+ sk_sp<SkStrike> fStrike;
77
+ SkScalar fStrikeToSourceScale = 0;
78
+ };
79
+
80
+ #endif // SkStrikeRef_DEFINED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2019 Google Inc.
2
+ * Copyright 2019 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -126,12 +126,11 @@ public:
126
126
  DataType dataType() const { return fDataType; }
127
127
 
128
128
  /**
129
- * Row bytes for the ith plane. Returns zero if i >= numPlanes() or this SkYUVAPixmapInfo is
130
- * invalid.
129
+ * Row bytes for the ith plane. Returns zero if this SkYUVAPixmapInfo is invalid.
131
130
  */
132
131
  size_t rowBytes(int i) const { return fRowBytes[static_cast<size_t>(i)]; }
133
132
 
134
- /** Image info for the ith plane, or default SkImageInfo if i >= numPlanes() */
133
+ /** Image info for the ith plane */
135
134
  const SkImageInfo& planeInfo(int i) const { return fPlaneInfos[static_cast<size_t>(i)]; }
136
135
 
137
136
  /**
@@ -234,8 +233,7 @@ public:
234
233
  const std::array<SkPixmap, kMaxPlanes>& planes() const { return fPlanes; }
235
234
 
236
235
  /**
237
- * Get the ith SkPixmap plane. SkPixmap will be default initialized if i >= numPlanes or this
238
- * SkYUVAPixmaps is invalid.
236
+ * Get the ith SkPixmap plane. SkPixmap will be default initialized if SkYUVAPixmaps is invalid.
239
237
  */
240
238
  const SkPixmap& plane(int i) const { return fPlanes[SkToSizeT(i)]; }
241
239
 
@@ -1,4 +1,4 @@
1
- // Copyright 2018 Google LLC.
1
+ // Copyright 2018 Google LLC
2
2
  // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3
3
  #ifndef SkPDFDocument_DEFINED
4
4
  #define SkPDFDocument_DEFINED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2025 Google LLC.
2
+ * Copyright 2025 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -324,8 +324,8 @@ private:
324
324
  uint32_t fStableKey = 0;
325
325
  SkString fName;
326
326
 
327
- std::unique_ptr<SkSL::Program> fBaseProgram;
328
- std::unique_ptr<SkSL::RP::Program> fRPProgram;
327
+ std::unique_ptr<const SkSL::Program> fBaseProgram;
328
+ std::unique_ptr<const SkSL::RP::Program> fRPProgram;
329
329
  mutable SkOnce fCompileRPProgramOnce;
330
330
  const SkSL::FunctionDefinition& fMain;
331
331
  std::vector<Uniform> fUniforms;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2018 Google Inc.
2
+ * Copyright 2018 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2018 Google Inc.
2
+ * Copyright 2018 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2024 Google LLC.
2
+ * Copyright 2024 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -9,6 +9,7 @@
9
9
  #define skgpu_GpuTypes_DEFINED
10
10
 
11
11
  #include "include/core/SkTypes.h"
12
+ #include "include/private/base/SkMacros.h"
12
13
 
13
14
  /**
14
15
  * This file includes numerous public types that are used by all of our gpu backends.
@@ -84,6 +85,7 @@ enum class GpuStatsFlags : uint32_t {
84
85
  kElapsedTime = 0b01,
85
86
  kOcclusionPassSamples = 0b10,
86
87
  };
88
+ SK_MAKE_BITFIELD_CLASS_OPS(GpuStatsFlags)
87
89
 
88
90
  struct GpuStats {
89
91
  uint64_t elapsedTime = 0;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2022 Google LLC.
2
+ * Copyright 2022 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -12,13 +12,11 @@
12
12
  #include "include/core/SkSize.h"
13
13
  #include "include/gpu/GpuTypes.h"
14
14
  #include "include/gpu/ganesh/GrTypes.h"
15
- #include "include/gpu/ganesh/mock/GrMockTypes.h"
16
15
  #include "include/private/base/SkAPI.h"
17
16
  #include "include/private/base/SkAnySubclass.h"
18
17
  #include "include/private/base/SkDebug.h"
19
18
  #include "include/private/gpu/ganesh/GrTypesPriv.h"
20
19
 
21
- enum class SkTextureCompressionType;
22
20
  class GrBackendFormatData;
23
21
  class GrBackendTextureData;
24
22
  class GrBackendRenderTargetData;
@@ -44,10 +42,6 @@ public:
44
42
  GrBackendFormat& operator=(const GrBackendFormat&);
45
43
  ~GrBackendFormat();
46
44
 
47
- static GrBackendFormat MakeMock(GrColorType colorType,
48
- SkTextureCompressionType compression,
49
- bool isStencilFormat = false);
50
-
51
45
  bool operator==(const GrBackendFormat& that) const;
52
46
  bool operator!=(const GrBackendFormat& that) const { return !(*this == that); }
53
47
 
@@ -62,15 +56,6 @@ public:
62
56
 
63
57
  GrColorFormatDesc desc() const;
64
58
 
65
- /**
66
- * If the backend API is not Mock these three calls will return kUnknown, kNone or false,
67
- * respectively. Otherwise, only one of the following can be true. The GrColorType is not
68
- * kUnknown, the compression type is not kNone, or this is a mock stencil format.
69
- */
70
- GrColorType asMockColorType() const;
71
- SkTextureCompressionType asMockCompressionType() const;
72
- bool isMockStencilFormat() const;
73
-
74
59
  // If possible, copies the GrBackendFormat and forces the texture type to be Texture2D. If the
75
60
  // GrBackendFormat was for Vulkan and it originally had a skgpu::VulkanYcbcrConversionInfo,
76
61
  // we will remove the conversion and set the format to be VK_FORMAT_R8G8B8A8_UNORM.
@@ -96,43 +81,22 @@ private:
96
81
  // GrBackendFormats::MakeGL instead.
97
82
  template <typename FormatData>
98
83
  GrBackendFormat(GrTextureType textureType, GrBackendApi api, const FormatData& formatData)
99
- : fBackend(api), fValid(true), fTextureType(textureType) {
84
+ : fBackend(api), fTextureType(textureType), fValid(true) {
100
85
  fFormatData.emplace<FormatData>(formatData);
101
86
  }
102
87
 
103
- GrBackendFormat(GrColorType, SkTextureCompressionType, bool isStencilFormat);
104
-
105
- #ifdef SK_DEBUG
106
- bool validateMock() const;
107
- #endif
108
-
109
- GrBackendApi fBackend = GrBackendApi::kMock;
110
- bool fValid = false;
111
88
  AnyFormatData fFormatData;
112
-
113
- struct {
114
- GrColorType fColorType;
115
- SkTextureCompressionType fCompressionType;
116
- bool fIsStencilFormat;
117
- } fMock;
89
+ GrBackendApi fBackend = GrBackendApi::kUnsupported;
118
90
  GrTextureType fTextureType = GrTextureType::kNone;
91
+ bool fValid = false;
119
92
  };
120
93
 
121
94
  class SK_API GrBackendTexture {
122
95
  public:
123
96
  // Creates an invalid backend texture.
124
97
  GrBackendTexture();
125
-
126
- GrBackendTexture(int width,
127
- int height,
128
- skgpu::Mipmapped,
129
- const GrMockTextureInfo& mockInfo,
130
- std::string_view label = {});
131
-
132
98
  GrBackendTexture(const GrBackendTexture& that);
133
-
134
99
  ~GrBackendTexture();
135
-
136
100
  GrBackendTexture& operator=(const GrBackendTexture& that);
137
101
 
138
102
  SkISize dimensions() const { return {fWidth, fHeight}; }
@@ -147,10 +111,6 @@ public:
147
111
  // Get the GrBackendFormat for this texture (or an invalid format if this is not valid).
148
112
  GrBackendFormat getBackendFormat() const;
149
113
 
150
- // If the backend API is Mock, copies a snapshot of the GrMockTextureInfo struct into the passed
151
- // in pointer and returns true. Otherwise returns false if the backend API is not Mock.
152
- bool getMockTextureInfo(GrMockTextureInfo*) const;
153
-
154
114
  // If the client changes any of the mutable backend of the GrBackendTexture they should call
155
115
  // this function to inform Skia that those values have changed. The backend API specific state
156
116
  // that can be set from this function are:
@@ -208,26 +168,16 @@ private:
208
168
  int fHeight; //<! height in pixels
209
169
  const std::string fLabel;
210
170
  skgpu::Mipmapped fMipmapped;
211
- GrBackendApi fBackend;
171
+ GrBackendApi fBackend = GrBackendApi::kUnsupported;
212
172
  GrTextureType fTextureType;
213
173
  AnyTextureData fTextureData;
214
-
215
- GrMockTextureInfo fMockInfo;
216
174
  };
217
175
 
218
176
  class SK_API GrBackendRenderTarget {
219
177
  public:
220
178
  // Creates an invalid backend texture.
221
179
  GrBackendRenderTarget();
222
-
223
- GrBackendRenderTarget(int width,
224
- int height,
225
- int sampleCnt,
226
- int stencilBits,
227
- const GrMockRenderTargetInfo& mockInfo);
228
-
229
180
  ~GrBackendRenderTarget();
230
-
231
181
  GrBackendRenderTarget(const GrBackendRenderTarget& that);
232
182
  GrBackendRenderTarget& operator=(const GrBackendRenderTarget&);
233
183
 
@@ -242,10 +192,6 @@ public:
242
192
  // Get the GrBackendFormat for this render target (or an invalid format if this is not valid).
243
193
  GrBackendFormat getBackendFormat() const;
244
194
 
245
- // If the backend API is Mock, copies a snapshot of the GrMockTextureInfo struct into the passed
246
- // in pointer and returns true. Otherwise returns false if the backend API is not Mock.
247
- bool getMockRenderTargetInfo(GrMockRenderTargetInfo*) const;
248
-
249
195
  // If the client changes any of the mutable backend of the GrBackendTexture they should call
250
196
  // this function to inform Skia that those values have changed. The backend API specific state
251
197
  // that can be set from this function are:
@@ -304,10 +250,8 @@ private:
304
250
  int fSampleCnt;
305
251
  int fStencilBits;
306
252
 
307
- GrBackendApi fBackend;
253
+ GrBackendApi fBackend = GrBackendApi::kUnsupported;
308
254
  AnyRenderTargetData fRTData;
309
-
310
- GrMockRenderTargetInfo fMockInfo;
311
255
  };
312
256
 
313
257
  #endif
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2019 Google Inc.
2
+ * Copyright 2019 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2020 Google Inc.
2
+ * Copyright 2020 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2018 Google Inc.
2
+ * Copyright 2018 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2019 Google Inc.
2
+ * Copyright 2019 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -67,6 +67,7 @@ public:
67
67
  colorType == kA16_unorm_SkColorType ||
68
68
  colorType == kA16_float_SkColorType ||
69
69
  colorType == kR16_unorm_SkColorType ||
70
+ colorType == kR16_float_SkColorType ||
70
71
  colorType == kR16G16_float_SkColorType ||
71
72
  colorType == kR16G16B16A16_unorm_SkColorType ||
72
73
  colorType == kGray_8_SkColorType) {
@@ -0,0 +1,59 @@
1
+ /*
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+ #ifndef GrMockBackendSurface_DEFINED
8
+ #define GrMockBackendSurface_DEFINED
9
+
10
+ #include "include/gpu/ganesh/GrTypes.h"
11
+ #include "include/gpu/ganesh/mock/GrMockTypes.h"
12
+ #include "include/private/base/SkAPI.h"
13
+
14
+ #include <string_view>
15
+
16
+ class GrBackendFormat;
17
+ class GrBackendTexture;
18
+ class GrBackendRenderTarget;
19
+ enum class SkTextureCompressionType;
20
+ enum class GrColorType;
21
+
22
+ namespace GrBackendFormats {
23
+
24
+ SK_API GrBackendFormat MakeMockColorType(GrColorType colorType);
25
+ SK_API GrBackendFormat MakeMockCompressionType(SkTextureCompressionType compression);
26
+ SK_API GrBackendFormat MakeMockStencilFormat();
27
+
28
+ // Only one of these getters will return a non-unknown, non-false value
29
+ SK_API GrColorType AsMockColorType(const GrBackendFormat&);
30
+ SK_API SkTextureCompressionType AsMockCompressionType(const GrBackendFormat&);
31
+ SK_API bool IsMockStencilFormat(const GrBackendFormat&);
32
+
33
+ } // namespace GrBackendFormats
34
+
35
+ namespace GrBackendTextures {
36
+
37
+ SK_API GrBackendTexture MakeMock(int width,
38
+ int height,
39
+ skgpu::Mipmapped,
40
+ const GrMockTextureInfo& mockInfo,
41
+ std::string_view label = {});
42
+
43
+ SK_API GrMockTextureInfo GetMockTextureInfo(const GrBackendTexture&);
44
+
45
+ } // namespace GrBackendTextures
46
+
47
+ namespace GrBackendRenderTargets {
48
+
49
+ SK_API GrBackendRenderTarget MakeMock(int width,
50
+ int height,
51
+ int sampleCnt,
52
+ int stencilBits,
53
+ const GrMockRenderTargetInfo& mockInfo);
54
+
55
+ SK_API GrMockRenderTargetInfo GetMockRenderTargetInfo(const GrBackendRenderTarget&);
56
+
57
+ } // namespace GrBackendRenderTargets
58
+
59
+ #endif
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2017 Google Inc.
2
+ * Copyright 2017 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright 2020 Google Inc.
2
+ * Copyright 2020 Google LLC
3
3
  *
4
4
  * Use of this source code is governed by a BSD-style license that can be
5
5
  * found in the LICENSE file.