@shopify/react-native-skia 0.1.192 → 0.1.193

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 (301) hide show
  1. package/android/CMakeLists.txt +1 -1
  2. package/android/build.gradle +1 -0
  3. package/android/cpp/jni/JniPlatformContext.cpp +1 -1
  4. package/cpp/api/JsiSkImage.h +25 -4
  5. package/cpp/api/JsiSkImageFactory.h +2 -2
  6. package/cpp/api/JsiSkPath.h +8 -6
  7. package/cpp/rnskia/dom/base/Declaration.h +5 -7
  8. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
  9. package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
  10. package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
  11. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
  12. package/cpp/skia/include/android/SkImageAndroid.h +101 -0
  13. package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
  14. package/cpp/skia/include/codec/SkCodec.h +31 -17
  15. package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
  16. package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
  17. package/cpp/skia/include/config/SkUserConfig.h +61 -29
  18. package/cpp/skia/include/core/SkBitmap.h +25 -25
  19. package/cpp/skia/include/core/SkBlurTypes.h +0 -2
  20. package/cpp/skia/include/core/SkCanvas.h +32 -15
  21. package/cpp/skia/include/core/SkCapabilities.h +2 -2
  22. package/cpp/skia/include/core/SkColor.h +2 -0
  23. package/cpp/skia/include/core/SkColorPriv.h +19 -4
  24. package/cpp/skia/include/core/SkColorSpace.h +14 -17
  25. package/cpp/skia/include/core/SkColorType.h +1 -0
  26. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  27. package/cpp/skia/include/core/SkCoverageMode.h +0 -2
  28. package/cpp/skia/include/core/SkCubicMap.h +2 -0
  29. package/cpp/skia/include/core/SkData.h +5 -2
  30. package/cpp/skia/include/core/SkDataTable.h +6 -2
  31. package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
  32. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
  33. package/cpp/skia/include/core/SkDrawable.h +10 -2
  34. package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
  35. package/cpp/skia/include/core/SkFlattenable.h +4 -2
  36. package/cpp/skia/include/core/SkFont.h +1 -0
  37. package/cpp/skia/include/core/SkFontMetrics.h +1 -0
  38. package/cpp/skia/include/core/SkFontMgr.h +20 -29
  39. package/cpp/skia/include/core/SkFontStyle.h +4 -1
  40. package/cpp/skia/include/core/SkGraphics.h +21 -18
  41. package/cpp/skia/include/core/SkICC.h +3 -13
  42. package/cpp/skia/include/core/SkImage.h +395 -717
  43. package/cpp/skia/include/core/SkImageGenerator.h +19 -74
  44. package/cpp/skia/include/core/SkImageInfo.h +7 -5
  45. package/cpp/skia/include/core/SkM44.h +11 -0
  46. package/cpp/skia/include/core/SkMaskFilter.h +6 -3
  47. package/cpp/skia/include/core/SkMatrix.h +14 -4
  48. package/cpp/skia/include/core/SkMesh.h +52 -18
  49. package/cpp/skia/include/core/SkMilestone.h +1 -1
  50. package/cpp/skia/include/core/SkPaint.h +11 -34
  51. package/cpp/skia/include/core/SkPath.h +23 -4
  52. package/cpp/skia/include/core/SkPathBuilder.h +13 -5
  53. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  54. package/cpp/skia/include/core/SkPathTypes.h +0 -2
  55. package/cpp/skia/include/core/SkPathUtils.h +42 -0
  56. package/cpp/skia/include/core/SkPicture.h +3 -2
  57. package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
  58. package/cpp/skia/include/core/SkPixelRef.h +4 -8
  59. package/cpp/skia/include/core/SkPixmap.h +12 -20
  60. package/cpp/skia/include/core/SkPoint.h +4 -2
  61. package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
  62. package/cpp/skia/include/core/SkRRect.h +5 -1
  63. package/cpp/skia/include/core/SkRect.h +6 -3
  64. package/cpp/skia/include/core/SkRefCnt.h +9 -14
  65. package/cpp/skia/include/core/SkRegion.h +1 -1
  66. package/cpp/skia/include/core/SkScalar.h +2 -4
  67. package/cpp/skia/include/core/SkSerialProcs.h +18 -10
  68. package/cpp/skia/include/core/SkShader.h +1 -64
  69. package/cpp/skia/include/core/SkSize.h +2 -0
  70. package/cpp/skia/include/core/SkSpan.h +4 -112
  71. package/cpp/skia/include/core/SkStream.h +11 -12
  72. package/cpp/skia/include/core/SkString.h +9 -25
  73. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  74. package/cpp/skia/include/core/SkSurface.h +83 -61
  75. package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
  76. package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
  77. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  78. package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
  79. package/cpp/skia/include/core/SkTime.h +1 -1
  80. package/cpp/skia/include/core/SkTypeface.h +9 -2
  81. package/cpp/skia/include/core/SkTypes.h +37 -466
  82. package/cpp/skia/include/core/SkVertices.h +2 -0
  83. package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
  84. package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
  85. package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
  86. package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
  87. package/cpp/skia/include/effects/SkGradientShader.h +65 -14
  88. package/cpp/skia/include/effects/SkImageFilters.h +0 -11
  89. package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
  90. package/cpp/skia/include/encode/SkEncoder.h +7 -3
  91. package/cpp/skia/include/encode/SkICC.h +36 -0
  92. package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
  93. package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
  94. package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
  95. package/cpp/skia/include/gpu/GpuTypes.h +23 -1
  96. package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
  97. package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
  98. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
  99. package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
  100. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
  101. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
  102. package/cpp/skia/include/gpu/GrTypes.h +18 -18
  103. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
  104. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
  105. package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
  106. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
  107. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
  108. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  109. package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
  110. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
  111. package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
  112. package/cpp/skia/include/gpu/graphite/Context.h +85 -32
  113. package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
  114. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
  115. package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
  116. package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
  117. package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
  118. package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
  119. package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
  120. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
  121. package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
  122. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  123. package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
  124. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
  125. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
  126. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
  127. package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
  128. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  129. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  130. package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
  131. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  132. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
  133. package/cpp/skia/include/pathops/SkPathOps.h +3 -3
  134. package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
  135. package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
  136. package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
  137. package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
  138. package/cpp/skia/include/private/SkChecksum.h +32 -7
  139. package/cpp/skia/include/private/SkColorData.h +1 -26
  140. package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
  141. package/cpp/skia/include/private/SkGainmapShader.h +53 -0
  142. package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
  143. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
  144. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
  145. package/cpp/skia/include/private/SkOpts_spi.h +3 -1
  146. package/cpp/skia/include/private/SkPathRef.h +64 -47
  147. package/cpp/skia/include/private/SkSLDefines.h +5 -5
  148. package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
  149. package/cpp/skia/include/private/SkSpinlock.h +1 -1
  150. package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
  151. package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
  152. package/cpp/skia/include/private/base/SkAPI.h +52 -0
  153. package/cpp/skia/include/private/base/SkAlign.h +39 -0
  154. package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
  155. package/cpp/skia/include/private/base/SkAssert.h +92 -0
  156. package/cpp/skia/include/private/base/SkAttributes.h +102 -0
  157. package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
  158. package/cpp/skia/include/private/base/SkContainers.h +46 -0
  159. package/cpp/skia/include/private/base/SkDebug.h +27 -0
  160. package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
  161. package/cpp/skia/include/private/base/SkFeatures.h +151 -0
  162. package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
  163. package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
  164. package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
  165. package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
  166. package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
  167. package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
  168. package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
  169. package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
  170. package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
  171. package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
  172. package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
  173. package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
  174. package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
  175. package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
  176. package/cpp/skia/include/private/base/SkTArray.h +694 -0
  177. package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
  178. package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
  179. package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
  180. package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
  181. package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
  182. package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
  183. package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
  184. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
  185. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
  186. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  187. package/cpp/skia/include/private/chromium/Slug.h +0 -9
  188. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
  189. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  190. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
  191. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
  192. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  193. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
  194. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
  195. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
  196. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
  197. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
  198. package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
  199. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
  200. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
  201. package/cpp/skia/include/utils/SkCamera.h +1 -1
  202. package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
  203. package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
  204. package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
  205. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
  206. package/cpp/skia/include/utils/SkParsePath.h +1 -1
  207. package/cpp/skia/modules/skcms/skcms.h +14 -0
  208. package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
  209. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
  210. package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
  211. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
  212. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  213. package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
  214. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
  215. package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
  216. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
  217. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
  218. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  219. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  220. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
  221. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  222. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
  223. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  224. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  225. package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
  226. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  227. package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
  228. package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
  229. package/libs/android/arm64-v8a/libskia.a +0 -0
  230. package/libs/android/arm64-v8a/libskottie.a +0 -0
  231. package/libs/android/arm64-v8a/libsksg.a +0 -0
  232. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  233. package/libs/android/arm64-v8a/libsvg.a +0 -0
  234. package/libs/android/armeabi-v7a/libskia.a +0 -0
  235. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  236. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  237. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  238. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  239. package/libs/android/x86/libskia.a +0 -0
  240. package/libs/android/x86/libskottie.a +0 -0
  241. package/libs/android/x86/libsksg.a +0 -0
  242. package/libs/android/x86/libskshaper.a +0 -0
  243. package/libs/android/x86/libsvg.a +0 -0
  244. package/libs/android/x86_64/libskia.a +0 -0
  245. package/libs/android/x86_64/libskottie.a +0 -0
  246. package/libs/android/x86_64/libsksg.a +0 -0
  247. package/libs/android/x86_64/libskshaper.a +0 -0
  248. package/libs/android/x86_64/libsvg.a +0 -0
  249. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  250. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  251. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  252. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  253. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  254. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  255. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  256. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  257. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  258. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  259. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  260. package/package.json +1 -1
  261. package/react-native-skia.podspec +1 -1
  262. package/scripts/install-npm.js +11 -1
  263. package/cpp/skia/include/core/SkImageEncoder.h +0 -71
  264. package/cpp/skia/include/gpu/GrConfig.h +0 -53
  265. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
  266. package/cpp/skia/include/private/SkHalf.h +0 -38
  267. package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
  268. package/cpp/skia/include/private/SkSLIRNode.h +0 -64
  269. package/cpp/skia/include/private/SkSLLayout.h +0 -144
  270. package/cpp/skia/include/private/SkSLModifiers.h +0 -178
  271. package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
  272. package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
  273. package/cpp/skia/include/private/SkSLStatement.h +0 -86
  274. package/cpp/skia/include/private/SkSLString.h +0 -41
  275. package/cpp/skia/include/private/SkSLSymbol.h +0 -94
  276. package/cpp/skia/include/private/SkSafe_math.h +0 -52
  277. package/cpp/skia/include/private/SkStringView.h +0 -51
  278. package/cpp/skia/include/private/SkTArray.h +0 -655
  279. package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
  280. package/cpp/skia/include/private/SkVx.h +0 -1026
  281. package/cpp/skia/include/sksl/DSL.h +0 -37
  282. package/cpp/skia/include/sksl/DSLBlock.h +0 -58
  283. package/cpp/skia/include/sksl/DSLCase.h +0 -62
  284. package/cpp/skia/include/sksl/DSLCore.h +0 -492
  285. package/cpp/skia/include/sksl/DSLExpression.h +0 -241
  286. package/cpp/skia/include/sksl/DSLFunction.h +0 -113
  287. package/cpp/skia/include/sksl/DSLLayout.h +0 -92
  288. package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
  289. package/cpp/skia/include/sksl/DSLStatement.h +0 -82
  290. package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
  291. package/cpp/skia/include/sksl/DSLType.h +0 -271
  292. package/cpp/skia/include/sksl/DSLVar.h +0 -231
  293. package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
  294. package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
  295. package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
  296. package/cpp/skia/include/utils/SkRandom.h +0 -169
  297. package/cpp/skia/src/core/SkLRUCache.h +0 -126
  298. package/cpp/skia/src/core/SkTInternalLList.h +0 -302
  299. /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
  300. /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
  301. /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
