@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.
- package/android/CMakeLists.txt +1 -1
- package/android/build.gradle +1 -0
- package/android/cpp/jni/JniPlatformContext.cpp +1 -1
- package/cpp/api/JsiSkImage.h +25 -4
- package/cpp/api/JsiSkImageFactory.h +2 -2
- package/cpp/api/JsiSkPath.h +8 -6
- package/cpp/rnskia/dom/base/Declaration.h +5 -7
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
- package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
- package/cpp/skia/include/android/SkImageAndroid.h +101 -0
- package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
- package/cpp/skia/include/codec/SkCodec.h +31 -17
- package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
- package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
- package/cpp/skia/include/config/SkUserConfig.h +61 -29
- package/cpp/skia/include/core/SkBitmap.h +25 -25
- package/cpp/skia/include/core/SkBlurTypes.h +0 -2
- package/cpp/skia/include/core/SkCanvas.h +32 -15
- package/cpp/skia/include/core/SkCapabilities.h +2 -2
- package/cpp/skia/include/core/SkColor.h +2 -0
- package/cpp/skia/include/core/SkColorPriv.h +19 -4
- package/cpp/skia/include/core/SkColorSpace.h +14 -17
- package/cpp/skia/include/core/SkColorType.h +1 -0
- package/cpp/skia/include/core/SkContourMeasure.h +1 -1
- package/cpp/skia/include/core/SkCoverageMode.h +0 -2
- package/cpp/skia/include/core/SkCubicMap.h +2 -0
- package/cpp/skia/include/core/SkData.h +5 -2
- package/cpp/skia/include/core/SkDataTable.h +6 -2
- package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
- package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
- package/cpp/skia/include/core/SkDrawable.h +10 -2
- package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
- package/cpp/skia/include/core/SkFlattenable.h +4 -2
- package/cpp/skia/include/core/SkFont.h +1 -0
- package/cpp/skia/include/core/SkFontMetrics.h +1 -0
- package/cpp/skia/include/core/SkFontMgr.h +20 -29
- package/cpp/skia/include/core/SkFontStyle.h +4 -1
- package/cpp/skia/include/core/SkGraphics.h +21 -18
- package/cpp/skia/include/core/SkICC.h +3 -13
- package/cpp/skia/include/core/SkImage.h +395 -717
- package/cpp/skia/include/core/SkImageGenerator.h +19 -74
- package/cpp/skia/include/core/SkImageInfo.h +7 -5
- package/cpp/skia/include/core/SkM44.h +11 -0
- package/cpp/skia/include/core/SkMaskFilter.h +6 -3
- package/cpp/skia/include/core/SkMatrix.h +14 -4
- package/cpp/skia/include/core/SkMesh.h +52 -18
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPaint.h +11 -34
- package/cpp/skia/include/core/SkPath.h +23 -4
- package/cpp/skia/include/core/SkPathBuilder.h +13 -5
- package/cpp/skia/include/core/SkPathMeasure.h +1 -1
- package/cpp/skia/include/core/SkPathTypes.h +0 -2
- package/cpp/skia/include/core/SkPathUtils.h +42 -0
- package/cpp/skia/include/core/SkPicture.h +3 -2
- package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
- package/cpp/skia/include/core/SkPixelRef.h +4 -8
- package/cpp/skia/include/core/SkPixmap.h +12 -20
- package/cpp/skia/include/core/SkPoint.h +4 -2
- package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
- package/cpp/skia/include/core/SkRRect.h +5 -1
- package/cpp/skia/include/core/SkRect.h +6 -3
- package/cpp/skia/include/core/SkRefCnt.h +9 -14
- package/cpp/skia/include/core/SkRegion.h +1 -1
- package/cpp/skia/include/core/SkScalar.h +2 -4
- package/cpp/skia/include/core/SkSerialProcs.h +18 -10
- package/cpp/skia/include/core/SkShader.h +1 -64
- package/cpp/skia/include/core/SkSize.h +2 -0
- package/cpp/skia/include/core/SkSpan.h +4 -112
- package/cpp/skia/include/core/SkStream.h +11 -12
- package/cpp/skia/include/core/SkString.h +9 -25
- package/cpp/skia/include/core/SkStrokeRec.h +1 -1
- package/cpp/skia/include/core/SkSurface.h +83 -61
- package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
- package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
- package/cpp/skia/include/core/SkTextBlob.h +2 -2
- package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
- package/cpp/skia/include/core/SkTime.h +1 -1
- package/cpp/skia/include/core/SkTypeface.h +9 -2
- package/cpp/skia/include/core/SkTypes.h +37 -466
- package/cpp/skia/include/core/SkVertices.h +2 -0
- package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
- package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
- package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
- package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
- package/cpp/skia/include/effects/SkGradientShader.h +65 -14
- package/cpp/skia/include/effects/SkImageFilters.h +0 -11
- package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
- package/cpp/skia/include/encode/SkEncoder.h +7 -3
- package/cpp/skia/include/encode/SkICC.h +36 -0
- package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
- package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
- package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
- package/cpp/skia/include/gpu/GpuTypes.h +23 -1
- package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
- package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
- package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
- package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
- package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
- package/cpp/skia/include/gpu/GrTypes.h +18 -18
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
- package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
- package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
- package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
- package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
- package/cpp/skia/include/gpu/graphite/Context.h +85 -32
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
- package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
- package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
- package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
- package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
- package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
- package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
- package/cpp/skia/include/pathops/SkPathOps.h +3 -3
- package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
- package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
- package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
- package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
- package/cpp/skia/include/private/SkChecksum.h +32 -7
- package/cpp/skia/include/private/SkColorData.h +1 -26
- package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
- package/cpp/skia/include/private/SkGainmapShader.h +53 -0
- package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
- package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
- package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
- package/cpp/skia/include/private/SkOpts_spi.h +3 -1
- package/cpp/skia/include/private/SkPathRef.h +64 -47
- package/cpp/skia/include/private/SkSLDefines.h +5 -5
- package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
- package/cpp/skia/include/private/SkSpinlock.h +1 -1
- package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
- package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
- package/cpp/skia/include/private/base/SkAPI.h +52 -0
- package/cpp/skia/include/private/base/SkAlign.h +39 -0
- package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
- package/cpp/skia/include/private/base/SkAssert.h +92 -0
- package/cpp/skia/include/private/base/SkAttributes.h +102 -0
- package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
- package/cpp/skia/include/private/base/SkContainers.h +46 -0
- package/cpp/skia/include/private/base/SkDebug.h +27 -0
- package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
- package/cpp/skia/include/private/base/SkFeatures.h +151 -0
- package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
- package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
- package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
- package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
- package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
- package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
- package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
- package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
- package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
- package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
- package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
- package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
- package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
- package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
- package/cpp/skia/include/private/base/SkTArray.h +694 -0
- package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
- package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
- package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
- package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
- package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
- package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
- package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
- package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
- package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
- package/cpp/skia/include/private/chromium/Slug.h +0 -9
- package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
- package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
- package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
- package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
- package/cpp/skia/include/utils/SkCamera.h +1 -1
- package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
- package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
- package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
- package/cpp/skia/include/utils/SkParsePath.h +1 -1
- package/cpp/skia/modules/skcms/skcms.h +14 -0
- package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
- package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
- package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
- package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
- package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
- package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
- package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
- package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
- package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/ios/libskia.xcframework/Info.plist +5 -5
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/react-native-skia.podspec +1 -1
- package/scripts/install-npm.js +11 -1
- package/cpp/skia/include/core/SkImageEncoder.h +0 -71
- package/cpp/skia/include/gpu/GrConfig.h +0 -53
- package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
- package/cpp/skia/include/private/SkHalf.h +0 -38
- package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
- package/cpp/skia/include/private/SkSLIRNode.h +0 -64
- package/cpp/skia/include/private/SkSLLayout.h +0 -144
- package/cpp/skia/include/private/SkSLModifiers.h +0 -178
- package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
- package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
- package/cpp/skia/include/private/SkSLStatement.h +0 -86
- package/cpp/skia/include/private/SkSLString.h +0 -41
- package/cpp/skia/include/private/SkSLSymbol.h +0 -94
- package/cpp/skia/include/private/SkSafe_math.h +0 -52
- package/cpp/skia/include/private/SkStringView.h +0 -51
- package/cpp/skia/include/private/SkTArray.h +0 -655
- package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
- package/cpp/skia/include/private/SkVx.h +0 -1026
- package/cpp/skia/include/sksl/DSL.h +0 -37
- package/cpp/skia/include/sksl/DSLBlock.h +0 -58
- package/cpp/skia/include/sksl/DSLCase.h +0 -62
- package/cpp/skia/include/sksl/DSLCore.h +0 -492
- package/cpp/skia/include/sksl/DSLExpression.h +0 -241
- package/cpp/skia/include/sksl/DSLFunction.h +0 -113
- package/cpp/skia/include/sksl/DSLLayout.h +0 -92
- package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
- package/cpp/skia/include/sksl/DSLStatement.h +0 -82
- package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
- package/cpp/skia/include/sksl/DSLType.h +0 -271
- package/cpp/skia/include/sksl/DSLVar.h +0 -231
- package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
- package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
- package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
- package/cpp/skia/include/utils/SkRandom.h +0 -169
- package/cpp/skia/src/core/SkLRUCache.h +0 -126
- package/cpp/skia/src/core/SkTInternalLList.h +0 -302
- /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
- /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
- /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
|
@@ -9,91 +9,109 @@
|
|
|
9
9
|
#define SkPngEncoder_DEFINED
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkDataTable.h"
|
|
12
|
-
#include "include/
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
13
|
+
#include "include/private/base/SkAPI.h"
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
// TODO(kjlubick) update clients to directly include this
|
|
16
|
+
#include "include/encode/SkEncoder.h" // IWYU pragma: keep
|
|
17
|
+
|
|
18
|
+
#include <memory>
|
|
19
|
+
|
|
20
|
+
class GrDirectContext;
|
|
21
|
+
class SkData;
|
|
22
|
+
class SkImage;
|
|
23
|
+
class SkPixmap;
|
|
15
24
|
class SkWStream;
|
|
25
|
+
struct skcms_ICCProfile;
|
|
26
|
+
|
|
27
|
+
namespace SkPngEncoder {
|
|
28
|
+
|
|
29
|
+
enum class FilterFlag : int {
|
|
30
|
+
kZero = 0x00,
|
|
31
|
+
kNone = 0x08,
|
|
32
|
+
kSub = 0x10,
|
|
33
|
+
kUp = 0x20,
|
|
34
|
+
kAvg = 0x40,
|
|
35
|
+
kPaeth = 0x80,
|
|
36
|
+
kAll = kNone | kSub | kUp | kAvg | kPaeth,
|
|
37
|
+
};
|
|
16
38
|
|
|
17
|
-
|
|
18
|
-
public:
|
|
19
|
-
|
|
20
|
-
enum class FilterFlag : int {
|
|
21
|
-
kZero = 0x00,
|
|
22
|
-
kNone = 0x08,
|
|
23
|
-
kSub = 0x10,
|
|
24
|
-
kUp = 0x20,
|
|
25
|
-
kAvg = 0x40,
|
|
26
|
-
kPaeth = 0x80,
|
|
27
|
-
kAll = kNone | kSub | kUp | kAvg | kPaeth,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
struct Options {
|
|
31
|
-
/**
|
|
32
|
-
* Selects which filtering strategies to use.
|
|
33
|
-
*
|
|
34
|
-
* If a single filter is chosen, libpng will use that filter for every row.
|
|
35
|
-
*
|
|
36
|
-
* If multiple filters are chosen, libpng will use a heuristic to guess which filter
|
|
37
|
-
* will encode smallest, then apply that filter. This happens on a per row basis,
|
|
38
|
-
* different rows can use different filters.
|
|
39
|
-
*
|
|
40
|
-
* Using a single filter (or less filters) is typically faster. Trying all of the
|
|
41
|
-
* filters may help minimize the output file size.
|
|
42
|
-
*
|
|
43
|
-
* Our default value matches libpng's default.
|
|
44
|
-
*/
|
|
45
|
-
FilterFlag fFilterFlags = FilterFlag::kAll;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Must be in [0, 9] where 9 corresponds to maximal compression. This value is passed
|
|
49
|
-
* directly to zlib. 0 is a special case to skip zlib entirely, creating dramatically
|
|
50
|
-
* larger pngs.
|
|
51
|
-
*
|
|
52
|
-
* Our default value matches libpng's default.
|
|
53
|
-
*/
|
|
54
|
-
int fZLibLevel = 6;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Represents comments in the tEXt ancillary chunk of the png.
|
|
58
|
-
* The 2i-th entry is the keyword for the i-th comment,
|
|
59
|
-
* and the (2i + 1)-th entry is the text for the i-th comment.
|
|
60
|
-
*/
|
|
61
|
-
sk_sp<SkDataTable> fComments;
|
|
62
|
-
};
|
|
39
|
+
inline FilterFlag operator|(FilterFlag x, FilterFlag y) { return (FilterFlag)((int)x | (int)y); }
|
|
63
40
|
|
|
41
|
+
struct Options {
|
|
64
42
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
43
|
+
* Selects which filtering strategies to use.
|
|
44
|
+
*
|
|
45
|
+
* If a single filter is chosen, libpng will use that filter for every row.
|
|
46
|
+
*
|
|
47
|
+
* If multiple filters are chosen, libpng will use a heuristic to guess which filter
|
|
48
|
+
* will encode smallest, then apply that filter. This happens on a per row basis,
|
|
49
|
+
* different rows can use different filters.
|
|
50
|
+
*
|
|
51
|
+
* Using a single filter (or less filters) is typically faster. Trying all of the
|
|
52
|
+
* filters may help minimize the output file size.
|
|
67
53
|
*
|
|
68
|
-
*
|
|
54
|
+
* Our default value matches libpng's default.
|
|
69
55
|
*/
|
|
70
|
-
|
|
56
|
+
FilterFlag fFilterFlags = FilterFlag::kAll;
|
|
71
57
|
|
|
72
58
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
59
|
+
* Must be in [0, 9] where 9 corresponds to maximal compression. This value is passed
|
|
60
|
+
* directly to zlib. 0 is a special case to skip zlib entirely, creating dramatically
|
|
61
|
+
* larger pngs.
|
|
75
62
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* This returns nullptr on an invalid or unsupported |src|.
|
|
63
|
+
* Our default value matches libpng's default.
|
|
79
64
|
*/
|
|
80
|
-
|
|
81
|
-
const Options& options);
|
|
82
|
-
|
|
83
|
-
~SkPngEncoder() override;
|
|
84
|
-
|
|
85
|
-
protected:
|
|
86
|
-
bool onEncodeRows(int numRows) override;
|
|
65
|
+
int fZLibLevel = 6;
|
|
87
66
|
|
|
88
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Represents comments in the tEXt ancillary chunk of the png.
|
|
69
|
+
* The 2i-th entry is the keyword for the i-th comment,
|
|
70
|
+
* and the (2i + 1)-th entry is the text for the i-th comment.
|
|
71
|
+
*/
|
|
72
|
+
sk_sp<SkDataTable> fComments;
|
|
89
73
|
|
|
90
|
-
|
|
91
|
-
|
|
74
|
+
/**
|
|
75
|
+
* An optional ICC profile to override the default behavior.
|
|
76
|
+
*
|
|
77
|
+
* The default behavior is to generate an ICC profile using a primary matrix and
|
|
78
|
+
* analytic transfer function. If the color space of |src| cannot be represented
|
|
79
|
+
* in this way (e.g, it is HLG or PQ), then no profile will be embedded.
|
|
80
|
+
*/
|
|
81
|
+
const skcms_ICCProfile* fICCProfile = nullptr;
|
|
82
|
+
const char* fICCProfileDescription = nullptr;
|
|
92
83
|
};
|
|
93
84
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Encode the |src| pixels to the |dst| stream.
|
|
87
|
+
* |options| may be used to control the encoding behavior.
|
|
88
|
+
*
|
|
89
|
+
* Returns true on success. Returns false on an invalid or unsupported |src|.
|
|
90
|
+
*/
|
|
91
|
+
SK_API bool Encode(SkWStream* dst, const SkPixmap& src, const Options& options);
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Encode the provided image and return the resulting bytes. If the image was created as
|
|
95
|
+
* a texture-backed image on a GPU context, that |ctx| must be provided so the pixels
|
|
96
|
+
* can be read before being encoded. For raster-backed images, |ctx| can be nullptr.
|
|
97
|
+
* |options| may be used to control the encoding behavior.
|
|
98
|
+
*
|
|
99
|
+
* Returns nullptr if the pixels could not be read or encoding otherwise fails.
|
|
100
|
+
*/
|
|
101
|
+
SK_API sk_sp<SkData> Encode(GrDirectContext* ctx, const SkImage* img, const Options& options);
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Create a png encoder that will encode the |src| pixels to the |dst| stream.
|
|
105
|
+
* |options| may be used to control the encoding behavior.
|
|
106
|
+
*
|
|
107
|
+
* The primary use of this is incremental encoding of the pixels.
|
|
108
|
+
*
|
|
109
|
+
* |dst| is unowned but must remain valid for the lifetime of the object.
|
|
110
|
+
*
|
|
111
|
+
* This returns nullptr on an invalid or unsupported |src|.
|
|
112
|
+
*/
|
|
113
|
+
SK_API std::unique_ptr<SkEncoder> Make(SkWStream* dst, const SkPixmap& src, const Options& options);
|
|
114
|
+
|
|
115
|
+
} // namespace SkPngEncoder
|
|
98
116
|
|
|
99
117
|
#endif
|
|
@@ -8,58 +8,85 @@
|
|
|
8
8
|
#ifndef SkWebpEncoder_DEFINED
|
|
9
9
|
#define SkWebpEncoder_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkSpan.h" // IWYU pragma: keep
|
|
12
13
|
#include "include/encode/SkEncoder.h"
|
|
14
|
+
#include "include/private/base/SkAPI.h"
|
|
13
15
|
|
|
16
|
+
class SkPixmap;
|
|
14
17
|
class SkWStream;
|
|
18
|
+
class SkData;
|
|
19
|
+
class GrDirectContext;
|
|
20
|
+
class SkImage;
|
|
21
|
+
struct skcms_ICCProfile;
|
|
15
22
|
|
|
16
23
|
namespace SkWebpEncoder {
|
|
17
24
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
struct SK_API Options {
|
|
24
|
-
/**
|
|
25
|
-
* |fCompression| determines whether we will use webp lossy or lossless compression.
|
|
26
|
-
*
|
|
27
|
-
* |fQuality| must be in [0.0f, 100.0f].
|
|
28
|
-
* If |fCompression| is kLossy, |fQuality| corresponds to the visual quality of the
|
|
29
|
-
* encoding. Decreasing the quality will result in a smaller encoded image.
|
|
30
|
-
* If |fCompression| is kLossless, |fQuality| corresponds to the amount of effort
|
|
31
|
-
* put into the encoding. Lower values will compress faster into larger files,
|
|
32
|
-
* while larger values will compress slower into smaller files.
|
|
33
|
-
*
|
|
34
|
-
* This scheme is designed to match the libwebp API.
|
|
35
|
-
*/
|
|
36
|
-
Compression fCompression = Compression::kLossy;
|
|
37
|
-
float fQuality = 100.0f;
|
|
38
|
-
};
|
|
25
|
+
enum class Compression {
|
|
26
|
+
kLossy,
|
|
27
|
+
kLossless,
|
|
28
|
+
};
|
|
39
29
|
|
|
30
|
+
struct SK_API Options {
|
|
40
31
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
32
|
+
* |fCompression| determines whether we will use webp lossy or lossless compression.
|
|
33
|
+
*
|
|
34
|
+
* |fQuality| must be in [0.0f, 100.0f].
|
|
35
|
+
* If |fCompression| is kLossy, |fQuality| corresponds to the visual quality of the
|
|
36
|
+
* encoding. Decreasing the quality will result in a smaller encoded image.
|
|
37
|
+
* If |fCompression| is kLossless, |fQuality| corresponds to the amount of effort
|
|
38
|
+
* put into the encoding. Lower values will compress faster into larger files,
|
|
39
|
+
* while larger values will compress slower into smaller files.
|
|
43
40
|
*
|
|
44
|
-
*
|
|
41
|
+
* This scheme is designed to match the libwebp API.
|
|
45
42
|
*/
|
|
46
|
-
|
|
43
|
+
Compression fCompression = Compression::kLossy;
|
|
44
|
+
float fQuality = 100.0f;
|
|
47
45
|
|
|
48
46
|
/**
|
|
49
|
-
*
|
|
50
|
-
* |options| may be used to control the encoding behavior.
|
|
51
|
-
*
|
|
52
|
-
* The size of the first frame will be used as the canvas size. If any other frame does
|
|
53
|
-
* not match the canvas size, this is an error.
|
|
54
|
-
*
|
|
55
|
-
* Returns true on success. Returns false on an invalid or unsupported |src|.
|
|
47
|
+
* An optional ICC profile to override the default behavior.
|
|
56
48
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
49
|
+
* The default behavior is to generate an ICC profile using a primary matrix and
|
|
50
|
+
* analytic transfer function. If the color space of |src| cannot be represented
|
|
51
|
+
* in this way (e.g, it is HLG or PQ), then no profile will be embedded.
|
|
59
52
|
*/
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
const skcms_ICCProfile* fICCProfile = nullptr;
|
|
54
|
+
const char* fICCProfileDescription = nullptr;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Encode the |src| pixels to the |dst| stream.
|
|
59
|
+
* |options| may be used to control the encoding behavior.
|
|
60
|
+
*
|
|
61
|
+
* Returns true on success. Returns false on an invalid or unsupported |src|.
|
|
62
|
+
*/
|
|
63
|
+
SK_API bool Encode(SkWStream* dst, const SkPixmap& src, const Options& options);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Encode the provided image and return the resulting bytes. If the image was created as
|
|
67
|
+
* a texture-backed image on a GPU context, that |ctx| must be provided so the pixels
|
|
68
|
+
* can be read before being encoded. For raster-backed images, |ctx| can be nullptr.
|
|
69
|
+
* |options| may be used to control the encoding behavior.
|
|
70
|
+
*
|
|
71
|
+
* Returns nullptr if the pixels could not be read or encoding otherwise fails.
|
|
72
|
+
*/
|
|
73
|
+
SK_API sk_sp<SkData> Encode(GrDirectContext* ctx, const SkImage* img, const Options& options);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Encode the |src| frames to the |dst| stream.
|
|
77
|
+
* |options| may be used to control the encoding behavior.
|
|
78
|
+
*
|
|
79
|
+
* The size of the first frame will be used as the canvas size. If any other frame does
|
|
80
|
+
* not match the canvas size, this is an error.
|
|
81
|
+
*
|
|
82
|
+
* Returns true on success. Returns false on an invalid or unsupported |src|.
|
|
83
|
+
*
|
|
84
|
+
* Note: libwebp API also supports set background color, loop limit and customize
|
|
85
|
+
* lossy/lossless for each frame. These could be added later as needed.
|
|
86
|
+
*/
|
|
87
|
+
SK_API bool EncodeAnimated(SkWStream* dst,
|
|
88
|
+
SkSpan<const SkEncoder::Frame> src,
|
|
89
|
+
const Options& options);
|
|
63
90
|
} // namespace SkWebpEncoder
|
|
64
91
|
|
|
65
92
|
#endif
|
|
@@ -26,16 +26,29 @@ enum class BackendApi : unsigned {
|
|
|
26
26
|
kMock,
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
+
/** Indicates whether an allocation should count against a cache budget. */
|
|
30
|
+
enum class Budgeted : bool {
|
|
31
|
+
kNo = false,
|
|
32
|
+
kYes = true,
|
|
33
|
+
};
|
|
34
|
+
|
|
29
35
|
/**
|
|
30
36
|
* Value passed into various callbacks to tell the client the result of operations connected to a
|
|
31
37
|
* specific callback. The actual interpretation of kFailed and kSuccess are dependent on the
|
|
32
38
|
* specific callbacks and are documented with the callback itself.
|
|
33
39
|
*/
|
|
34
40
|
enum class CallbackResult : bool {
|
|
35
|
-
kFailed =
|
|
41
|
+
kFailed = false,
|
|
36
42
|
kSuccess = true,
|
|
37
43
|
};
|
|
38
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Is the texture mipmapped or not
|
|
47
|
+
*/
|
|
48
|
+
enum class Mipmapped : bool {
|
|
49
|
+
kNo = false,
|
|
50
|
+
kYes = true,
|
|
51
|
+
};
|
|
39
52
|
|
|
40
53
|
/**
|
|
41
54
|
* Is the data protected on the GPU or not.
|
|
@@ -45,6 +58,15 @@ enum class Protected : bool {
|
|
|
45
58
|
kYes = true,
|
|
46
59
|
};
|
|
47
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Is a texture renderable or not
|
|
63
|
+
*/
|
|
64
|
+
enum class Renderable : bool {
|
|
65
|
+
kNo = false,
|
|
66
|
+
kYes = true,
|
|
67
|
+
};
|
|
68
|
+
|
|
48
69
|
} // namespace skgpu
|
|
49
70
|
|
|
71
|
+
|
|
50
72
|
#endif // skgpu_GpuTypes_DEFINED
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
class GrVkImageLayout;
|
|
36
36
|
class GrGLTextureParameters;
|
|
37
37
|
class GrColorFormatDesc;
|
|
38
|
+
enum class SkTextureCompressionType;
|
|
38
39
|
|
|
39
40
|
namespace skgpu {
|
|
40
41
|
class MutableTextureStateRef;
|
|
@@ -57,7 +58,7 @@ class GrD3DResourceState;
|
|
|
57
58
|
class SkString;
|
|
58
59
|
#endif
|
|
59
60
|
|
|
60
|
-
#if !
|
|
61
|
+
#if !defined(SK_GANESH)
|
|
61
62
|
|
|
62
63
|
// SkSurfaceCharacterization always needs a minimal version of this
|
|
63
64
|
class SK_API GrBackendFormat {
|
|
@@ -124,7 +125,8 @@ public:
|
|
|
124
125
|
}
|
|
125
126
|
#endif
|
|
126
127
|
|
|
127
|
-
static GrBackendFormat MakeMock(GrColorType colorType,
|
|
128
|
+
static GrBackendFormat MakeMock(GrColorType colorType,
|
|
129
|
+
SkTextureCompressionType compression,
|
|
128
130
|
bool isStencilFormat = false);
|
|
129
131
|
|
|
130
132
|
bool operator==(const GrBackendFormat& that) const;
|
|
@@ -191,7 +193,7 @@ public:
|
|
|
191
193
|
* kUnknown, the compression type is not kNone, or this is a mock stencil format.
|
|
192
194
|
*/
|
|
193
195
|
GrColorType asMockColorType() const;
|
|
194
|
-
|
|
196
|
+
SkTextureCompressionType asMockCompressionType() const;
|
|
195
197
|
bool isMockStencilFormat() const;
|
|
196
198
|
|
|
197
199
|
// If possible, copies the GrBackendFormat and forces the texture type to be Texture2D. If the
|
|
@@ -228,7 +230,7 @@ private:
|
|
|
228
230
|
GrBackendFormat(DXGI_FORMAT dxgiFormat);
|
|
229
231
|
#endif
|
|
230
232
|
|
|
231
|
-
GrBackendFormat(GrColorType,
|
|
233
|
+
GrBackendFormat(GrColorType, SkTextureCompressionType, bool isStencilFormat);
|
|
232
234
|
|
|
233
235
|
#ifdef SK_DEBUG
|
|
234
236
|
bool validateMock() const;
|
|
@@ -259,9 +261,9 @@ private:
|
|
|
259
261
|
DXGI_FORMAT fDxgiFormat;
|
|
260
262
|
#endif
|
|
261
263
|
struct {
|
|
262
|
-
GrColorType
|
|
263
|
-
|
|
264
|
-
bool
|
|
264
|
+
GrColorType fColorType;
|
|
265
|
+
SkTextureCompressionType fCompressionType;
|
|
266
|
+
bool fIsStencilFormat;
|
|
265
267
|
} fMock;
|
|
266
268
|
};
|
|
267
269
|
GrTextureType fTextureType = GrTextureType::kNone;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
class SkExecutor;
|
|
22
22
|
|
|
23
|
-
#if
|
|
23
|
+
#if defined(SK_GANESH)
|
|
24
24
|
struct SK_API GrContextOptions {
|
|
25
25
|
enum class Enable {
|
|
26
26
|
/** Forces an option to be disabled. */
|
|
@@ -80,8 +80,9 @@ struct SK_API GrContextOptions {
|
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
82
|
* Controls whether we check for GL errors after functions that allocate resources (e.g.
|
|
83
|
-
* glTexImage2D),
|
|
84
|
-
*
|
|
83
|
+
* glTexImage2D), at the end of a GPU submission, or checking framebuffer completeness. The
|
|
84
|
+
* results of shader compilation and program linking are always checked, regardless of this
|
|
85
|
+
* option. Ignored on backends other than GL.
|
|
85
86
|
*/
|
|
86
87
|
Enable fSkipGLErrorChecks = Enable::kDefault;
|
|
87
88
|
|
|
@@ -244,6 +245,12 @@ struct SK_API GrContextOptions {
|
|
|
244
245
|
*/
|
|
245
246
|
bool fSuppressMipmapSupport = false;
|
|
246
247
|
|
|
248
|
+
/**
|
|
249
|
+
* If true, the TessellationPathRenderer will not be used for path rendering.
|
|
250
|
+
* If false, will fallback to any driver workarounds, if set.
|
|
251
|
+
*/
|
|
252
|
+
bool fDisableTessellationPathRenderer = false;
|
|
253
|
+
|
|
247
254
|
/**
|
|
248
255
|
* If true, and if supported, enables hardware tessellation in the caps.
|
|
249
256
|
* DEPRECATED: This value is ignored; experimental hardware tessellation is always disabled.
|
|
@@ -254,13 +261,7 @@ struct SK_API GrContextOptions {
|
|
|
254
261
|
* If true, then add 1 pixel padding to all glyph masks in the atlas to support bi-lerp
|
|
255
262
|
* rendering of all glyphs. This must be set to true to use Slugs.
|
|
256
263
|
*/
|
|
257
|
-
#if defined(SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG) || \
|
|
258
|
-
defined(SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG_SERIALIZE) || \
|
|
259
|
-
defined(SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG_STRIKE_SERIALIZE)
|
|
260
|
-
bool fSupportBilerpFromGlyphAtlas = true;
|
|
261
|
-
#else
|
|
262
264
|
bool fSupportBilerpFromGlyphAtlas = false;
|
|
263
|
-
#endif
|
|
264
265
|
|
|
265
266
|
/**
|
|
266
267
|
* Uses a reduced variety of shaders. May perform less optimally in steady state but can reduce
|
|
@@ -273,6 +274,24 @@ struct SK_API GrContextOptions {
|
|
|
273
274
|
*/
|
|
274
275
|
bool fAllowMSAAOnNewIntel = false;
|
|
275
276
|
|
|
277
|
+
/**
|
|
278
|
+
* Currently on ARM Android we disable the use of GL TexStorage because of memory regressions.
|
|
279
|
+
* However, some clients may still want to use TexStorage. For example, TexStorage support is
|
|
280
|
+
* required for creating protected textures.
|
|
281
|
+
*
|
|
282
|
+
* This flag has no impact on non GL backends.
|
|
283
|
+
*/
|
|
284
|
+
bool fAlwaysUseTexStorageWhenAvailable = false;
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Optional callback that can be passed into the GrDirectContext which will be called when the
|
|
288
|
+
* GrDirectContext is about to be destroyed. When this call is made, it will be safe for the
|
|
289
|
+
* client to delete the GPU backend context that is backing the GrDirectContext. The
|
|
290
|
+
* GrDirectContextDestroyedContext will be passed back to the client in the callback.
|
|
291
|
+
*/
|
|
292
|
+
GrDirectContextDestroyedContext fContextDeleteContext = nullptr;
|
|
293
|
+
GrDirectContextDestroyedProc fContextDeleteProc = nullptr;
|
|
294
|
+
|
|
276
295
|
#if GR_TEST_UTILS
|
|
277
296
|
/**
|
|
278
297
|
* Private options that are only meant for testing within Skia's tools.
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkRefCnt.h"
|
|
12
12
|
|
|
13
|
-
#if
|
|
13
|
+
#if defined(SK_GANESH)
|
|
14
14
|
|
|
15
15
|
#include "include/core/SkImageInfo.h"
|
|
16
|
+
#include "include/gpu/GpuTypes.h"
|
|
16
17
|
#include "include/gpu/GrContextOptions.h"
|
|
17
18
|
#include "include/gpu/GrTypes.h"
|
|
18
19
|
|
|
@@ -25,6 +26,7 @@ class GrThreadSafeCache;
|
|
|
25
26
|
class GrThreadSafePipelineBuilder;
|
|
26
27
|
class SkSurfaceCharacterization;
|
|
27
28
|
class SkSurfaceProps;
|
|
29
|
+
enum class SkTextureCompressionType;
|
|
28
30
|
|
|
29
31
|
namespace sktext::gpu { class TextBlobRedrawCoordinator; }
|
|
30
32
|
|
|
@@ -107,13 +109,13 @@ public:
|
|
|
107
109
|
GrBackendFormat defaultBackendFormat(SkColorType ct, GrRenderable renderable) const;
|
|
108
110
|
|
|
109
111
|
/**
|
|
110
|
-
* Retrieve the GrBackendFormat for a given
|
|
112
|
+
* Retrieve the GrBackendFormat for a given SkTextureCompressionType. This is
|
|
111
113
|
* guaranteed to match the backend format used by the following
|
|
112
114
|
* createCompressedBackendTexture methods that take a CompressionType.
|
|
113
115
|
*
|
|
114
116
|
* The caller should check that the returned format is valid.
|
|
115
117
|
*/
|
|
116
|
-
GrBackendFormat compressedBackendFormat(
|
|
118
|
+
GrBackendFormat compressedBackendFormat(SkTextureCompressionType c) const;
|
|
117
119
|
|
|
118
120
|
/**
|
|
119
121
|
* Gets the maximum supported sample count for a color type. 1 is returned if only non-MSAA
|
|
@@ -160,7 +162,7 @@ private:
|
|
|
160
162
|
std::atomic<bool> fAbandoned{false};
|
|
161
163
|
};
|
|
162
164
|
|
|
163
|
-
#else // !
|
|
165
|
+
#else // !defined(SK_GANESH)
|
|
164
166
|
class SK_API GrContextThreadSafeProxy final : public SkNVRefCnt<GrContextThreadSafeProxy> {};
|
|
165
167
|
#endif
|
|
166
168
|
|