@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
|
@@ -0,0 +1,139 @@
|
|
|
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 skgpu_graphite_YUVABackendTextures_DEFINED
|
|
9
|
+
#define skgpu_graphite_YUVABackendTextures_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkSpan.h"
|
|
12
|
+
#include "include/core/SkYUVAInfo.h"
|
|
13
|
+
#include "include/gpu/graphite/BackendTexture.h"
|
|
14
|
+
|
|
15
|
+
#include <tuple>
|
|
16
|
+
|
|
17
|
+
namespace skgpu::graphite {
|
|
18
|
+
class Recorder;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A description of a set of BackendTextures that hold the planar data described by a SkYUVAInfo.
|
|
22
|
+
*/
|
|
23
|
+
class SK_API YUVABackendTextureInfo {
|
|
24
|
+
public:
|
|
25
|
+
static constexpr auto kMaxPlanes = SkYUVAInfo::kMaxPlanes;
|
|
26
|
+
|
|
27
|
+
/** Default YUVABackendTextureInfo is invalid. */
|
|
28
|
+
YUVABackendTextureInfo() = default;
|
|
29
|
+
YUVABackendTextureInfo(const YUVABackendTextureInfo&) = default;
|
|
30
|
+
YUVABackendTextureInfo& operator=(const YUVABackendTextureInfo&) = default;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Initializes a YUVABackendTextureInfo to describe a set of textures that can store the
|
|
34
|
+
* planes indicated by the SkYUVAInfo. The texture dimensions are taken from the SkYUVAInfo's
|
|
35
|
+
* plane dimensions. All the described textures share a common origin. The planar image this
|
|
36
|
+
* describes will be mip mapped if all the textures are individually mip mapped as indicated
|
|
37
|
+
* by Mipmapped. This will produce an invalid result (return false from isValid()) if the
|
|
38
|
+
* passed formats' channels don't agree with SkYUVAInfo.
|
|
39
|
+
*/
|
|
40
|
+
YUVABackendTextureInfo(const Recorder*,
|
|
41
|
+
const SkYUVAInfo&,
|
|
42
|
+
const TextureInfo[kMaxPlanes],
|
|
43
|
+
Mipmapped);
|
|
44
|
+
|
|
45
|
+
bool operator==(const YUVABackendTextureInfo&) const;
|
|
46
|
+
bool operator!=(const YUVABackendTextureInfo& that) const { return !(*this == that); }
|
|
47
|
+
|
|
48
|
+
/** TextureInfo for the ith plane, or invalid if i >= numPlanes() */
|
|
49
|
+
const TextureInfo& planeTextureInfo(int i) const {
|
|
50
|
+
SkASSERT(i >= 0);
|
|
51
|
+
return fPlaneTextureInfos[static_cast<size_t>(i)];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const SkYUVAInfo& yuvaInfo() const { return fYUVAInfo; }
|
|
55
|
+
|
|
56
|
+
SkYUVColorSpace yuvColorSpace() const { return fYUVAInfo.yuvColorSpace(); }
|
|
57
|
+
|
|
58
|
+
Mipmapped mipmapped() const { return fMipmapped; }
|
|
59
|
+
|
|
60
|
+
/** The number of planes, 0 if this YUVABackendTextureInfo is invalid. */
|
|
61
|
+
int numPlanes() const { return fYUVAInfo.numPlanes(); }
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Returns true if this has been configured with a valid SkYUVAInfo with compatible texture
|
|
65
|
+
* formats.
|
|
66
|
+
*/
|
|
67
|
+
bool isValid() const { return fYUVAInfo.isValid(); }
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Computes a YUVALocations representation of the planar layout. The result is guaranteed to be
|
|
71
|
+
* valid if this->isValid().
|
|
72
|
+
*/
|
|
73
|
+
SkYUVAInfo::YUVALocations toYUVALocations() const;
|
|
74
|
+
|
|
75
|
+
private:
|
|
76
|
+
SkYUVAInfo fYUVAInfo;
|
|
77
|
+
std::array<TextureInfo, kMaxPlanes> fPlaneTextureInfos;
|
|
78
|
+
std::array<uint32_t, kMaxPlanes> fPlaneChannelMasks;
|
|
79
|
+
Mipmapped fMipmapped = Mipmapped::kNo;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* A set of BackendTextures that hold the planar data for an image described a SkYUVAInfo.
|
|
84
|
+
*/
|
|
85
|
+
class SK_API YUVABackendTextures {
|
|
86
|
+
public:
|
|
87
|
+
static constexpr auto kMaxPlanes = SkYUVAInfo::kMaxPlanes;
|
|
88
|
+
|
|
89
|
+
YUVABackendTextures() = default;
|
|
90
|
+
YUVABackendTextures(const YUVABackendTextures&) = delete;
|
|
91
|
+
YUVABackendTextures& operator=(const YUVABackendTextures&) = delete;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Initializes a YUVABackendTextures object from a set of textures that store the planes
|
|
95
|
+
* indicated by the SkYUVAInfo. This will produce an invalid result (return false from
|
|
96
|
+
* isValid()) if the passed texture formats' channels don't agree with SkYUVAInfo.
|
|
97
|
+
*/
|
|
98
|
+
YUVABackendTextures(const Recorder*,
|
|
99
|
+
const SkYUVAInfo&,
|
|
100
|
+
const BackendTexture[kMaxPlanes]);
|
|
101
|
+
|
|
102
|
+
SkSpan<const BackendTexture> planeTextures() const {
|
|
103
|
+
return SkSpan<const BackendTexture>(fPlaneTextures);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/** BackendTexture for the ith plane, or invalid if i >= numPlanes() */
|
|
107
|
+
BackendTexture planeTexture(int i) const {
|
|
108
|
+
SkASSERT(i >= 0);
|
|
109
|
+
return fPlaneTextures[static_cast<size_t>(i)];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const SkYUVAInfo& yuvaInfo() const { return fYUVAInfo; }
|
|
113
|
+
|
|
114
|
+
SkYUVColorSpace yuvColorSpace() const { return fYUVAInfo.yuvColorSpace(); }
|
|
115
|
+
|
|
116
|
+
/** The number of planes, 0 if this YUVABackendTextureInfo is invalid. */
|
|
117
|
+
int numPlanes() const { return fYUVAInfo.numPlanes(); }
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Returns true if this has been configured with a valid SkYUVAInfo with compatible texture
|
|
121
|
+
* formats.
|
|
122
|
+
*/
|
|
123
|
+
bool isValid() const { return fYUVAInfo.isValid(); }
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Computes a YUVALocations representation of the planar layout. The result is guaranteed to be
|
|
127
|
+
* valid if this->isValid().
|
|
128
|
+
*/
|
|
129
|
+
SkYUVAInfo::YUVALocations toYUVALocations() const;
|
|
130
|
+
|
|
131
|
+
private:
|
|
132
|
+
SkYUVAInfo fYUVAInfo;
|
|
133
|
+
std::array<BackendTexture, kMaxPlanes> fPlaneTextures;
|
|
134
|
+
std::array<uint32_t, kMaxPlanes> fPlaneChannelMasks;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
} // End of namespace skgpu::graphite
|
|
138
|
+
|
|
139
|
+
#endif // skgpu_graphite_YUVABackendTextures_DEFINED
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 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 skgpu_graphite_DawnTypes_DEFINED
|
|
9
|
+
#define skgpu_graphite_DawnTypes_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/gpu/graphite/GraphiteTypes.h"
|
|
12
|
+
#include "webgpu/webgpu_cpp.h"
|
|
13
|
+
|
|
14
|
+
namespace skgpu::graphite {
|
|
15
|
+
|
|
16
|
+
struct DawnTextureInfo {
|
|
17
|
+
uint32_t fSampleCount = 1;
|
|
18
|
+
Mipmapped fMipmapped = Mipmapped::kNo;
|
|
19
|
+
|
|
20
|
+
// wgpu::TextureDescriptor properties
|
|
21
|
+
wgpu::TextureFormat fFormat = wgpu::TextureFormat::Undefined;
|
|
22
|
+
wgpu::TextureUsage fUsage = wgpu::TextureUsage::None;
|
|
23
|
+
|
|
24
|
+
DawnTextureInfo() = default;
|
|
25
|
+
DawnTextureInfo(const wgpu::Texture& texture);
|
|
26
|
+
DawnTextureInfo(uint32_t sampleCount,
|
|
27
|
+
Mipmapped mipmapped,
|
|
28
|
+
wgpu::TextureFormat format,
|
|
29
|
+
wgpu::TextureUsage usage)
|
|
30
|
+
: fSampleCount(sampleCount)
|
|
31
|
+
, fMipmapped(mipmapped)
|
|
32
|
+
, fFormat(format)
|
|
33
|
+
, fUsage(usage) {}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
} // namespace skgpu::graphite
|
|
37
|
+
|
|
38
|
+
#endif // skgpu_graphite_DawnTypes_DEFINED
|
|
39
|
+
|
|
40
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 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 skgpu_graphite_DawnUtils_DEFINED
|
|
9
|
+
#define skgpu_graphite_DawnUtils_DEFINED
|
|
10
|
+
|
|
11
|
+
#include <memory>
|
|
12
|
+
|
|
13
|
+
#include "include/private/base/SkAPI.h"
|
|
14
|
+
|
|
15
|
+
namespace skgpu::graphite {
|
|
16
|
+
|
|
17
|
+
class Context;
|
|
18
|
+
struct ContextOptions;
|
|
19
|
+
struct DawnBackendContext;
|
|
20
|
+
|
|
21
|
+
namespace ContextFactory {
|
|
22
|
+
SK_API std::unique_ptr<Context> MakeDawn(const DawnBackendContext&, const ContextOptions&);
|
|
23
|
+
} // namespace ContextFactory
|
|
24
|
+
|
|
25
|
+
} // namespace skgpu::graphite
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
#endif // skgpu_graphite_DawnUtils_DEFINED
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* found in the LICENSE file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#ifndef
|
|
9
|
-
#define
|
|
8
|
+
#ifndef skgpu_graphite_MtlGraphiteTypes_DEFINED
|
|
9
|
+
#define skgpu_graphite_MtlGraphiteTypes_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/gpu/graphite/GraphiteTypes.h"
|
|
11
12
|
#include "include/ports/SkCFObject.h"
|
|
12
13
|
|
|
13
14
|
///////////////////////////////////////////////////////////////////////////////
|
|
@@ -38,7 +39,7 @@ using MtlHandle = const void*;
|
|
|
38
39
|
|
|
39
40
|
struct MtlTextureInfo {
|
|
40
41
|
uint32_t fSampleCount = 1;
|
|
41
|
-
|
|
42
|
+
skgpu::Mipmapped fMipmapped = skgpu::Mipmapped::kNo;
|
|
42
43
|
|
|
43
44
|
// Since we aren't in an Obj-C header we can't directly use Mtl types here. Each of these can
|
|
44
45
|
// cast to their mapped Mtl types list below.
|
|
@@ -50,13 +51,13 @@ struct MtlTextureInfo {
|
|
|
50
51
|
MtlTextureInfo() = default;
|
|
51
52
|
MtlTextureInfo(MtlHandle mtlTexture);
|
|
52
53
|
MtlTextureInfo(uint32_t sampleCount,
|
|
53
|
-
|
|
54
|
+
skgpu::Mipmapped mipmapped,
|
|
54
55
|
MtlPixelFormat format,
|
|
55
56
|
MtlTextureUsage usage,
|
|
56
57
|
MtlStorageMode storageMode,
|
|
57
58
|
bool framebufferOnly)
|
|
58
59
|
: fSampleCount(sampleCount)
|
|
59
|
-
,
|
|
60
|
+
, fMipmapped(mipmapped)
|
|
60
61
|
, fFormat(format)
|
|
61
62
|
, fUsage(usage)
|
|
62
63
|
, fStorageMode(storageMode)
|
|
@@ -65,4 +66,4 @@ struct MtlTextureInfo {
|
|
|
65
66
|
|
|
66
67
|
} // namespace skgpu::graphite
|
|
67
68
|
|
|
68
|
-
#endif //
|
|
69
|
+
#endif // skgpu_graphite_MtlGraphiteTypes_DEFINED
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 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 skgpu_graphite_MtlGraphiteUtils_DEFINED
|
|
9
|
+
#define skgpu_graphite_MtlGraphiteUtils_DEFINED
|
|
10
|
+
|
|
11
|
+
#include <memory>
|
|
12
|
+
|
|
13
|
+
#include "include/private/base/SkAPI.h"
|
|
14
|
+
|
|
15
|
+
namespace skgpu::graphite {
|
|
16
|
+
|
|
17
|
+
class Context;
|
|
18
|
+
struct ContextOptions;
|
|
19
|
+
struct MtlBackendContext;
|
|
20
|
+
|
|
21
|
+
namespace ContextFactory {
|
|
22
|
+
SK_API std::unique_ptr<Context> MakeMetal(const MtlBackendContext&, const ContextOptions&);
|
|
23
|
+
} // namespace ContextFactory
|
|
24
|
+
|
|
25
|
+
} // namespace skgpu::graphite
|
|
26
|
+
|
|
27
|
+
#endif // skgpu_graphite_MtlGraphiteUtils_DEFINED
|
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
#ifndef skgpu_graphite_VulkanGraphiteTypes_DEFINED
|
|
9
9
|
#define skgpu_graphite_VulkanGraphiteTypes_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/gpu/graphite/GraphiteTypes.h"
|
|
11
12
|
#include "include/gpu/vk/VulkanTypes.h"
|
|
12
13
|
|
|
13
14
|
namespace skgpu::graphite {
|
|
14
15
|
|
|
15
16
|
struct VulkanTextureInfo {
|
|
16
17
|
uint32_t fSampleCount = 1;
|
|
17
|
-
|
|
18
|
+
Mipmapped fMipmapped = Mipmapped::kNo;
|
|
18
19
|
|
|
19
20
|
// VkImageCreateInfo properties
|
|
20
21
|
// Currently the only supported flag is VK_IMAGE_CREATE_PROTECTED_BIT. Any other flag will not
|
|
@@ -24,8 +25,6 @@ struct VulkanTextureInfo {
|
|
|
24
25
|
VkImageTiling fImageTiling = VK_IMAGE_TILING_OPTIMAL;
|
|
25
26
|
VkImageUsageFlags fImageUsageFlags = 0;
|
|
26
27
|
VkSharingMode fSharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
|
27
|
-
uint32_t fCurrentQueueFamily = VK_QUEUE_FAMILY_IGNORED;
|
|
28
|
-
VkImageLayout fImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
|
29
28
|
|
|
30
29
|
// Properties related to the image view and sampling. These are less inherent properties of the
|
|
31
30
|
// VkImage but describe how the VkImage should be used within Skia.
|
|
@@ -41,24 +40,20 @@ struct VulkanTextureInfo {
|
|
|
41
40
|
|
|
42
41
|
VulkanTextureInfo() = default;
|
|
43
42
|
VulkanTextureInfo(uint32_t sampleCount,
|
|
44
|
-
|
|
43
|
+
Mipmapped mipmapped,
|
|
45
44
|
VkImageCreateFlags flags,
|
|
46
45
|
VkFormat format,
|
|
47
46
|
VkImageTiling imageTiling,
|
|
48
47
|
VkImageUsageFlags imageUsageFlags,
|
|
49
48
|
VkSharingMode sharingMode,
|
|
50
|
-
uint32_t currentQueueFamily,
|
|
51
|
-
VkImageLayout imageLayout,
|
|
52
49
|
VkImageAspectFlags aspectMask)
|
|
53
50
|
: fSampleCount(sampleCount)
|
|
54
|
-
,
|
|
51
|
+
, fMipmapped(mipmapped)
|
|
55
52
|
, fFlags(flags)
|
|
56
53
|
, fFormat(format)
|
|
57
54
|
, fImageTiling(imageTiling)
|
|
58
55
|
, fImageUsageFlags(imageUsageFlags)
|
|
59
56
|
, fSharingMode(sharingMode)
|
|
60
|
-
, fCurrentQueueFamily(currentQueueFamily)
|
|
61
|
-
, fImageLayout(imageLayout)
|
|
62
57
|
, fAspectMask(aspectMask) {}
|
|
63
58
|
};
|
|
64
59
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 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 skgpu_graphite_VulkanGraphiteUtils_DEFINED
|
|
9
|
+
#define skgpu_graphite_VulkanGraphiteUtils_DEFINED
|
|
10
|
+
|
|
11
|
+
#include <memory>
|
|
12
|
+
|
|
13
|
+
#include "include/private/base/SkAPI.h"
|
|
14
|
+
|
|
15
|
+
namespace skgpu { struct VulkanBackendContext; }
|
|
16
|
+
|
|
17
|
+
namespace skgpu::graphite {
|
|
18
|
+
|
|
19
|
+
class Context;
|
|
20
|
+
struct ContextOptions;
|
|
21
|
+
|
|
22
|
+
namespace ContextFactory {
|
|
23
|
+
SK_API std::unique_ptr<Context> MakeVulkan(const VulkanBackendContext&, const ContextOptions&);
|
|
24
|
+
} // namespace ContextFactory
|
|
25
|
+
|
|
26
|
+
} // namespace skgpu::graphite
|
|
27
|
+
|
|
28
|
+
#endif // skgpu_graphite_VulkanGraphiteUtils_DEFINED
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
#ifndef GrMockOptions_DEFINED
|
|
9
9
|
#define GrMockOptions_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/
|
|
11
|
+
#include "include/core/SkTextureCompressionType.h"
|
|
12
|
+
#include "include/gpu/GpuTypes.h"
|
|
12
13
|
#include "include/private/gpu/ganesh/GrTypesPriv.h"
|
|
13
14
|
|
|
14
15
|
class GrBackendFormat;
|
|
@@ -16,17 +17,17 @@ class GrBackendFormat;
|
|
|
16
17
|
struct GrMockTextureInfo {
|
|
17
18
|
GrMockTextureInfo()
|
|
18
19
|
: fColorType(GrColorType::kUnknown)
|
|
19
|
-
, fCompressionType(
|
|
20
|
+
, fCompressionType(SkTextureCompressionType::kNone)
|
|
20
21
|
, fID(0) {}
|
|
21
22
|
|
|
22
23
|
GrMockTextureInfo(GrColorType colorType,
|
|
23
|
-
|
|
24
|
+
SkTextureCompressionType compressionType,
|
|
24
25
|
int id)
|
|
25
26
|
: fColorType(colorType)
|
|
26
27
|
, fCompressionType(compressionType)
|
|
27
28
|
, fID(id) {
|
|
28
29
|
SkASSERT(fID);
|
|
29
|
-
if (fCompressionType !=
|
|
30
|
+
if (fCompressionType != SkTextureCompressionType::kNone) {
|
|
30
31
|
SkASSERT(colorType == GrColorType::kUnknown);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
@@ -39,10 +40,10 @@ struct GrMockTextureInfo {
|
|
|
39
40
|
|
|
40
41
|
GrBackendFormat getBackendFormat() const;
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
SkTextureCompressionType compressionType() const { return fCompressionType; }
|
|
43
44
|
|
|
44
45
|
GrColorType colorType() const {
|
|
45
|
-
SkASSERT(fCompressionType ==
|
|
46
|
+
SkASSERT(fCompressionType == SkTextureCompressionType::kNone);
|
|
46
47
|
return fColorType;
|
|
47
48
|
}
|
|
48
49
|
|
|
@@ -50,7 +51,7 @@ struct GrMockTextureInfo {
|
|
|
50
51
|
|
|
51
52
|
private:
|
|
52
53
|
GrColorType fColorType;
|
|
53
|
-
|
|
54
|
+
SkTextureCompressionType fCompressionType;
|
|
54
55
|
int fID;
|
|
55
56
|
};
|
|
56
57
|
|
|
@@ -82,12 +83,15 @@ private:
|
|
|
82
83
|
struct GrMockSurfaceInfo {
|
|
83
84
|
uint32_t fSampleCount = 1;
|
|
84
85
|
uint32_t fLevelCount = 0;
|
|
85
|
-
|
|
86
|
+
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
86
87
|
|
|
87
88
|
GrColorType fColorType = GrColorType::kUnknown;
|
|
88
|
-
|
|
89
|
+
SkTextureCompressionType fCompressionType = SkTextureCompressionType::kNone;
|
|
89
90
|
};
|
|
90
91
|
|
|
92
|
+
static constexpr int kSkTextureCompressionTypeCount =
|
|
93
|
+
static_cast<int>(SkTextureCompressionType::kLast) + 1;
|
|
94
|
+
|
|
91
95
|
/**
|
|
92
96
|
* A pointer to this type is used as the GrBackendContext when creating a Mock GrContext. It can be
|
|
93
97
|
* used to specify capability options for the mock context. If nullptr is used a default constructed
|
|
@@ -105,9 +109,9 @@ struct GrMockOptions {
|
|
|
105
109
|
|
|
106
110
|
fConfigOptions[(int)GrColorType::kBGRA_8888] = fConfigOptions[(int)GrColorType::kRGBA_8888];
|
|
107
111
|
|
|
108
|
-
fCompressedOptions[(int)
|
|
109
|
-
fCompressedOptions[(int)
|
|
110
|
-
fCompressedOptions[(int)
|
|
112
|
+
fCompressedOptions[(int)SkTextureCompressionType::kETC2_RGB8_UNORM].fTexturable = true;
|
|
113
|
+
fCompressedOptions[(int)SkTextureCompressionType::kBC1_RGB8_UNORM].fTexturable = true;
|
|
114
|
+
fCompressedOptions[(int)SkTextureCompressionType::kBC1_RGBA8_UNORM].fTexturable = true;
|
|
111
115
|
}
|
|
112
116
|
|
|
113
117
|
struct ConfigOptions {
|
|
@@ -126,7 +130,7 @@ struct GrMockOptions {
|
|
|
126
130
|
int fMaxWindowRectangles = 0;
|
|
127
131
|
int fMaxVertexAttributes = 16;
|
|
128
132
|
ConfigOptions fConfigOptions[kGrColorTypeCnt];
|
|
129
|
-
ConfigOptions fCompressedOptions[
|
|
133
|
+
ConfigOptions fCompressedOptions[kSkTextureCompressionTypeCount];
|
|
130
134
|
|
|
131
135
|
// GrShaderCaps options.
|
|
132
136
|
bool fIntegerSupport = false;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
#ifndef GrMtlTypes_DEFINED
|
|
9
9
|
#define GrMtlTypes_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/gpu/
|
|
11
|
+
#include "include/gpu/GpuTypes.h"
|
|
12
12
|
#include "include/ports/SkCFObject.h"
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -49,7 +49,7 @@ public:
|
|
|
49
49
|
struct GrMtlSurfaceInfo {
|
|
50
50
|
uint32_t fSampleCount = 1;
|
|
51
51
|
uint32_t fLevelCount = 0;
|
|
52
|
-
|
|
52
|
+
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
53
53
|
|
|
54
54
|
// Since we aren't in an Obj-C header we can't directly use Mtl types here. Each of these can
|
|
55
55
|
// cast to their mapped Mtl types list below.
|
|
@@ -72,7 +72,7 @@ struct SK_API GrVkBackendContext {
|
|
|
72
72
|
bool fOwnsInstanceAndDevice = false;
|
|
73
73
|
// Indicates that we are working with protected content and all CommandPool and Queue operations
|
|
74
74
|
// should be done in a protected context.
|
|
75
|
-
|
|
75
|
+
skgpu::Protected fProtectedContext = skgpu::Protected::kNo;
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
#endif
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#ifndef GrVkTypes_DEFINED
|
|
10
10
|
#define GrVkTypes_DEFINED
|
|
11
11
|
|
|
12
|
-
#include "include/gpu/
|
|
12
|
+
#include "include/gpu/GpuTypes.h"
|
|
13
13
|
#include "include/gpu/vk/VulkanTypes.h"
|
|
14
14
|
|
|
15
15
|
using GrVkBackendMemory = skgpu::VulkanBackendMemory;
|
|
@@ -72,7 +72,7 @@ struct GrVkImageInfo {
|
|
|
72
72
|
uint32_t fSampleCount = 1;
|
|
73
73
|
uint32_t fLevelCount = 0;
|
|
74
74
|
uint32_t fCurrentQueueFamily = VK_QUEUE_FAMILY_IGNORED;
|
|
75
|
-
|
|
75
|
+
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
76
76
|
GrVkYcbcrConversionInfo fYcbcrConversionInfo;
|
|
77
77
|
VkSharingMode fSharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
|
78
78
|
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
|
|
@@ -137,7 +137,7 @@ struct GrVkDrawableInfo {
|
|
|
137
137
|
struct GrVkSurfaceInfo {
|
|
138
138
|
uint32_t fSampleCount = 1;
|
|
139
139
|
uint32_t fLevelCount = 0;
|
|
140
|
-
|
|
140
|
+
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
141
141
|
|
|
142
142
|
VkImageTiling fImageTiling = VK_IMAGE_TILING_OPTIMAL;
|
|
143
143
|
VkFormat fFormat = VK_FORMAT_UNDEFINED;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkString.h"
|
|
12
12
|
#include "include/gpu/vk/VulkanTypes.h"
|
|
13
|
-
#include "include/private/SkTArray.h"
|
|
13
|
+
#include "include/private/base/SkTArray.h"
|
|
14
14
|
|
|
15
15
|
namespace skgpu {
|
|
16
16
|
|
|
@@ -48,7 +48,7 @@ public:
|
|
|
48
48
|
#ifdef SK_DEBUG
|
|
49
49
|
void dump() const {
|
|
50
50
|
SkDebugf("**Vulkan Extensions**\n");
|
|
51
|
-
for (int i = 0; i < fExtensions.
|
|
51
|
+
for (int i = 0; i < fExtensions.size(); ++i) {
|
|
52
52
|
SkDebugf("%s. Version: %d\n",
|
|
53
53
|
fExtensions[i].fName.c_str(), fExtensions[i].fSpecVersion);
|
|
54
54
|
}
|
|
@@ -59,7 +59,7 @@ public:
|
|
|
59
59
|
private:
|
|
60
60
|
void getSpecVersions(VulkanGetProc getProc, VkInstance, VkPhysicalDevice);
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
skia_private::TArray<Info> fExtensions;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
} // namespace skgpu
|
|
@@ -35,7 +35,7 @@ public:
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
enum class BufferUsage {
|
|
38
|
-
// Buffers that will only be accessed from the device (large const buffers)
|
|
38
|
+
// Buffers that will only be accessed from the device (large const buffers) will always be
|
|
39
39
|
// in device local memory.
|
|
40
40
|
kGpuOnly,
|
|
41
41
|
// Buffers that typically will be updated multiple times by the host and read on the gpu
|
|
@@ -103,12 +103,10 @@ public:
|
|
|
103
103
|
|
|
104
104
|
virtual void freeMemory(const skgpu::VulkanBackendMemory&) = 0;
|
|
105
105
|
|
|
106
|
-
// Returns the total amount of memory that is allocated
|
|
107
|
-
// allocator.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// Returns the total amount of memory that is allocated by this allocator.
|
|
111
|
-
virtual uint64_t totalAllocatedMemory() const = 0;
|
|
106
|
+
// Returns the total amount of memory that is allocated as well as total
|
|
107
|
+
// amount of memory in use by an allocation from this allocator.
|
|
108
|
+
// Return 1st param is total allocated memory, 2nd is total used memory.
|
|
109
|
+
virtual std::pair<uint64_t, uint64_t> totalAllocatedAndUsedMemory() const = 0;
|
|
112
110
|
};
|
|
113
111
|
|
|
114
112
|
} // namespace skgpu
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
#include "include/core/SkPath.h"
|
|
11
11
|
#include "include/core/SkTypes.h"
|
|
12
|
-
#include "include/private/SkTArray.h"
|
|
13
|
-
#include "include/private/SkTDArray.h"
|
|
12
|
+
#include "include/private/base/SkTArray.h"
|
|
13
|
+
#include "include/private/base/SkTDArray.h"
|
|
14
14
|
|
|
15
15
|
struct SkRect;
|
|
16
16
|
|
|
@@ -102,7 +102,7 @@ public:
|
|
|
102
102
|
bool resolve(SkPath* result);
|
|
103
103
|
|
|
104
104
|
private:
|
|
105
|
-
|
|
105
|
+
skia_private::TArray<SkPath> fPathRefs;
|
|
106
106
|
SkTDArray<SkPathOp> fOps;
|
|
107
107
|
|
|
108
108
|
static bool FixWinding(SkPath* path);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Google Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef SkFontMgr_data_DEFINED
|
|
8
|
+
#define SkFontMgr_data_DEFINED
|
|
9
|
+
|
|
10
|
+
#include "include/core/SkData.h"
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkSpan.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkFontMgr;
|
|
16
|
+
|
|
17
|
+
/** Create a custom font manager which wraps a collection of SkData-stored fonts.
|
|
18
|
+
* This font manager uses FreeType for rendering.
|
|
19
|
+
*/
|
|
20
|
+
SK_API sk_sp<SkFontMgr> SkFontMgr_New_Custom_Data(SkSpan<sk_sp<SkData>>);
|
|
21
|
+
|
|
22
|
+
#endif // SkFontMgr_data_DEFINED
|