@@ -8,46 +8,52 @@
8
8
  #ifndef GrDirectContext_DEFINED
9
9
  #define GrDirectContext_DEFINED
10
10
 
11
+ #include "include/core/SkColor.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/core/SkTypes.h"
14
+ #include "include/gpu/GpuTypes.h"
15
+ #include "include/gpu/GrContextOptions.h"
11
16
  #include "include/gpu/GrRecordingContext.h"
17
+ #include "include/gpu/GrTypes.h"
12
18
 
13
- #include "include/gpu/GrBackendSurface.h"
14
-
15
- // We shouldn't need this but currently Android is relying on this being include transitively.
16
- #include "include/core/SkUnPreMultiply.h"
19
+ #include <chrono>
20
+ #include <cstddef>
21
+ #include <cstdint>
22
+ #include <memory>
23
+ #include <string_view>
17
24
 
18
25
  class GrAtlasManager;
19
26
  class GrBackendSemaphore;
27
+ class GrBackendFormat;
28
+ class GrBackendTexture;
29
+ class GrBackendRenderTarget;
20
30
  class GrClientMappedBufferManager;
21
- class GrDirectContextPriv;
22
31
  class GrContextThreadSafeProxy;
23
- struct GrD3DBackendContext;
24
- class GrFragmentProcessor;
32
+ class GrDirectContextPriv;
25
33
  class GrGpu;
