@shopify/react-native-skia 0.1.192 → 0.1.194

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) 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/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +104 -103
  5. package/cpp/api/JsiSkImage.h +25 -4
  6. package/cpp/api/JsiSkImageFactory.h +2 -2
  7. package/cpp/api/JsiSkPath.h +8 -6
  8. package/cpp/rnskia/dom/base/Declaration.h +5 -7
  9. package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +3 -1
  10. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
  11. package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
  12. package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
  13. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
  14. package/cpp/skia/include/android/SkImageAndroid.h +101 -0
  15. package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
  16. package/cpp/skia/include/codec/SkCodec.h +31 -17
  17. package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
  18. package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
  19. package/cpp/skia/include/config/SkUserConfig.h +61 -29
  20. package/cpp/skia/include/core/SkBitmap.h +25 -25
  21. package/cpp/skia/include/core/SkBlurTypes.h +0 -2
  22. package/cpp/skia/include/core/SkCanvas.h +32 -15
  23. package/cpp/skia/include/core/SkCapabilities.h +2 -2
  24. package/cpp/skia/include/core/SkColor.h +2 -0
  25. package/cpp/skia/include/core/SkColorPriv.h +19 -4
  26. package/cpp/skia/include/core/SkColorSpace.h +14 -17
  27. package/cpp/skia/include/core/SkColorType.h +1 -0
  28. package/cpp/skia/include/core/SkContourMeasure.h +1 -1
  29. package/cpp/skia/include/core/SkCoverageMode.h +0 -2
  30. package/cpp/skia/include/core/SkCubicMap.h +2 -0
  31. package/cpp/skia/include/core/SkData.h +5 -2
  32. package/cpp/skia/include/core/SkDataTable.h +6 -2
  33. package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
  34. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
  35. package/cpp/skia/include/core/SkDrawable.h +10 -2
  36. package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
  37. package/cpp/skia/include/core/SkFlattenable.h +4 -2
  38. package/cpp/skia/include/core/SkFont.h +1 -0
  39. package/cpp/skia/include/core/SkFontMetrics.h +1 -0
  40. package/cpp/skia/include/core/SkFontMgr.h +20 -29
  41. package/cpp/skia/include/core/SkFontStyle.h +4 -1
  42. package/cpp/skia/include/core/SkGraphics.h +21 -18
  43. package/cpp/skia/include/core/SkICC.h +3 -13
  44. package/cpp/skia/include/core/SkImage.h +395 -717
  45. package/cpp/skia/include/core/SkImageGenerator.h +19 -74
  46. package/cpp/skia/include/core/SkImageInfo.h +7 -5
  47. package/cpp/skia/include/core/SkM44.h +11 -0
  48. package/cpp/skia/include/core/SkMaskFilter.h +6 -3
  49. package/cpp/skia/include/core/SkMatrix.h +14 -4
  50. package/cpp/skia/include/core/SkMesh.h +52 -18
  51. package/cpp/skia/include/core/SkMilestone.h +1 -1
  52. package/cpp/skia/include/core/SkPaint.h +11 -34
  53. package/cpp/skia/include/core/SkPath.h +23 -4
  54. package/cpp/skia/include/core/SkPathBuilder.h +13 -5
  55. package/cpp/skia/include/core/SkPathMeasure.h +1 -1
  56. package/cpp/skia/include/core/SkPathTypes.h +0 -2
  57. package/cpp/skia/include/core/SkPathUtils.h +42 -0
  58. package/cpp/skia/include/core/SkPicture.h +3 -2
  59. package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
  60. package/cpp/skia/include/core/SkPixelRef.h +4 -8
  61. package/cpp/skia/include/core/SkPixmap.h +12 -20
  62. package/cpp/skia/include/core/SkPoint.h +4 -2
  63. package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
  64. package/cpp/skia/include/core/SkRRect.h +5 -1
  65. package/cpp/skia/include/core/SkRect.h +6 -3
  66. package/cpp/skia/include/core/SkRefCnt.h +9 -14
  67. package/cpp/skia/include/core/SkRegion.h +1 -1
  68. package/cpp/skia/include/core/SkScalar.h +2 -4
  69. package/cpp/skia/include/core/SkSerialProcs.h +18 -10
  70. package/cpp/skia/include/core/SkShader.h +1 -64
  71. package/cpp/skia/include/core/SkSize.h +2 -0
  72. package/cpp/skia/include/core/SkSpan.h +4 -112
  73. package/cpp/skia/include/core/SkStream.h +11 -12
  74. package/cpp/skia/include/core/SkString.h +9 -25
  75. package/cpp/skia/include/core/SkStrokeRec.h +1 -1
  76. package/cpp/skia/include/core/SkSurface.h +83 -61
  77. package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
  78. package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
  79. package/cpp/skia/include/core/SkTextBlob.h +2 -2
  80. package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
  81. package/cpp/skia/include/core/SkTime.h +1 -1
  82. package/cpp/skia/include/core/SkTypeface.h +9 -2
  83. package/cpp/skia/include/core/SkTypes.h +37 -466
  84. package/cpp/skia/include/core/SkVertices.h +2 -0
  85. package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
  86. package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
  87. package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
  88. package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
  89. package/cpp/skia/include/effects/SkGradientShader.h +65 -14
  90. package/cpp/skia/include/effects/SkImageFilters.h +0 -11
  91. package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
  92. package/cpp/skia/include/encode/SkEncoder.h +7 -3
  93. package/cpp/skia/include/encode/SkICC.h +36 -0
  94. package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
  95. package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
  96. package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
  97. package/cpp/skia/include/gpu/GpuTypes.h +23 -1
  98. package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
  99. package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
  100. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
  101. package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
  102. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
  103. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
  104. package/cpp/skia/include/gpu/GrTypes.h +18 -18
  105. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
  106. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
  107. package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
  108. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
  109. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
  110. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  111. package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
  112. package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
  113. package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
  114. package/cpp/skia/include/gpu/graphite/Context.h +85 -32
  115. package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
  116. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
  117. package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
  118. package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
  119. package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
  120. package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
  121. package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
  122. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
  123. package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
  124. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
  125. package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
  126. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
  127. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
  128. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
  129. package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
  130. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  131. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  132. package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
  133. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
  134. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
  135. package/cpp/skia/include/pathops/SkPathOps.h +3 -3
  136. package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
  137. package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
  138. package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
  139. package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
  140. package/cpp/skia/include/private/SkChecksum.h +32 -7
  141. package/cpp/skia/include/private/SkColorData.h +1 -26
  142. package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
  143. package/cpp/skia/include/private/SkGainmapShader.h +53 -0
  144. package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
  145. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
  146. package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
  147. package/cpp/skia/include/private/SkOpts_spi.h +3 -1
  148. package/cpp/skia/include/private/SkPathRef.h +64 -47
  149. package/cpp/skia/include/private/SkSLDefines.h +5 -5
  150. package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
  151. package/cpp/skia/include/private/SkSpinlock.h +1 -1
  152. package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
  153. package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
  154. package/cpp/skia/include/private/base/SkAPI.h +52 -0
  155. package/cpp/skia/include/private/base/SkAlign.h +39 -0
  156. package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
  157. package/cpp/skia/include/private/base/SkAssert.h +92 -0
  158. package/cpp/skia/include/private/base/SkAttributes.h +102 -0
  159. package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
  160. package/cpp/skia/include/private/base/SkContainers.h +46 -0
  161. package/cpp/skia/include/private/base/SkDebug.h +27 -0
  162. package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
  163. package/cpp/skia/include/private/base/SkFeatures.h +151 -0
  164. package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
  165. package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
  166. package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
  167. package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
  168. package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
  169. package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
  170. package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
  171. package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
  172. package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
  173. package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
  174. package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
  175. package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
  176. package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
  177. package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
  178. package/cpp/skia/include/private/base/SkTArray.h +694 -0
  179. package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
  180. package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
  181. package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
  182. package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
  183. package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
  184. package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
  185. package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
  186. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
  187. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
  188. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
  189. package/cpp/skia/include/private/chromium/Slug.h +0 -9
  190. package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
  191. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  192. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
  193. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
  194. package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
  195. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
  196. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
  197. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
  198. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
  199. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
  200. package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
  201. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
  202. package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
  203. package/cpp/skia/include/utils/SkCamera.h +1 -1
  204. package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
  205. package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
  206. package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
  207. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
  208. package/cpp/skia/include/utils/SkParsePath.h +1 -1
  209. package/cpp/skia/modules/skcms/skcms.h +14 -0
  210. package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
  211. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
  212. package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
  213. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
  214. package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
  215. package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
  216. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
  217. package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
  218. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
  219. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
  220. package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
  221. package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
  222. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
  223. package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
  224. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
  225. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
  226. package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
  227. package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
  228. package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
  229. package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
  230. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +1 -2
  231. package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
  232. package/libs/android/arm64-v8a/libskia.a +0 -0
  233. package/libs/android/arm64-v8a/libskottie.a +0 -0
  234. package/libs/android/arm64-v8a/libsksg.a +0 -0
  235. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  236. package/libs/android/arm64-v8a/libsvg.a +0 -0
  237. package/libs/android/armeabi-v7a/libskia.a +0 -0
  238. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  239. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  240. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  241. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  242. package/libs/android/x86/libskia.a +0 -0
  243. package/libs/android/x86/libskottie.a +0 -0
  244. package/libs/android/x86/libsksg.a +0 -0
  245. package/libs/android/x86/libskshaper.a +0 -0
  246. package/libs/android/x86/libsvg.a +0 -0
  247. package/libs/android/x86_64/libskia.a +0 -0
  248. package/libs/android/x86_64/libskottie.a +0 -0
  249. package/libs/android/x86_64/libsksg.a +0 -0
  250. package/libs/android/x86_64/libskshaper.a +0 -0
  251. package/libs/android/x86_64/libsvg.a +0 -0
  252. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  253. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  254. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  255. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  256. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  257. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  258. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  259. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  260. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  261. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  262. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  263. package/package.json +1 -1
  264. package/react-native-skia.podspec +1 -1
  265. package/scripts/install-npm.js +11 -1
  266. package/cpp/skia/include/core/SkImageEncoder.h +0 -71
  267. package/cpp/skia/include/gpu/GrConfig.h +0 -53
  268. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
  269. package/cpp/skia/include/private/SkHalf.h +0 -38
  270. package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
  271. package/cpp/skia/include/private/SkSLIRNode.h +0 -64
  272. package/cpp/skia/include/private/SkSLLayout.h +0 -144
  273. package/cpp/skia/include/private/SkSLModifiers.h +0 -178
  274. package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
  275. package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
  276. package/cpp/skia/include/private/SkSLStatement.h +0 -86
  277. package/cpp/skia/include/private/SkSLString.h +0 -41
  278. package/cpp/skia/include/private/SkSLSymbol.h +0 -94
  279. package/cpp/skia/include/private/SkSafe_math.h +0 -52
  280. package/cpp/skia/include/private/SkStringView.h +0 -51
  281. package/cpp/skia/include/private/SkTArray.h +0 -655
  282. package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
  283. package/cpp/skia/include/private/SkVx.h +0 -1026
  284. package/cpp/skia/include/sksl/DSL.h +0 -37
  285. package/cpp/skia/include/sksl/DSLBlock.h +0 -58
  286. package/cpp/skia/include/sksl/DSLCase.h +0 -62
  287. package/cpp/skia/include/sksl/DSLCore.h +0 -492
  288. package/cpp/skia/include/sksl/DSLExpression.h +0 -241
  289. package/cpp/skia/include/sksl/DSLFunction.h +0 -113
  290. package/cpp/skia/include/sksl/DSLLayout.h +0 -92
  291. package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
  292. package/cpp/skia/include/sksl/DSLStatement.h +0 -82
  293. package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
  294. package/cpp/skia/include/sksl/DSLType.h +0 -271
  295. package/cpp/skia/include/sksl/DSLVar.h +0 -231
  296. package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
  297. package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
  298. package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
  299. package/cpp/skia/include/utils/SkRandom.h +0 -169
  300. package/cpp/skia/src/core/SkLRUCache.h +0 -126
  301. package/cpp/skia/src/core/SkTInternalLList.h +0 -302
  302. /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
  303. /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
  304. /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