@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,130 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2019 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
|
+
|
|
8
|
+
#ifndef GrVkSecondaryCBDrawContext_DEFINED
|
|
9
|
+
#define GrVkSecondaryCBDrawContext_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkSurfaceProps.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
#include <memory>
|
|
16
|
+
|
|
17
|
+
class GrBackendSemaphore;
|
|
18
|
+
class GrRecordingContext;
|
|
19
|
+
struct GrVkDrawableInfo;
|
|
20
|
+
namespace skgpu::ganesh {
|
|
21
|
+
class Device;
|
|
22
|
+
}
|
|
23
|
+
class SkCanvas;
|
|
24
|
+
class SkDeferredDisplayList;
|
|
25
|
+
struct SkImageInfo;
|
|
26
|
+
class SkSurfaceCharacterization;
|
|
27
|
+
class SkSurfaceProps;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* This class is a private header that is intended to only be used inside of Chromium. This requires
|
|
31
|
+
* Chromium to burrow in and include this specifically since it is not part of skia's public include
|
|
32
|
+
* directory.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* This class is used to draw into an external Vulkan secondary command buffer that is imported
|
|
37
|
+
* by the client. The secondary command buffer that gets imported must already have had begin called
|
|
38
|
+
* on it with VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT. Thus any draws to the imported
|
|
39
|
+
* command buffer cannot require changing the render pass. This requirement means that certain types
|
|
40
|
+
* of draws will not be supported when using a GrVkSecondaryCBDrawContext. This includes:
|
|
41
|
+
* Draws that require a dst copy for blending will be dropped
|
|
42
|
+
* Text draws will be dropped (these may require intermediate uploads of text data)
|
|
43
|
+
* Read and Write pixels will not work
|
|
44
|
+
* Any other draw that requires a copy will fail (this includes using backdrop filter with save
|
|
45
|
+
* layer).
|
|
46
|
+
* Stenciling is also disabled, but that should not restrict any actual draws from working.
|
|
47
|
+
*
|
|
48
|
+
* While using a GrVkSecondaryCBDrawContext, the client can also draw into normal SkSurfaces and
|
|
49
|
+
* then draw those SkSufaces (as SkImages) into the GrVkSecondaryCBDrawContext. If any of the
|
|
50
|
+
* previously mentioned unsupported draws are needed by the client, they can draw them into an
|
|
51
|
+
* offscreen surface, and then draw that into the GrVkSecondaryCBDrawContext.
|
|
52
|
+
*
|
|
53
|
+
* After all drawing to the GrVkSecondaryCBDrawContext has been done, the client must call flush()
|
|
54
|
+
* on the GrVkSecondaryCBDrawContext to actually fill in the secondary VkCommandBuffer with the
|
|
55
|
+
* draws.
|
|
56
|
+
*
|
|
57
|
+
* Additionally, the client must keep the GrVkSecondaryCBDrawContext alive until the secondary
|
|
58
|
+
* VkCommandBuffer has been submitted and all work finished on the GPU. Before deleting the
|
|
59
|
+
* GrVkSecondaryCBDrawContext, the client must call releaseResources() so that Skia can cleanup
|
|
60
|
+
* any internal objects that were created for the draws into the secondary command buffer.
|
|
61
|
+
*/
|
|
62
|
+
class SK_SPI GrVkSecondaryCBDrawContext : public SkRefCnt {
|
|
63
|
+
public:
|
|
64
|
+
static sk_sp<GrVkSecondaryCBDrawContext> Make(GrRecordingContext*,
|
|
65
|
+
const SkImageInfo&,
|
|
66
|
+
const GrVkDrawableInfo&,
|
|
67
|
+
const SkSurfaceProps* props);
|
|
68
|
+
|
|
69
|
+
~GrVkSecondaryCBDrawContext() override;
|
|
70
|
+
|
|
71
|
+
SkCanvas* getCanvas();
|
|
72
|
+
|
|
73
|
+
// Records all the draws to the imported secondary command buffer and sets any dependent
|
|
74
|
+
// offscreen draws to the GPU.
|
|
75
|
+
void flush();
|
|
76
|
+
|
|
77
|
+
/** Inserts a list of GPU semaphores that Skia will have the driver wait on before executing
|
|
78
|
+
commands for this secondary CB. The wait semaphores will get added to the VkCommandBuffer
|
|
79
|
+
owned by this GrContext when flush() is called, and not the command buffer which the
|
|
80
|
+
Secondary CB is from. This will guarantee that the driver waits on the semaphores before
|
|
81
|
+
the secondary command buffer gets executed. If this call returns false, then the GPU
|
|
82
|
+
back end will not wait on any passed in semaphores, and the client will still own the
|
|
83
|
+
semaphores, regardless of the value of deleteSemaphoresAfterWait.
|
|
84
|
+
|
|
85
|
+
If deleteSemaphoresAfterWait is false then Skia will not delete the semaphores. In this case
|
|
86
|
+
it is the client's responsibility to not destroy or attempt to reuse the semaphores until it
|
|
87
|
+
knows that Skia has finished waiting on them. This can be done by using finishedProcs
|
|
88
|
+
on flush calls.
|
|
89
|
+
|
|
90
|
+
@param numSemaphores size of waitSemaphores array
|
|
91
|
+
@param waitSemaphores array of semaphore containers
|
|
92
|
+
@paramm deleteSemaphoresAfterWait who owns and should delete the semaphores
|
|
93
|
+
@return true if GPU is waiting on semaphores
|
|
94
|
+
*/
|
|
95
|
+
bool wait(int numSemaphores,
|
|
96
|
+
const GrBackendSemaphore waitSemaphores[],
|
|
97
|
+
bool deleteSemaphoresAfterWait = true);
|
|
98
|
+
|
|
99
|
+
// This call will release all resources held by the draw context. The client must call
|
|
100
|
+
// releaseResources() before deleting the drawing context. However, the resources also include
|
|
101
|
+
// any Vulkan resources that were created and used for draws. Therefore the client must only
|
|
102
|
+
// call releaseResources() after submitting the secondary command buffer, and waiting for it to
|
|
103
|
+
// finish on the GPU. If it is called earlier then some vulkan objects may be deleted while they
|
|
104
|
+
// are still in use by the GPU.
|
|
105
|
+
void releaseResources();
|
|
106
|
+
|
|
107
|
+
const SkSurfaceProps& props() const { return fProps; }
|
|
108
|
+
|
|
109
|
+
// TODO: Fill out these calls to support DDL
|
|
110
|
+
bool characterize(SkSurfaceCharacterization* characterization) const;
|
|
111
|
+
|
|
112
|
+
#ifndef SK_DDL_IS_UNIQUE_POINTER
|
|
113
|
+
bool draw(sk_sp<const SkDeferredDisplayList> deferredDisplayList);
|
|
114
|
+
#else
|
|
115
|
+
bool draw(const SkDeferredDisplayList* deferredDisplayList);
|
|
116
|
+
#endif
|
|
117
|
+
|
|
118
|
+
bool isCompatible(const SkSurfaceCharacterization& characterization) const;
|
|
119
|
+
|
|
120
|
+
private:
|
|
121
|
+
explicit GrVkSecondaryCBDrawContext(sk_sp<skgpu::ganesh::Device>, const SkSurfaceProps*);
|
|
122
|
+
|
|
123
|
+
sk_sp<skgpu::ganesh::Device> fDevice;
|
|
124
|
+
std::unique_ptr<SkCanvas> fCachedCanvas;
|
|
125
|
+
const SkSurfaceProps fProps;
|
|
126
|
+
|
|
127
|
+
using INHERITED = SkRefCnt;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
#endif
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
#include "include/core/SkData.h"
|
|
15
15
|
#include "include/core/SkRefCnt.h"
|
|
16
|
+
#include "include/core/SkTypeface.h"
|
|
16
17
|
#include "include/utils/SkNoDrawCanvas.h"
|
|
17
18
|
|
|
18
19
|
struct SkPackedGlyphID;
|
|
@@ -21,7 +22,6 @@ class SkStrikeCache;
|
|
|
21
22
|
class SkStrikeClientImpl;
|
|
22
23
|
class SkStrikeServer;
|
|
23
24
|
class SkStrikeServerImpl;
|
|
24
|
-
class SkTypeface;
|
|
25
25
|
namespace sktext::gpu { class Slug; }
|
|
26
26
|
|
|
27
27
|
using SkDiscardableHandleId = uint32_t;
|
|
@@ -62,9 +62,6 @@ public:
|
|
|
62
62
|
bool DFTSupport,
|
|
63
63
|
bool DFTPerspSupport = true);
|
|
64
64
|
|
|
65
|
-
// Serializes the typeface to be transmitted using this server.
|
|
66
|
-
SK_SPI sk_sp<SkData> serializeTypeface(SkTypeface*);
|
|
67
|
-
|
|
68
65
|
// Serializes the strike data captured using a canvas returned by ::makeAnalysisCanvas. Any
|
|
69
66
|
// handles locked using the DiscardableHandleManager will be assumed to be
|
|
70
67
|
// unlocked after this call.
|
|
@@ -128,10 +125,6 @@ public:
|
|
|
128
125
|
SkStrikeCache* strikeCache = nullptr);
|
|
129
126
|
SK_SPI ~SkStrikeClient();
|
|
130
127
|
|
|
131
|
-
// Deserializes the typeface previously serialized using the SkStrikeServer. Returns null if the
|
|
132
|
-
// data is invalid.
|
|
133
|
-
SK_SPI sk_sp<SkTypeface> deserializeTypeface(const void* data, size_t length);
|
|
134
|
-
|
|
135
128
|
// Deserializes the strike data from a SkStrikeServer. All messages generated
|
|
136
129
|
// from a server when serializing the ops must be deserialized before the op
|
|
137
130
|
// is rasterized.
|
|
@@ -142,9 +135,12 @@ public:
|
|
|
142
135
|
// corresponding typefaceID on the GPU.
|
|
143
136
|
SK_SPI bool translateTypefaceID(SkAutoDescriptor* descriptor) const;
|
|
144
137
|
|
|
138
|
+
// Testing helpers
|
|
139
|
+
sk_sp<SkTypeface> retrieveTypefaceUsingServerIDForTest(SkTypefaceID) const;
|
|
140
|
+
|
|
145
141
|
// Given a buffer, unflatten into a slug making sure to do the typefaceID translation from
|
|
146
142
|
// renderer to GPU. Returns nullptr if there was a problem.
|
|
147
|
-
sk_sp<sktext::gpu::Slug>
|
|
143
|
+
sk_sp<sktext::gpu::Slug> deserializeSlugForTest(const void* data, size_t size) const;
|
|
148
144
|
|
|
149
145
|
private:
|
|
150
146
|
std::unique_ptr<SkStrikeClientImpl> fImpl;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2013 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
|
+
|
|
8
|
+
#ifndef SkDiscardableMemory_DEFINED
|
|
9
|
+
#define SkDiscardableMemory_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkTypes.h"
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Interface for discardable memory. Implementation is provided by the
|
|
16
|
+
* embedder.
|
|
17
|
+
*/
|
|
18
|
+
class SK_SPI SkDiscardableMemory {
|
|
19
|
+
public:
|
|
20
|
+
/**
|
|
21
|
+
* Factory method that creates, initializes and locks an SkDiscardableMemory
|
|
22
|
+
* object. If either of these steps fails, a nullptr pointer will be returned.
|
|
23
|
+
*/
|
|
24
|
+
static SkDiscardableMemory* Create(size_t bytes);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Factory class that creates, initializes and locks an SkDiscardableMemory
|
|
28
|
+
* object. If either of these steps fails, a nullptr pointer will be returned.
|
|
29
|
+
*/
|
|
30
|
+
class Factory : public SkRefCnt {
|
|
31
|
+
public:
|
|
32
|
+
virtual SkDiscardableMemory* create(size_t bytes) = 0;
|
|
33
|
+
private:
|
|
34
|
+
using INHERITED = SkRefCnt;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/** Must not be called while locked.
|
|
38
|
+
*/
|
|
39
|
+
virtual ~SkDiscardableMemory() {}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Locks the memory, prevent it from being discarded. Once locked. you may
|
|
43
|
+
* obtain a pointer to that memory using the data() method.
|
|
44
|
+
*
|
|
45
|
+
* lock() may return false, indicating that the underlying memory was
|
|
46
|
+
* discarded and that the lock failed.
|
|
47
|
+
*
|
|
48
|
+
* Nested calls to lock are not allowed.
|
|
49
|
+
*/
|
|
50
|
+
virtual bool SK_WARN_UNUSED_RESULT lock() = 0;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Returns the current pointer for the discardable memory. This call is ONLY
|
|
54
|
+
* valid when the discardable memory object is locked.
|
|
55
|
+
*/
|
|
56
|
+
virtual void* data() = 0;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Unlock the memory so that it can be purged by the system. Must be called
|
|
60
|
+
* after every successful lock call.
|
|
61
|
+
*/
|
|
62
|
+
virtual void unlock() = 0;
|
|
63
|
+
|
|
64
|
+
protected:
|
|
65
|
+
SkDiscardableMemory() = default;
|
|
66
|
+
SkDiscardableMemory(const SkDiscardableMemory&) = delete;
|
|
67
|
+
SkDiscardableMemory& operator=(const SkDiscardableMemory&) = delete;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
#endif
|
|
@@ -21,14 +21,6 @@ class SkStrikeClient;
|
|
|
21
21
|
class SkWriteBuffer;
|
|
22
22
|
|
|
23
23
|
namespace sktext::gpu {
|
|
24
|
-
|
|
25
|
-
// You can use Slug to simulate drawTextBlob by defining the following at compile time.
|
|
26
|
-
// SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG
|
|
27
|
-
// You can use Slug serialization to simulate drawTextBlob by defining the following:
|
|
28
|
-
// SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG_SERIALIZE
|
|
29
|
-
// For Skia, add this to your args.gn file.
|
|
30
|
-
// extra_cflags = ["-D", "SK_EXPERIMENTAL_SIMULATE_DRAWGLYPHRUNLIST_WITH_SLUG"]
|
|
31
|
-
|
|
32
24
|
// Slug encapsulates an SkTextBlob at a specific origin, using a specific paint. It can be
|
|
33
25
|
// manipulated using matrix and clip changes to the canvas. If the canvas is transformed, then
|
|
34
26
|
// the Slug will also transform with smaller glyphs using bi-linear interpolation to render. You
|
|
@@ -70,7 +62,6 @@ private:
|
|
|
70
62
|
static uint32_t NextUniqueID();
|
|
71
63
|
const uint32_t fUniqueID{NextUniqueID()};
|
|
72
64
|
};
|
|
73
|
-
|
|
74
65
|
} // namespace sktext::gpu
|
|
75
66
|
|
|
76
67
|
#endif // sktext_gpu_Slug_DEFINED
|
|
@@ -19,6 +19,7 @@ class GrContextThreadSafeProxy;
|
|
|
19
19
|
class GrDirectContext;
|
|
20
20
|
class GrImageContext;
|
|
21
21
|
class GrRecordingContext;
|
|
22
|
+
enum class SkTextureCompressionType;
|
|
22
23
|
|
|
23
24
|
class GrContext_Base : public SkRefCnt {
|
|
24
25
|
public:
|
|
@@ -43,7 +44,7 @@ public:
|
|
|
43
44
|
*/
|
|
44
45
|
SK_API GrBackendFormat defaultBackendFormat(SkColorType, GrRenderable) const;
|
|
45
46
|
|
|
46
|
-
SK_API GrBackendFormat compressedBackendFormat(
|
|
47
|
+
SK_API GrBackendFormat compressedBackendFormat(SkTextureCompressionType) const;
|
|
47
48
|
|
|
48
49
|
/**
|
|
49
50
|
* Gets the maximum supported sample count for a color type. 1 is returned if only non-MSAA
|
|
@@ -8,18 +8,19 @@
|
|
|
8
8
|
#ifndef GrMockTypesPriv_DEFINED
|
|
9
9
|
#define GrMockTypesPriv_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/core/SkTextureCompressionType.h"
|
|
11
12
|
#include "include/gpu/mock/GrMockTypes.h"
|
|
12
13
|
|
|
13
14
|
struct GrMockTextureSpec {
|
|
14
15
|
GrMockTextureSpec()
|
|
15
16
|
: fColorType(GrColorType::kUnknown)
|
|
16
|
-
, fCompressionType(
|
|
17
|
+
, fCompressionType(SkTextureCompressionType::kNone) {}
|
|
17
18
|
GrMockTextureSpec(const GrMockSurfaceInfo& info)
|
|
18
19
|
: fColorType(info.fColorType)
|
|
19
20
|
, fCompressionType(info.fCompressionType) {}
|
|
20
21
|
|
|
21
22
|
GrColorType fColorType = GrColorType::kUnknown;
|
|
22
|
-
|
|
23
|
+
SkTextureCompressionType fCompressionType = SkTextureCompressionType::kNone;
|
|
23
24
|
};
|
|
24
25
|
|
|
25
26
|
GrMockSurfaceInfo GrMockTextureSpecToSurfaceInfo(const GrMockTextureSpec& mockSpec,
|
|
@@ -8,28 +8,21 @@
|
|
|
8
8
|
#ifndef GrTypesPriv_DEFINED
|
|
9
9
|
#define GrTypesPriv_DEFINED
|
|
10
10
|
|
|
11
|
-
#include
|
|
12
|
-
#include "include/core/SkImage.h"
|
|
11
|
+
#include "include/core/SkColor.h"
|
|
13
12
|
#include "include/core/SkImageInfo.h"
|
|
14
13
|
#include "include/core/SkPath.h"
|
|
15
14
|
#include "include/core/SkRefCnt.h"
|
|
15
|
+
#include "include/core/SkTextureCompressionType.h"
|
|
16
16
|
#include "include/gpu/GrTypes.h"
|
|
17
|
-
#include "include/private/
|
|
18
|
-
#include "include/private/
|
|
17
|
+
#include "include/private/base/SkMacros.h"
|
|
18
|
+
#include "include/private/base/SkTypeTraits.h"
|
|
19
|
+
|
|
20
|
+
#include <functional>
|
|
19
21
|
|
|
20
22
|
class GrBackendFormat;
|
|
21
23
|
class GrCaps;
|
|
22
24
|
class GrSurfaceProxy;
|
|
23
25
|
|
|
24
|
-
// The old libstdc++ uses the draft name "monotonic_clock" rather than "steady_clock". This might
|
|
25
|
-
// not actually be monotonic, depending on how libstdc++ was built. However, this is only currently
|
|
26
|
-
// used for idle resource purging so it shouldn't cause a correctness problem.
|
|
27
|
-
#if defined(__GLIBCXX__) && (__GLIBCXX__ < 20130000)
|
|
28
|
-
using GrStdSteadyClock = std::chrono::monotonic_clock;
|
|
29
|
-
#else
|
|
30
|
-
using GrStdSteadyClock = std::chrono::steady_clock;
|
|
31
|
-
#endif
|
|
32
|
-
|
|
33
26
|
/**
|
|
34
27
|
* divide, rounding up
|
|
35
28
|
*/
|
|
@@ -643,6 +636,7 @@ static constexpr GrColorType SkColorTypeToGrColorType(SkColorType ct) {
|
|
|
643
636
|
case kRGB_101010x_SkColorType: return GrColorType::kUnknown;
|
|
644
637
|
case kBGRA_1010102_SkColorType: return GrColorType::kBGRA_1010102;
|
|
645
638
|
case kBGR_101010x_SkColorType: return GrColorType::kUnknown;
|
|
639
|
+
case kBGR_101010x_XR_SkColorType: return GrColorType::kUnknown;
|
|
646
640
|
case kRGBA_F32_SkColorType: return GrColorType::kRGBA_F32;
|
|
647
641
|
case kR8G8_unorm_SkColorType: return GrColorType::kRG_88;
|
|
648
642
|
case kA16_unorm_SkColorType: return GrColorType::kAlpha_16;
|
|
@@ -924,12 +918,12 @@ static constexpr size_t GrColorTypeBytesPerPixel(GrColorType ct) {
|
|
|
924
918
|
|
|
925
919
|
// In general we try to not mix CompressionType and ColorType, but currently SkImage still requires
|
|
926
920
|
// an SkColorType even for CompressedTypes so we need some conversion.
|
|
927
|
-
static constexpr SkColorType GrCompressionTypeToSkColorType(
|
|
921
|
+
static constexpr SkColorType GrCompressionTypeToSkColorType(SkTextureCompressionType compression) {
|
|
928
922
|
switch (compression) {
|
|
929
|
-
case
|
|
930
|
-
case
|
|
931
|
-
case
|
|
932
|
-
case
|
|
923
|
+
case SkTextureCompressionType::kNone: return kUnknown_SkColorType;
|
|
924
|
+
case SkTextureCompressionType::kETC2_RGB8_UNORM: return kRGB_888x_SkColorType;
|
|
925
|
+
case SkTextureCompressionType::kBC1_RGB8_UNORM: return kRGB_888x_SkColorType;
|
|
926
|
+
case SkTextureCompressionType::kBC1_RGBA8_UNORM: return kRGBA_8888_SkColorType;
|
|
933
927
|
}
|
|
934
928
|
|
|
935
929
|
SkUNREACHABLE;
|
|
@@ -995,12 +989,12 @@ static constexpr const char* GrColorTypeToStr(GrColorType ct) {
|
|
|
995
989
|
SkUNREACHABLE;
|
|
996
990
|
}
|
|
997
991
|
|
|
998
|
-
static constexpr const char* GrCompressionTypeToStr(
|
|
992
|
+
static constexpr const char* GrCompressionTypeToStr(SkTextureCompressionType compression) {
|
|
999
993
|
switch (compression) {
|
|
1000
|
-
case
|
|
1001
|
-
case
|
|
1002
|
-
case
|
|
1003
|
-
case
|
|
994
|
+
case SkTextureCompressionType::kNone: return "kNone";
|
|
995
|
+
case SkTextureCompressionType::kETC2_RGB8_UNORM: return "kETC2_RGB8_UNORM";
|
|
996
|
+
case SkTextureCompressionType::kBC1_RGB8_UNORM: return "kBC1_RGB8_UNORM";
|
|
997
|
+
case SkTextureCompressionType::kBC1_RGBA8_UNORM: return "kBC1_RGBA8_UNORM";
|
|
1004
998
|
}
|
|
1005
999
|
SkUNREACHABLE;
|
|
1006
1000
|
}
|
|
@@ -35,7 +35,7 @@ struct GrVkBackendSurfaceInfo {
|
|
|
35
35
|
|
|
36
36
|
GrVkImageInfo snapImageInfo(const skgpu::MutableTextureStateRef*) const;
|
|
37
37
|
|
|
38
|
-
bool isProtected() const { return fImageInfo.fProtected ==
|
|
38
|
+
bool isProtected() const { return fImageInfo.fProtected == skgpu::Protected::kYes; }
|
|
39
39
|
#if GR_TEST_UTILS
|
|
40
40
|
bool operator==(const GrVkBackendSurfaceInfo& that) const;
|
|
41
41
|
#endif
|
|
@@ -68,6 +68,6 @@ struct GrVkImageSpec {
|
|
|
68
68
|
GrVkSurfaceInfo GrVkImageSpecToSurfaceInfo(const GrVkImageSpec& vkSpec,
|
|
69
69
|
uint32_t sampleCount,
|
|
70
70
|
uint32_t levelCount,
|
|
71
|
-
|
|
71
|
+
skgpu::Protected isProtected);
|
|
72
72
|
|
|
73
73
|
#endif
|
|
@@ -0,0 +1,38 @@
|
|
|
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_DawnTypesPriv_DEFINED
|
|
9
|
+
#define skgpu_graphite_DawnTypesPriv_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/gpu/graphite/dawn/DawnTypes.h"
|
|
12
|
+
|
|
13
|
+
namespace skgpu::graphite {
|
|
14
|
+
|
|
15
|
+
struct DawnTextureSpec {
|
|
16
|
+
DawnTextureSpec()
|
|
17
|
+
: fFormat(wgpu::TextureFormat::Undefined)
|
|
18
|
+
, fUsage(wgpu::TextureUsage::None) {}
|
|
19
|
+
DawnTextureSpec(const DawnTextureInfo& info)
|
|
20
|
+
: fFormat(info.fFormat)
|
|
21
|
+
, fUsage(info.fUsage) {}
|
|
22
|
+
|
|
23
|
+
bool operator==(const DawnTextureSpec& that) const {
|
|
24
|
+
return fUsage == that.fUsage &&
|
|
25
|
+
fFormat == that.fFormat;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
wgpu::TextureFormat fFormat;
|
|
29
|
+
wgpu::TextureUsage fUsage;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
DawnTextureInfo DawnTextureSpecToTextureInfo(const DawnTextureSpec& dawnSpec,
|
|
33
|
+
uint32_t sampleCount,
|
|
34
|
+
Mipmapped mipmapped);
|
|
35
|
+
|
|
36
|
+
} // namespace skgpu::graphite
|
|
37
|
+
|
|
38
|
+
#endif // skgpu_graphite_DawnTypesPriv_DEFINED
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* found in the LICENSE file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#ifndef
|
|
9
|
-
#define
|
|
8
|
+
#ifndef skgpu_graphite_MtlGraphiteTypesPriv_DEFINED
|
|
9
|
+
#define skgpu_graphite_MtlGraphiteTypesPriv_DEFINED
|
|
10
10
|
|
|
11
11
|
#include "include/gpu/graphite/GraphiteTypes.h"
|
|
12
|
-
#include "include/gpu/graphite/mtl/
|
|
12
|
+
#include "include/gpu/graphite/mtl/MtlGraphiteTypes.h"
|
|
13
13
|
|
|
14
14
|
///////////////////////////////////////////////////////////////////////////////
|
|
15
15
|
|
|
@@ -67,8 +67,8 @@ struct MtlTextureSpec {
|
|
|
67
67
|
|
|
68
68
|
MtlTextureInfo MtlTextureSpecToTextureInfo(const MtlTextureSpec& mtlSpec,
|
|
69
69
|
uint32_t sampleCount,
|
|
70
|
-
|
|
70
|
+
Mipmapped mipmapped);
|
|
71
71
|
|
|
72
72
|
} // namespace skgpu::graphite
|
|
73
73
|
|
|
74
|
-
#endif //
|
|
74
|
+
#endif // skgpu_graphite_MtlGraphiteTypesPriv_DEFINED
|
|
@@ -19,8 +19,6 @@ struct VulkanTextureSpec {
|
|
|
19
19
|
, fImageTiling(VK_IMAGE_TILING_OPTIMAL)
|
|
20
20
|
, fImageUsageFlags(0)
|
|
21
21
|
, fSharingMode(VK_SHARING_MODE_EXCLUSIVE)
|
|
22
|
-
, fCurrentQueueFamily(VK_QUEUE_FAMILY_IGNORED)
|
|
23
|
-
, fImageLayout(VK_IMAGE_LAYOUT_UNDEFINED)
|
|
24
22
|
, fAspectMask(VK_IMAGE_ASPECT_COLOR_BIT) {}
|
|
25
23
|
VulkanTextureSpec(const VulkanTextureInfo& info)
|
|
26
24
|
: fFlags(info.fFlags)
|
|
@@ -28,8 +26,6 @@ struct VulkanTextureSpec {
|
|
|
28
26
|
, fImageTiling(info.fImageTiling)
|
|
29
27
|
, fImageUsageFlags(info.fImageUsageFlags)
|
|
30
28
|
, fSharingMode(info.fSharingMode)
|
|
31
|
-
, fCurrentQueueFamily(info.fCurrentQueueFamily)
|
|
32
|
-
, fImageLayout(info.fImageLayout)
|
|
33
29
|
, fAspectMask(info.fAspectMask) {}
|
|
34
30
|
|
|
35
31
|
bool operator==(const VulkanTextureSpec& that) const {
|
|
@@ -38,8 +34,6 @@ struct VulkanTextureSpec {
|
|
|
38
34
|
fImageTiling == that.fImageTiling &&
|
|
39
35
|
fImageUsageFlags == that.fImageUsageFlags &&
|
|
40
36
|
fSharingMode == that.fSharingMode &&
|
|
41
|
-
fCurrentQueueFamily == that.fCurrentQueueFamily &&
|
|
42
|
-
fImageLayout == that.fImageLayout &&
|
|
43
37
|
fAspectMask == that.fAspectMask;
|
|
44
38
|
}
|
|
45
39
|
|
|
@@ -48,15 +42,13 @@ struct VulkanTextureSpec {
|
|
|
48
42
|
VkImageTiling fImageTiling;
|
|
49
43
|
VkImageUsageFlags fImageUsageFlags;
|
|
50
44
|
VkSharingMode fSharingMode;
|
|
51
|
-
uint32_t fCurrentQueueFamily;
|
|
52
|
-
VkImageLayout fImageLayout;
|
|
53
45
|
VkImageAspectFlags fAspectMask;
|
|
54
46
|
// GrVkYcbcrConversionInfo fYcbcrConversionInfo;
|
|
55
47
|
};
|
|
56
48
|
|
|
57
49
|
VulkanTextureInfo VulkanTextureSpecToTextureInfo(const VulkanTextureSpec& vkSpec,
|
|
58
50
|
uint32_t sampleCount,
|
|
59
|
-
|
|
51
|
+
Mipmapped mipmapped);
|
|
60
52
|
|
|
61
53
|
} // namespace skgpu::graphite
|
|
62
54
|
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkTypes.h"
|
|
12
12
|
|
|
13
|
+
// IWYU pragma: begin_exports
|
|
14
|
+
|
|
13
15
|
#if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
|
|
14
16
|
#include "include/third_party/vulkan/vulkan/vulkan_core.h"
|
|
15
17
|
#else
|
|
@@ -29,4 +31,6 @@
|
|
|
29
31
|
#endif
|
|
30
32
|
#endif
|
|
31
33
|
|
|
34
|
+
// IWYU pragma: end_exports
|
|
35
|
+
|
|
32
36
|
#endif
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
#include "include/core/SkMatrix.h"
|
|
15
15
|
#include "include/core/SkScalar.h"
|
|
16
16
|
#include "include/core/SkTypes.h"
|
|
17
|
-
#include "include/private/SkNoncopyable.h"
|
|
17
|
+
#include "include/private/base/SkNoncopyable.h"
|
|
18
18
|
|
|
19
19
|
// NOTE -- This entire header / impl is deprecated, and will be removed from Skia soon.
|
|
20
20
|
//
|
|
@@ -14,12 +14,15 @@
|
|
|
14
14
|
#include "include/core/SkPath.h"
|
|
15
15
|
#include "include/core/SkRect.h"
|
|
16
16
|
#include "include/core/SkRefCnt.h"
|
|
17
|
+
#include "include/core/SkTypeface.h"
|
|
17
18
|
#include "include/core/SkTypes.h"
|
|
18
19
|
|
|
20
|
+
#include <memory>
|
|
19
21
|
#include <vector>
|
|
20
22
|
|
|
21
23
|
class SkStream;
|
|
22
|
-
class
|
|
24
|
+
class SkStreamAsset;
|
|
25
|
+
struct SkFontArguments;
|
|
23
26
|
|
|
24
27
|
class SK_API SkCustomTypefaceBuilder {
|
|
25
28
|
public:
|
|
@@ -33,6 +36,9 @@ public:
|
|
|
33
36
|
|
|
34
37
|
sk_sp<SkTypeface> detach();
|
|
35
38
|
|
|
39
|
+
static constexpr SkTypeface::FactoryId FactoryId = SkSetFourByteTag('u','s','e','r');
|
|
40
|
+
static sk_sp<SkTypeface> MakeFromStream(std::unique_ptr<SkStreamAsset>, const SkFontArguments&);
|
|
41
|
+
|
|
36
42
|
private:
|
|
37
43
|
struct GlyphRec {
|
|
38
44
|
// logical union
|