26
- struct GrGLInterface;
27
- struct GrMtlBackendContext;
28
- struct GrMockOptions;
29
- class GrPath;
30
34
  class GrResourceCache;
31
35
  class GrResourceProvider;
32
- class GrSurfaceProxy;
33
- class GrTextureProxy;
34
- struct GrVkBackendContext;
35
-
36
+ class SkData;
36
37
  class SkImage;
37
- class SkString;
38
- class SkSurfaceCharacterization;
39
- class SkSurfaceProps;
38
+ class SkPixmap;
40
39
  class SkTaskGroup;
41
40
  class SkTraceMemoryDump;
41
+ enum SkColorType : int;
42
+ enum class SkTextureCompressionType;
43
+ struct GrGLInterface;
44
+ struct GrMockOptions;
45
+ struct GrVkBackendContext; // IWYU pragma: keep
46
+ struct GrD3DBackendContext; // IWYU pragma: keep
47
+ struct GrMtlBackendContext; // IWYU pragma: keep
42
48
 
43
49
  namespace skgpu {
44
- class Swizzle;
45
- namespace v1 { class SmallPathAtlasMgr; }
46
- }
47
-
48
- namespace sktext::gpu {
49
- class StrikeCache;
50
+ class MutableTextureState;
51
+ #if !defined(SK_ENABLE_OPTIMIZE_SIZE)
52
+ namespace ganesh { class SmallPathAtlasMgr; }
53
+ #endif
50
54
  }
55
+ namespace sktext { namespace gpu { class StrikeCache; } }
56
+ namespace wgpu { class Device; } // IWYU pragma: keep
51
57
 
52
58
  class SK_API GrDirectContext : public GrRecordingContext {
53
59
  public:
@@ -387,7 +393,24 @@ public:
387
393
  */
388
394
  GrSemaphoresSubmitted flush(const GrFlushInfo& info);
389
395
 
390
- void flush() { this->flush({}); }
396
+ void flush() { this->flush(GrFlushInfo()); }
397
+
398
+ /** Flushes any pending uses of texture-backed images in the GPU backend. If the image is not
399
+ * texture-backed (including promise texture images) or if the GrDirectContext does not
400
+ * have the same context ID as the context backing the image then this is a no-op.
401
+ * If the image was not used in any non-culled draws in the current queue of work for the
402
+ * passed GrDirectContext then this is a no-op unless the GrFlushInfo contains semaphores or
403
+ * a finish proc. Those are respected even when the image has not been used.
404
+ * @param image the non-null image to flush.
405
+ * @param info flush options
406
+ */
407
+ GrSemaphoresSubmitted flush(sk_sp<const SkImage> image, const GrFlushInfo& info);
408
+ void flush(sk_sp<const SkImage> image);
409
+
410
+ /** Version of flush() that uses a default GrFlushInfo. Also submits the flushed work to the
411
+ GPU.
412
+ */
413
+ void flushAndSubmit(sk_sp<const SkImage> image);
391
414
 
392
415
  /**
393
416
  * Submit outstanding work to the gpu from all previously un-submitted flushes. The return
@@ -548,10 +571,7 @@ public:
548
571
  GrProtected isProtected,
549
572
  GrGpuFinishedProc finishedProc = nullptr,
550
573
  GrGpuFinishedContext finishedContext = nullptr,
551
- std::string_view label = {}) {
552
- return this->createBackendTexture(&srcData, 1, textureOrigin, renderable, isProtected,
553
- finishedProc, finishedContext, label);
554
- }
574
+ std::string_view label = {});
555
575
 
556
576
  // Deprecated versions that do not take origin and assume top-left.
557
577
  GrBackendTexture createBackendTexture(const SkPixmap srcData[],
@@ -560,30 +580,14 @@ public:
560
580
  GrProtected isProtected,
561
581
  GrGpuFinishedProc finishedProc = nullptr,
562
582
  GrGpuFinishedContext finishedContext = nullptr,
563
- std::string_view label = {}) {
564
- return this->createBackendTexture(srcData,
565
- numLevels,
566
- kTopLeft_GrSurfaceOrigin,
567
- renderable,
568
- isProtected,
569
- finishedProc,
570
- finishedContext,
571
- label);
572
- }
583
+ std::string_view label = {});
584
+
573
585
  GrBackendTexture createBackendTexture(const SkPixmap& srcData,
574
586
  GrRenderable renderable,
575
587
  GrProtected isProtected,
576
588
  GrGpuFinishedProc finishedProc = nullptr,
577
589
  GrGpuFinishedContext finishedContext = nullptr,
578
- std::string_view label = {}) {
579
- return this->createBackendTexture(&srcData,
580
- 1,
581
- renderable,
582
- isProtected,
583
- finishedProc,
584
- finishedContext,
585
- label);
586
- }
590
+ std::string_view label = {});
587
591
 
588
592
  /**
589
593
  * If possible, updates a backend texture to be filled to a particular color. The client should
@@ -662,17 +666,10 @@ public:
662
666
  const SkPixmap srcData[],
663
667
  int numLevels,
664
668
  GrGpuFinishedProc finishedProc,
665
- GrGpuFinishedContext finishedContext) {
666
- return this->updateBackendTexture(texture,
667
- srcData,
668
- numLevels,
669
- kTopLeft_GrSurfaceOrigin,
670
- finishedProc,
671
- finishedContext);
672
- }
669
+ GrGpuFinishedContext finishedContext);
673
670
 
674
671
  /**
675
- * Retrieve the GrBackendFormat for a given SkImage::CompressionType. This is
672
+ * Retrieve the GrBackendFormat for a given SkTextureCompressionType. This is
676
673
  * guaranteed to match the backend format used by the following
677
674
  * createCompressedBackendTexture methods that take a CompressionType.
678
675
  *
@@ -698,7 +695,7 @@ public:
698
695
  GrGpuFinishedContext finishedContext = nullptr);
699
696
 
700
697
  GrBackendTexture createCompressedBackendTexture(int width, int height,
701
- SkImage::CompressionType,
698
+ SkTextureCompressionType,
702
699
  const SkColor4f& color,
703
700
  GrMipmapped,
704
701
  GrProtected = GrProtected::kNo,
@@ -726,7 +723,7 @@ public:
726
723
  GrGpuFinishedContext finishedContext = nullptr);
727
724
 
728
725
  GrBackendTexture createCompressedBackendTexture(int width, int height,
729
- SkImage::CompressionType,
726
+ SkTextureCompressionType,
730
727
  const void* data, size_t dataSize,
731
728
  GrMipmapped,
732
729
  GrProtected = GrProtected::kNo,
@@ -850,7 +847,9 @@ protected:
850
847
  bool init() override;
851
848
 
852
849
  GrAtlasManager* onGetAtlasManager() { return fAtlasManager.get(); }
853
- skgpu::v1::SmallPathAtlasMgr* onGetSmallPathAtlasMgr();
850
+ #if !defined(SK_ENABLE_OPTIMIZE_SIZE)
851
+ skgpu::ganesh::SmallPathAtlasMgr* onGetSmallPathAtlasMgr();
852
+ #endif
854
853
 
855
854
  GrDirectContext* asDirectContext() override { return this; }
856
855
 
@@ -868,6 +867,28 @@ private:
868
867
  // bool is used for this signal.
869
868
  void syncAllOutstandingGpuWork(bool shouldExecuteWhileAbandoned);
870
869
 
870
+ // This delete callback needs to be the first thing on the GrDirectContext so that it is the
871
+ // last thing destroyed. The callback may signal the client to clean up things that may need
872
+ // to survive the lifetime of some of the other objects on the GrDirectCotnext. So make sure
873
+ // we don't call it until all else has been destroyed.
874
+ class DeleteCallbackHelper {
875
+ public:
876
+ DeleteCallbackHelper(GrDirectContextDestroyedContext context,
877
+ GrDirectContextDestroyedProc proc)
878
+ : fContext(context), fProc(proc) {}
879
+
880
+ ~DeleteCallbackHelper() {
881
+ if (fProc) {
882
+ fProc(fContext);
883
+ }
884
+ }
885
+
886
+ private:
887
+ GrDirectContextDestroyedContext fContext;
888
+ GrDirectContextDestroyedProc fProc;
889
+ };
890
+ std::unique_ptr<DeleteCallbackHelper> fDeleteCallbackHelper;
891
+
871
892
  const DirectContextID fDirectContextID;
872
893
  // fTaskGroup must appear before anything that uses it (e.g. fGpu), so that it is destroyed
873
894
  // after all of its users. Clients of fTaskGroup will generally want to ensure that they call
@@ -894,11 +915,11 @@ private:
894
915
  std::unique_ptr<GrClientMappedBufferManager> fMappedBufferManager;
895
916
  std::unique_ptr<GrAtlasManager> fAtlasManager;
896
917
 
897
- std::unique_ptr<skgpu::v1::SmallPathAtlasMgr> fSmallPathAtlasMgr;
918
+ #if !defined(SK_ENABLE_OPTIMIZE_SIZE)
919
+ std::unique_ptr<skgpu::ganesh::SmallPathAtlasMgr> fSmallPathAtlasMgr;
920
+ #endif
898
921
 
899
922
  friend class GrDirectContextPriv;
900
-
901
- using INHERITED = GrRecordingContext;
902
923
  };
903
924
 
904
925
 
@@ -13,7 +13,8 @@
13
13
  #ifdef SK_GPU_WORKAROUNDS_HEADER
14
14
  #include SK_GPU_WORKAROUNDS_HEADER
15
15
  #else
16
- // To regenerate this file, set gn arg "skia_generate_workarounds = true".
16
+ // To regenerate this file, set gn arg "skia_generate_workarounds = true"
17
+ // or invoke `bazel run //tools:generate_workarounds`
17
18
  // This is not rebuilt by default to avoid embedders having to have extra
18
19
  // build steps.
19
20
  #include "include/gpu/GrDriverBugWorkaroundsAutogen.h"
@@ -9,7 +9,8 @@
9
9
  #define GrRecordingContext_DEFINED
10
10
 
11
11
  #include "include/core/SkRefCnt.h"
12
- #include "include/private/SkTArray.h"
12
+ #include "include/core/SkTypes.h"
13
+ #include "include/private/base/SkTArray.h"
13
14
  #include "include/private/gpu/ganesh/GrImageContext.h"
14
15
 
15
16
  #if GR_GPU_STATS && GR_TEST_UTILS
@@ -190,7 +191,7 @@ protected:
190
191
  // of the programInfos matches the intended use. For example, in DDL-record mode it
191
192
  // is known that all the programInfos will have been allocated in an arena with the
192
193
  // same lifetime at the DDL itself.
193
- virtual void detachProgramData(SkTArray<ProgramData>*) {}
194
+ virtual void detachProgramData(skia_private::TArray<ProgramData>*) {}
194
195
 
195
196
  sktext::gpu::TextBlobRedrawCoordinator* getTextBlobRedrawCoordinator();
196
197
  const sktext::gpu::TextBlobRedrawCoordinator* getTextBlobRedrawCoordinator() const;
@@ -223,7 +224,8 @@ protected:
223
224
 
224
225
  #if GR_TEST_UTILS
225
226
  void dump(SkString* out) const;
226
- void dumpKeyValuePairs(SkTArray<SkString>* keys, SkTArray<double>* values) const;
227
+ void dumpKeyValuePairs(skia_private::TArray<SkString>* keys,
228
+ skia_private::TArray<double>* values) const;
227
229
  #endif
228
230
 
229
231
  private:
@@ -236,14 +238,16 @@ protected:
236
238
 
237
239
  #if GR_TEST_UTILS
238
240
  void dump(SkString*) const {}
239
- void dumpKeyValuePairs(SkTArray<SkString>* keys, SkTArray<double>* values) const {}
241
+ void dumpKeyValuePairs(skia_private::TArray<SkString>* keys,
242
+ skia_private::TArray<double>* values) const {}
240
243
  #endif
241
244
  #endif // GR_GPU_STATS
242
245
  } fStats;
243
246
 
244
247
  #if GR_GPU_STATS && GR_TEST_UTILS
245
248
  struct DMSAAStats {
246
- void dumpKeyValuePairs(SkTArray<SkString>* keys, SkTArray<double>* values) const;
249
+ void dumpKeyValuePairs(skia_private::TArray<SkString>* keys,
250
+ skia_private::TArray<double>* values) const;
247
251
  void dump() const;
248
252
  void merge(const DMSAAStats&);
249
253
  int fNumRenderPasses = 0;
@@ -8,13 +8,18 @@
8
8
  #ifndef GrTypes_DEFINED
9
9
  #define GrTypes_DEFINED
10
10
 
11
- #include "include/core/SkMath.h"
12
11
  #include "include/core/SkTypes.h"
13
- #include "include/gpu/GrConfig.h"
12
+ #include "include/private/base/SkTo.h" // IWYU pragma: keep
14
13
 
14
+ #include <cstddef>
15
+ #include <cstdint>
15
16
  class GrBackendSemaphore;
16
- class SkImage;
17
- class SkSurface;
17
+
18
+ namespace skgpu {
19
+ enum class Mipmapped : bool;
20
+ enum class Protected : bool;
21
+ enum class Renderable : bool;
22
+ }
18
23
 
19
24
  ////////////////////////////////////////////////////////////////////////////////
20
25
 
@@ -122,28 +127,20 @@ static constexpr GrBackendApi kMock_GrBackend = GrBackendApi::kMock;
122
127
  /**
123
128
  * Used to say whether a texture has mip levels allocated or not.
124
129
  */
125
- enum class GrMipmapped : bool {
126
- kNo = false,
127
- kYes = true
128
- };
129
- /** Deprecated legacy alias of GrMipmapped. */
130
- using GrMipMapped = GrMipmapped;
130
+ /** Deprecated legacy alias of skgpu::Mipmapped. */
131
+ using GrMipmapped = skgpu::Mipmapped;
132
+ /** Deprecated legacy alias of skgpu::Mipmapped. */
133
+ using GrMipMapped = skgpu::Mipmapped;
131
134
 
132
135
  /*
133
136
  * Can a GrBackendObject be rendered to?
134
137
  */
135
- enum class GrRenderable : bool {
136
- kNo = false,
137
- kYes = true
138
- };
138
+ using GrRenderable = skgpu::Renderable;
139
139
 
140
140
  /*
141
141
  * Used to say whether texture is backed by protected memory.
142
142
  */
143
- enum class GrProtected : bool {
144
- kNo = false,
145
- kYes = true
146
- };
143
+ using GrProtected = skgpu::Protected;
147
144
 
148
145
  ///////////////////////////////////////////////////////////////////////////////
149
146
 
@@ -188,6 +185,9 @@ typedef void (*GrGpuFinishedProc)(GrGpuFinishedContext finishedContext);
188
185
  typedef void* GrGpuSubmittedContext;
189
186
  typedef void (*GrGpuSubmittedProc)(GrGpuSubmittedContext submittedContext, bool success);
190
187
 
188
+ typedef void* GrDirectContextDestroyedContext;
189
+ typedef void (*GrDirectContextDestroyedProc)(GrDirectContextDestroyedContext destroyedContext);
190
+
191
191
  /**
192
192
  * Struct to supply options to flush calls.
193
193
  *
@@ -22,7 +22,7 @@
22
22
  // prepared to rename those identifiers.
23
23
 
24
24
  #include "include/core/SkRefCnt.h"
25
- #include "include/gpu/GrTypes.h"
25
+ #include "include/gpu/GpuTypes.h"
26
26
  #include <d3d12.h>
27
27
  #include <dxgi1_4.h>
28
28
 
@@ -184,7 +184,7 @@ struct GrD3DTextureResourceInfo {
184
184
  uint32_t fSampleCount = 1;
185
185
  uint32_t fLevelCount = 0;
186
186
  unsigned int fSampleQualityPattern = DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN;
187
- GrProtected fProtected = GrProtected::kNo;
187
+ skgpu::Protected fProtected = skgpu::Protected::kNo;
188
188
 
189
189
  GrD3DTextureResourceInfo() = default;
190
190
 
@@ -195,7 +195,7 @@ struct GrD3DTextureResourceInfo {
195
195
  uint32_t sampleCount,
196
196
  uint32_t levelCount,
197
197
  unsigned int sampleQualityLevel,
198
- GrProtected isProtected = GrProtected::kNo)
198
+ skgpu::Protected isProtected = skgpu::Protected::kNo)
199
199
  : fResource(resource)
200
200
  , fAlloc(alloc)
201
201
  , fResourceState(resourceState)
@@ -239,7 +239,7 @@ struct GrD3DFenceInfo {
239
239
  struct GrD3DSurfaceInfo {
240
240
  uint32_t fSampleCount = 1;
241
241
  uint32_t fLevelCount = 0;
242
- GrProtected fProtected = GrProtected::kNo;
242
+ skgpu::Protected fProtected = skgpu::Protected::kNo;
243
243
 
244
244
  DXGI_FORMAT fFormat = DXGI_FORMAT_UNKNOWN;
245
245
  unsigned int fSampleQualityPattern = DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN;
@@ -8,7 +8,7 @@
8
8
  #ifndef GrDawnTypes_DEFINED
9
9
  #define GrDawnTypes_DEFINED
10
10
 
11
- #include "include/gpu/GrTypes.h"
11
+ #include "include/gpu/GpuTypes.h"
12
12
 
13
13
  #ifdef Always
14
14
  #undef Always
@@ -22,7 +22,7 @@ static constexpr int Success = 0;
22
22
  #undef None
23
23
  static constexpr int None = 0L;
24
24
  #endif
25
- #include "webgpu/webgpu_cpp.h"
25
+ #include "webgpu/webgpu_cpp.h" // IWYU pragma: export
26
26
 
27
27
  struct GrDawnTextureInfo {
28
28
  wgpu::Texture fTexture;
@@ -87,7 +87,7 @@ struct GrDawnRenderTargetInfo {
87
87
  struct GrDawnSurfaceInfo {
88
88
  uint32_t fSampleCount = 1;
89
89
  uint32_t fLevelCount = 0;
90
- GrProtected fProtected = GrProtected::kNo;
90
+ skgpu::Protected fProtected = skgpu::Protected::kNo;
91
91
 
92
92
  wgpu::TextureFormat fFormat;
93
93
  };
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Copyright 2023 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 GrTextureGenerator_DEFINED
9
+ #define GrTextureGenerator_DEFINED
10
+
11
+ #include "include/core/SkImageGenerator.h"
12
+ #include "include/core/SkRefCnt.h"
13
+ #include "include/gpu/GrTypes.h"
14
+ #include "include/private/base/SkAPI.h"
15
+
16
+ #include <cstdint>
17
+ #include <memory>
18
+
19
+ class GrRecordingContext;
20
+ class GrSurfaceProxyView;
21
+ class SkImage;
22
+ enum class GrImageTexGenPolicy : int;
23
+ namespace skgpu { enum class Mipmapped : bool; }
24
+ struct SkImageInfo;
25
+
26
+ class SK_API GrTextureGenerator : public SkImageGenerator {
27
+ public:
28
+ bool isTextureGenerator() const final { return true; }
29
+
30
+ /**
31
+ * If the generator can natively/efficiently return its pixels as a GPU image (backed by a
32
+ * texture) this will return that image. If not, this will return NULL.
33
+ *
34
+ * Regarding the GrRecordingContext parameter:
35
+ *
36
+ * It must be non-NULL. The generator should only succeed if:
37
+ * - its internal context is the same
38
+ * - it can somehow convert its texture into one that is valid for the provided context.
39
+ *
40
+ * If the mipmapped parameter is kYes, the generator should try to create a TextureProxy that
41
+ * at least has the mip levels allocated and the base layer filled in. If this is not possible,
42
+ * the generator is allowed to return a non mipped proxy, but this will have some additional
43
+ * overhead in later allocating mips and copying of the base layer.
44
+ *
45
+ * GrImageTexGenPolicy determines whether or not a new texture must be created (and its budget
46
+ * status) or whether this may (but is not required to) return a pre-existing texture that is
47
+ * retained by the generator (kDraw).
48
+ */
49
+ GrSurfaceProxyView generateTexture(GrRecordingContext*,
50
+ const SkImageInfo& info,
51
+ skgpu::Mipmapped mipmapped,
52
+ GrImageTexGenPolicy);
53
+
54
+ virtual GrSurfaceProxyView onGenerateTexture(GrRecordingContext*, const SkImageInfo&,
55
+ skgpu::Mipmapped, GrImageTexGenPolicy) = 0;
56
+
57
+ // Most internal SkImageGenerators produce textures and views that use kTopLeft_GrSurfaceOrigin.
58
+ // If the generator may produce textures with different origins (e.g.
59
+ // GrAHardwareBufferImageGenerator) it should override this function to return the correct
60
+ // origin. Implementations should be thread-safe.
61
+ virtual GrSurfaceOrigin origin() const { return kTopLeft_GrSurfaceOrigin; }
62
+
63
+ protected:
64
+ GrTextureGenerator(const SkImageInfo& info, uint32_t uniqueId = kNeedNewImageUniqueID);
65
+ };
66
+
67
+ namespace SkImages {
68
+ /**
69
+ * Like SkImages::DeferredFromGenerator except allows for the use of SkGaneshTextureGenerator.
70
+ *
71
+ * @param gen producer of textures
72
+ * @return created SkImage, or nullptr
73
+ */
74
+ SK_API sk_sp<SkImage> DeferredFromTextureGenerator(std::unique_ptr<GrTextureGenerator> gen);
75
+ }
76
+
77
+ #endif // GrTextureGenerator_DEFINED