@shopify/react-native-skia 1.3.13 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +9 -4
- package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +6 -0
- package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.cpp +81 -0
- package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.h +40 -0
- package/cpp/api/JsiSkApi.h +2 -0
- package/cpp/api/JsiSkPath.h +29 -19
- package/cpp/api/JsiSkRuntimeEffect.h +7 -0
- package/cpp/api/JsiSkiaContext.h +79 -0
- package/cpp/rnskia/RNSkPlatformContext.h +4 -0
- package/cpp/rnskia/SkiaContext.h +22 -0
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -2
- package/cpp/skia/include/android/SkImageAndroid.h +1 -1
- package/cpp/skia/include/android/SkSurfaceAndroid.h +1 -1
- package/cpp/skia/include/codec/SkAndroidCodec.h +13 -9
- package/cpp/skia/include/codec/SkCodec.h +28 -5
- package/cpp/skia/include/core/SkArc.h +69 -0
- package/cpp/skia/include/core/SkBitmap.h +10 -0
- package/cpp/skia/include/core/SkBlender.h +2 -3
- package/cpp/skia/include/core/SkCanvas.h +86 -16
- package/cpp/skia/include/core/SkCapabilities.h +0 -4
- package/cpp/skia/include/core/SkColorFilter.h +4 -4
- package/cpp/skia/include/core/SkColorPriv.h +5 -7
- package/cpp/skia/include/core/SkColorType.h +2 -0
- package/cpp/skia/include/core/SkFlattenable.h +1 -1
- package/cpp/skia/include/core/SkFontArguments.h +3 -1
- package/cpp/skia/include/core/SkFontParameters.h +3 -2
- package/cpp/skia/include/core/SkFourByteTag.h +19 -0
- package/cpp/skia/include/core/SkImage.h +41 -1
- package/cpp/skia/include/core/SkImageGenerator.h +0 -5
- package/cpp/skia/include/core/SkImageInfo.h +20 -0
- package/cpp/skia/include/core/SkM44.h +1 -1
- package/cpp/skia/include/core/SkMatrix.h +2 -1
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPaint.h +1 -1
- package/cpp/skia/include/core/SkPath.h +20 -6
- package/cpp/skia/include/core/SkPathMeasure.h +1 -0
- package/cpp/skia/include/core/SkPicture.h +5 -5
- package/cpp/skia/include/core/SkPoint3.h +2 -12
- package/cpp/skia/include/core/SkRRect.h +5 -0
- package/cpp/skia/include/core/SkRect.h +5 -16
- package/cpp/skia/include/core/SkRefCnt.h +2 -0
- package/cpp/skia/include/core/SkScalar.h +20 -32
- package/cpp/skia/include/core/SkShader.h +17 -0
- package/cpp/skia/include/core/SkSize.h +2 -1
- package/cpp/skia/include/core/SkStream.h +2 -3
- package/cpp/skia/include/core/SkStrokeRec.h +6 -1
- package/cpp/skia/include/core/SkSurface.h +13 -4
- package/cpp/skia/include/core/SkSurfaceProps.h +5 -0
- package/cpp/skia/include/core/SkSwizzle.h +3 -1
- package/cpp/skia/include/core/SkTypeface.h +1 -0
- package/cpp/skia/include/core/SkTypes.h +1 -19
- package/cpp/skia/include/core/SkUnPreMultiply.h +4 -5
- package/cpp/skia/include/core/SkVertices.h +4 -2
- package/cpp/skia/include/docs/SkPDFDocument.h +11 -14
- package/cpp/skia/include/effects/SkHighContrastFilter.h +6 -6
- package/cpp/skia/include/effects/SkImageFilters.h +49 -23
- package/cpp/skia/include/effects/SkRuntimeEffect.h +51 -70
- package/cpp/skia/include/effects/SkShaderMaskFilter.h +2 -0
- package/cpp/skia/include/effects/SkTableMaskFilter.h +2 -0
- package/cpp/skia/include/gpu/GrBackendSemaphore.h +2 -120
- package/cpp/skia/include/gpu/GrBackendSurface.h +2 -466
- package/cpp/skia/include/gpu/GrContextOptions.h +2 -368
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +2 -179
- package/cpp/skia/include/gpu/GrDirectContext.h +2 -1011
- package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -47
- package/cpp/skia/include/gpu/GrDriverBugWorkaroundsAutogen.h +2 -41
- package/cpp/skia/include/gpu/GrRecordingContext.h +2 -279
- package/cpp/skia/include/gpu/GrTypes.h +2 -238
- package/cpp/skia/include/gpu/GrYUVABackendTextures.h +2 -118
- package/cpp/skia/include/gpu/d3d/GrD3DBackendContext.h +2 -29
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +2 -242
- package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +80 -0
- package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +412 -0
- package/cpp/skia/include/gpu/ganesh/GrContextOptions.h +386 -0
- package/cpp/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
- package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +993 -0
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +45 -0
- package/cpp/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +285 -0
- package/cpp/skia/include/gpu/ganesh/GrTypes.h +177 -0
- package/cpp/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +1 -1
- package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
- package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
- package/cpp/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +1 -1
- package/cpp/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLFunctions.h +306 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLInterface.h +338 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
- package/cpp/skia/include/gpu/{gl → ganesh/gl}/egl/GrGLMakeEGLInterface.h +2 -2
- package/cpp/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
- package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
- package/cpp/skia/include/gpu/{mtl → ganesh/mtl}/GrMtlBackendContext.h +2 -2
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
- package/cpp/skia/include/gpu/{mtl → ganesh/mtl}/GrMtlTypes.h +1 -3
- package/cpp/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +2 -2
- package/cpp/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +2 -2
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +1 -1
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +7 -3
- package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +6 -3
- package/cpp/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
- package/cpp/skia/include/gpu/gl/GrGLAssembleHelpers.h +2 -9
- package/cpp/skia/include/gpu/gl/GrGLAssembleInterface.h +2 -38
- package/cpp/skia/include/gpu/gl/GrGLConfig.h +2 -73
- package/cpp/skia/include/gpu/gl/GrGLExtensions.h +2 -72
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +2 -301
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -332
- package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -213
- package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +20 -41
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +18 -118
- package/cpp/skia/include/gpu/graphite/Context.h +122 -44
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +30 -3
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +45 -17
- package/cpp/skia/include/gpu/graphite/Image.h +56 -54
- package/cpp/skia/include/gpu/graphite/Recorder.h +68 -14
- package/cpp/skia/include/gpu/graphite/Recording.h +3 -3
- package/cpp/skia/include/gpu/graphite/Surface.h +6 -2
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +36 -117
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +108 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +4 -1
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +41 -25
- package/cpp/skia/include/gpu/graphite/precompile/PaintOptions.h +197 -0
- package/cpp/skia/include/gpu/graphite/precompile/Precompile.h +48 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileBase.h +84 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +85 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +119 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +51 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +170 -0
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +24 -2
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +2 -157
- package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +2 -0
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +2 -101
- package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +13 -8
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +9 -3
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +4 -1
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +25 -8
- package/cpp/skia/include/ports/SkFontMgr_Fontations.h +20 -0
- package/cpp/skia/include/ports/SkFontMgr_android.h +7 -0
- package/cpp/skia/include/ports/SkImageGeneratorCG.h +3 -1
- package/cpp/skia/include/ports/SkTypeface_win.h +0 -17
- package/cpp/skia/include/private/SkEncodedInfo.h +8 -2
- package/cpp/skia/include/private/SkExif.h +28 -75
- package/cpp/skia/include/private/SkGainmapInfo.h +47 -7
- package/cpp/skia/include/private/SkJpegMetadataDecoder.h +12 -0
- package/cpp/skia/include/private/SkPathRef.h +52 -44
- package/cpp/skia/include/private/SkXmp.h +13 -4
- package/cpp/skia/include/private/base/SkASAN.h +56 -0
- package/cpp/skia/include/private/base/SkAlign.h +5 -0
- package/cpp/skia/include/private/base/SkContainers.h +10 -2
- package/cpp/skia/include/private/base/SkFeatures.h +22 -1
- package/cpp/skia/include/private/base/SkFloatingPoint.h +51 -65
- package/cpp/skia/include/private/base/SkMacros.h +67 -0
- package/cpp/skia/include/private/base/SkMalloc.h +8 -0
- package/cpp/skia/include/private/base/SkPoint_impl.h +2 -11
- package/cpp/skia/include/private/base/SkTArray.h +108 -23
- package/cpp/skia/include/private/base/SkTFitsIn.h +1 -12
- package/cpp/skia/include/private/chromium/GrDeferredDisplayList.h +1 -1
- package/cpp/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +0 -39
- package/cpp/skia/include/private/chromium/GrPromiseImageTexture.h +1 -1
- package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +3 -3
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -4
- package/cpp/skia/include/private/chromium/Slug.h +5 -11
- package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +2 -2
- package/cpp/skia/include/private/gpu/ganesh/GrTextureGenerator.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +21 -93
- package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +2 -2
- package/cpp/skia/include/utils/SkCustomTypeface.h +1 -0
- package/cpp/skia/include/utils/SkNWayCanvas.h +1 -1
- package/cpp/skia/include/utils/SkParse.h +0 -1
- package/cpp/skia/modules/skcms/src/Transform_inl.h +59 -56
- package/cpp/skia/modules/skcms/src/skcms_Transform.h +3 -0
- package/cpp/skia/modules/skcms/src/skcms_internals.h +2 -0
- package/cpp/skia/modules/skcms/src/skcms_public.h +46 -14
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +15 -1
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +2 -2
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +2 -4
- package/cpp/skia/modules/skresources/include/SkResources.h +1 -1
- package/cpp/skia/modules/skshaper/include/SkShaper.h +316 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_coretext.h +19 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
- package/cpp/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
- package/cpp/skia/modules/skunicode/include/SkUnicode.h +6 -23
- package/cpp/skia/modules/svg/include/SkSVGAttribute.h +0 -3
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +12 -2
- package/cpp/skia/modules/svg/include/SkSVGCircle.h +13 -0
- package/cpp/skia/modules/svg/include/SkSVGClipPath.h +6 -0
- package/cpp/skia/modules/svg/include/SkSVGContainer.h +17 -1
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +25 -15
- package/cpp/skia/modules/svg/include/SkSVGEllipse.h +13 -2
- package/cpp/skia/modules/svg/include/SkSVGFe.h +11 -2
- package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
- package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +10 -1
- package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeImage.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +5 -0
- package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
- package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +8 -0
- package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFilter.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +3 -3
- package/cpp/skia/modules/svg/include/SkSVGGradient.h +10 -2
- package/cpp/skia/modules/svg/include/SkSVGImage.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGLine.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGLinearGradient.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGMask.h +6 -0
- package/cpp/skia/modules/svg/include/SkSVGNode.h +13 -2
- package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +5 -0
- package/cpp/skia/modules/svg/include/SkSVGPath.h +10 -0
- package/cpp/skia/modules/svg/include/SkSVGPattern.h +5 -0
- package/cpp/skia/modules/svg/include/SkSVGPoly.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGRect.h +11 -0
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +43 -7
- package/cpp/skia/modules/svg/include/SkSVGSVG.h +7 -0
- package/cpp/skia/modules/svg/include/SkSVGShape.h +8 -2
- package/cpp/skia/modules/svg/include/SkSVGStop.h +5 -3
- package/cpp/skia/modules/svg/include/SkSVGText.h +8 -2
- package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +8 -0
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +9 -0
- package/cpp/skia/modules/svg/include/SkSVGUse.h +7 -0
- package/cpp/skia/src/base/SkMathPriv.h +337 -0
- package/cpp/skia/src/base/SkTLazy.h +208 -0
- package/cpp/skia/src/core/SkTHash.h +58 -7
- package/cpp/skia/src/gpu/ganesh/gl/GrGLDefines.h +3 -0
- package/ios/RNSkia-iOS/RNSkiOSPlatformContext.h +3 -0
- package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +7 -0
- package/ios/RNSkia-iOS/SkiaCVPixelBufferUtils.mm +7 -2
- package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.h +78 -0
- package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.mm +20 -4
- package/lib/commonjs/renderer/HostConfig.js.map +1 -1
- package/lib/commonjs/skia/types/Paragraph/TextStyle.d.ts +2 -2
- package/lib/commonjs/skia/types/Paragraph/TextStyle.js.map +1 -1
- package/lib/commonjs/skia/types/Skia.d.ts +6 -1
- package/lib/commonjs/skia/types/Skia.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +4 -1
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/commonjs/web/WithSkiaWeb.d.ts +11 -4
- package/lib/commonjs/web/WithSkiaWeb.js +3 -2
- package/lib/commonjs/web/WithSkiaWeb.js.map +1 -1
- package/lib/module/renderer/HostConfig.js.map +1 -1
- package/lib/module/skia/types/Paragraph/TextStyle.d.ts +2 -2
- package/lib/module/skia/types/Paragraph/TextStyle.js.map +1 -1
- package/lib/module/skia/types/Skia.d.ts +6 -1
- package/lib/module/skia/types/Skia.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +4 -1
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/web/WithSkiaWeb.d.ts +11 -4
- package/lib/module/web/WithSkiaWeb.js +3 -2
- package/lib/module/web/WithSkiaWeb.js.map +1 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -0
- package/lib/typescript/lib/commonjs/web/WithSkiaWeb.d.ts +2 -1
- package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -0
- package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -0
- package/lib/typescript/lib/module/web/WithSkiaWeb.d.ts +2 -1
- package/lib/typescript/src/skia/types/Paragraph/TextStyle.d.ts +2 -2
- package/lib/typescript/src/skia/types/Skia.d.ts +6 -1
- package/lib/typescript/src/web/WithSkiaWeb.d.ts +11 -4
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libskparagraph.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/libskunicode_core.a +0 -0
- package/libs/android/arm64-v8a/libskunicode_icu.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/libskparagraph.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/libskunicode_core.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode_icu.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/libskparagraph.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libskunicode_core.a +0 -0
- package/libs/android/x86/libskunicode_icu.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/libskparagraph.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/libskunicode_core.a +0 -0
- package/libs/android/x86_64/libskunicode_icu.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/Info.plist +5 -5
- 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/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/Info.plist +5 -5
- 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/Info.plist +5 -5
- 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 +3 -5
- package/react-native-skia.podspec +2 -1
- package/src/renderer/HostConfig.ts +5 -1
- package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +5 -2
- package/src/renderer/__tests__/e2e/Paths.spec.tsx +12 -5
- package/src/renderer/__tests__/e2e/SDF.spec.tsx +1 -1
- package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +1 -1
- package/src/skia/types/Paragraph/TextStyle.ts +2 -2
- package/src/skia/types/Skia.ts +7 -1
- package/src/skia/web/JsiSkia.ts +3 -0
- package/src/web/WithSkiaWeb.tsx +17 -6
- package/cpp/skia/include/core/SkDrawLooper.h +0 -135
- package/cpp/skia/include/effects/SkBlurDrawLooper.h +0 -26
- package/cpp/skia/include/effects/SkLayerDrawLooper.h +0 -161
- package/cpp/skia/include/gpu/gl/GrGLConfig_chrome.h +0 -14
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +0 -84
- package/cpp/skia/include/gpu/vk/GrVkExtensions.h +0 -15
- package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +0 -15
- package/cpp/skia/include/ports/SkFontMgr_indirect.h +0 -102
- package/cpp/skia/include/ports/SkRemotableFontMgr.h +0 -139
- package/cpp/skia/include/private/base/SkFloatBits.h +0 -90
- package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +0 -69
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +0 -54
- package/cpp/skia/include/private/gpu/graphite/MtlGraphiteTypesPriv.h +0 -95
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +0 -83
- package/cpp/skia/src/core/SkPathEnums.h +0 -25
- package/cpp/skia/src/core/SkPathPriv.h +0 -540
- package/libs/android/arm64-v8a/libskunicode.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode.a +0 -0
- package/libs/android/x86/libskunicode.a +0 -0
- package/libs/android/x86_64/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/Info.plist +0 -46
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- /package/cpp/skia/include/gpu/{gl → ganesh/gl}/glx/GrGLMakeGLXInterface.h +0 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 2024 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_precompile_PrecompileRuntimeEffect_DEFINED
|
9
|
+
#define skgpu_graphite_precompile_PrecompileRuntimeEffect_DEFINED
|
10
|
+
|
11
|
+
#include "include/core/SkRefCnt.h"
|
12
|
+
#include "include/core/SkSpan.h"
|
13
|
+
|
14
|
+
class SkRuntimeEffect;
|
15
|
+
|
16
|
+
namespace skgpu::graphite {
|
17
|
+
|
18
|
+
class PrecompileBase;
|
19
|
+
class PrecompileBlender;
|
20
|
+
class PrecompileColorFilter;
|
21
|
+
class PrecompileShader;
|
22
|
+
|
23
|
+
using PrecompileChildOptions = SkSpan<const sk_sp<PrecompileBase>>;
|
24
|
+
|
25
|
+
//--------------------------------------------------------------------------------------------------
|
26
|
+
// These factory functions correspond to the main API's SkRuntimeEffect makeShader, makeColorFilter,
|
27
|
+
// and makeBlender functions. The uniform values found in the main API are abstracted away since
|
28
|
+
// they do not alter the generated code.
|
29
|
+
namespace PrecompileRuntimeEffects {
|
30
|
+
|
31
|
+
SK_API sk_sp<PrecompileShader> MakePrecompileShader(
|
32
|
+
sk_sp<SkRuntimeEffect> effect,
|
33
|
+
SkSpan<const PrecompileChildOptions> childOptions = {});
|
34
|
+
|
35
|
+
SK_API sk_sp<PrecompileColorFilter> MakePrecompileColorFilter(
|
36
|
+
sk_sp<SkRuntimeEffect> effect,
|
37
|
+
SkSpan<const PrecompileChildOptions> childOptions = {});
|
38
|
+
|
39
|
+
SK_API sk_sp<PrecompileBlender> MakePrecompileBlender(
|
40
|
+
sk_sp<SkRuntimeEffect> effect,
|
41
|
+
SkSpan<const PrecompileChildOptions> childOptions = {});
|
42
|
+
|
43
|
+
} // namespace PrecompileRuntimeEffects
|
44
|
+
|
45
|
+
} // namespace skgpu::graphite
|
46
|
+
|
47
|
+
#endif // skgpu_graphite_precompile_PrecompileRuntimeEffect_DEFINED
|
@@ -0,0 +1,170 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 2024 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_precompile_PrecompileShader_DEFINED
|
9
|
+
#define skgpu_graphite_precompile_PrecompileShader_DEFINED
|
10
|
+
|
11
|
+
#include "include/gpu/graphite/precompile/PrecompileBase.h"
|
12
|
+
|
13
|
+
#include "include/core/SkBlendMode.h"
|
14
|
+
|
15
|
+
class SkColorSpace;
|
16
|
+
|
17
|
+
namespace skgpu::graphite {
|
18
|
+
|
19
|
+
class PrecompileBlender;
|
20
|
+
class PrecompileColorFilter;
|
21
|
+
class PrecompileShaderPriv;
|
22
|
+
|
23
|
+
/** \class PrecompileShader
|
24
|
+
This class corresponds to the SkShader class in the main API.
|
25
|
+
*/
|
26
|
+
class SK_API PrecompileShader : public PrecompileBase {
|
27
|
+
public:
|
28
|
+
/**
|
29
|
+
* This is the Precompile correlate to SkShader::makeWithLocalMatrix. The actual matrix
|
30
|
+
* involved is abstracted away, except for whether or the not the matrix involves perspective
|
31
|
+
* so the correct generated shader variation is chosen.
|
32
|
+
* The PrecompileShaders::LocalMatrix factory can be used to generate a set of shaders
|
33
|
+
* that would've been generated via multiple makeWithLocalMatrix calls. That is, rather than
|
34
|
+
* performing:
|
35
|
+
* sk_sp<PrecompileShader> option1 = source1->makeWithLocalMatrix(false);
|
36
|
+
* sk_sp<PrecompileShader> option2 = source2->makeWithLocalMatrix(false);
|
37
|
+
* one could call:
|
38
|
+
* sk_sp<PrecompileShader> combinedOptions = LocalMatrix({ source1, source2 }, false);
|
39
|
+
*/
|
40
|
+
sk_sp<PrecompileShader> makeWithLocalMatrix(bool isPerspective) const;
|
41
|
+
|
42
|
+
/**
|
43
|
+
* This is the Precompile correlate to SkShader::makeWithColorFilter.
|
44
|
+
* The PrecompileShaders::ColorFilter factory can be used to generate a set of shaders that
|
45
|
+
* would've been generated via multiple makeWithColorFilter calls. That is, rather than
|
46
|
+
* performing:
|
47
|
+
* sk_sp<PrecompileShader> option1 = source->makeWithColorFilter(colorFilter1);
|
48
|
+
* sk_sp<PrecompileShader> option2 = source->makeWithColorFilter(colorFilter2);
|
49
|
+
* one could call:
|
50
|
+
* sk_sp<PrecompileShader> combinedOptions = ColorFilter({ source },
|
51
|
+
* { colorFilter1, colorFilter2 });
|
52
|
+
* With an alternative use case one could also use the ColorFilter factory thusly:
|
53
|
+
* sk_sp<PrecompileShader> combinedOptions = ColorFilter({ source1, source2 },
|
54
|
+
* { colorFilter });
|
55
|
+
*/
|
56
|
+
sk_sp<PrecompileShader> makeWithColorFilter(sk_sp<PrecompileColorFilter>) const;
|
57
|
+
|
58
|
+
/**
|
59
|
+
* This is the Precompile correlate to SkShader::makeWithWorkingColorSpace.
|
60
|
+
* The PrecompileShaders::WorkingColorSpace factory can be used to generate a set of shaders
|
61
|
+
* that would've been generated via multiple makeWithWorkingColorSpace calls. That is, rather
|
62
|
+
* than performing:
|
63
|
+
* sk_sp<PrecompileShader> option1 = source->makeWithWorkingColorSpace(colorSpace1);
|
64
|
+
* sk_sp<PrecompileShader> option2 = source->makeWithWorkingColorSpace(colorSpace2);
|
65
|
+
* one could call:
|
66
|
+
* sk_sp<PrecompileShader> combinedOptions = WorkingColorSpace({ source },
|
67
|
+
* { colorSpace1,
|
68
|
+
* colorSpace2 });
|
69
|
+
* With an alternative use case one could also use the WorkingColorSpace factory thusly:
|
70
|
+
* sk_sp<PrecompileShader> combinedOptions = WorkingColorSpace({ source1, source2 },
|
71
|
+
* { colorSpace });
|
72
|
+
*/
|
73
|
+
sk_sp<PrecompileShader> makeWithWorkingColorSpace(sk_sp<SkColorSpace>) const;
|
74
|
+
|
75
|
+
// Provides access to functions that aren't part of the public API.
|
76
|
+
PrecompileShaderPriv priv();
|
77
|
+
const PrecompileShaderPriv priv() const; // NOLINT(readability-const-return-type)
|
78
|
+
|
79
|
+
protected:
|
80
|
+
friend class PrecompileShaderPriv;
|
81
|
+
|
82
|
+
PrecompileShader() : PrecompileBase(Type::kShader) {}
|
83
|
+
~PrecompileShader() override;
|
84
|
+
|
85
|
+
virtual bool isConstant(int /* desiredCombination */) const { return false; }
|
86
|
+
|
87
|
+
virtual bool isALocalMatrixShader() const { return false; }
|
88
|
+
};
|
89
|
+
|
90
|
+
//--------------------------------------------------------------------------------------------------
|
91
|
+
// This is the Precompile correlate to the SkShaders namespace in the main API
|
92
|
+
namespace PrecompileShaders {
|
93
|
+
// --- This block of eight matches the SkShaders factories in SkShader.h
|
94
|
+
// Note that some of the details of the main API have been elided since they don't impact
|
95
|
+
// the generated shader (e.g., the color parameter to the Color() factories).
|
96
|
+
SK_API sk_sp<PrecompileShader> Empty();
|
97
|
+
SK_API sk_sp<PrecompileShader> Color();
|
98
|
+
SK_API sk_sp<PrecompileShader> Color(sk_sp<SkColorSpace>);
|
99
|
+
SK_API sk_sp<PrecompileShader> Blend(SkSpan<const SkBlendMode> blendModes,
|
100
|
+
SkSpan<const sk_sp<PrecompileShader>> dsts,
|
101
|
+
SkSpan<const sk_sp<PrecompileShader>> srcs);
|
102
|
+
SK_API sk_sp<PrecompileShader> Blend(SkSpan<const sk_sp<PrecompileBlender>> blenders,
|
103
|
+
SkSpan<const sk_sp<PrecompileShader>> dsts,
|
104
|
+
SkSpan<const sk_sp<PrecompileShader>> srcs);
|
105
|
+
SK_API sk_sp<PrecompileShader> CoordClamp(SkSpan<const sk_sp<PrecompileShader>>);
|
106
|
+
|
107
|
+
// In the main Skia API ImageShaders are usually created via a SkImage::makeShader call.
|
108
|
+
// Since the SkImage used to create the ImageShader is unlikely to be present at precompilation
|
109
|
+
// time this entry point allows the equivalent precompilation program structure to be created.
|
110
|
+
// Note that this factory is for non-YUV SkImages, the YUVImage factory (below) should be used
|
111
|
+
// to represent the shading and sampling required for YUV images.
|
112
|
+
SK_API sk_sp<PrecompileShader> Image();
|
113
|
+
// As with the above Image call, raw ImageShaders are usually created via an
|
114
|
+
// SkImage::makeRawShader call. The RawImage call allows the equivalent precompilation
|
115
|
+
// program structure to be created without needing the SkImage.
|
116
|
+
SK_API sk_sp<PrecompileShader> RawImage();
|
117
|
+
|
118
|
+
// In the main Skia API, the specifics of the SkImage used for the SkImage::makeShader call
|
119
|
+
// can determine whether normal or YUV sampling is required. This entry point allows clients
|
120
|
+
// to specify that the future image will be a YUV image.
|
121
|
+
SK_API sk_sp<PrecompileShader> YUVImage();
|
122
|
+
|
123
|
+
// --- This block of two matches the SkShaders factories in SkPerlinNoiseShader.h
|
124
|
+
// Again, most of the details have been elided.
|
125
|
+
SK_API sk_sp<PrecompileShader> MakeFractalNoise();
|
126
|
+
SK_API sk_sp<PrecompileShader> MakeTurbulence();
|
127
|
+
|
128
|
+
// --- This block of four matches all the factories in SkGradientShader (SkGradientShader.h)
|
129
|
+
SK_API sk_sp<PrecompileShader> LinearGradient();
|
130
|
+
SK_API sk_sp<PrecompileShader> RadialGradient();
|
131
|
+
SK_API sk_sp<PrecompileShader> TwoPointConicalGradient();
|
132
|
+
SK_API sk_sp<PrecompileShader> SweepGradient();
|
133
|
+
|
134
|
+
// Normally, SkPicture shaders are only created via SkPicture::makeShader. Since the
|
135
|
+
// SkPicture to be drawn, most likely, won't be available at precompilation time, this
|
136
|
+
// entry point can be used to create a precompilation equivalent.
|
137
|
+
// Note: this will precompile the program that draws the SkPicture. It, obviously, won't
|
138
|
+
// precompile any SkPaints within the SkPicture.
|
139
|
+
SK_API sk_sp<PrecompileShader> Picture();
|
140
|
+
|
141
|
+
// Normally, LocalMatrixShaders are only created via SkShader::makeWithLocalMatrix.
|
142
|
+
// However, in the combination API, clients may want to create a set of precompile
|
143
|
+
// LocalMatrixShaders (i.e., pass an SkSpan to the factory function vs just creating a
|
144
|
+
// single option). This entry point allows that use case.
|
145
|
+
// Note: PrecompileShader::makeWithLocalMatrix() can still be used and works as expected.
|
146
|
+
SK_API sk_sp<PrecompileShader> LocalMatrix(SkSpan<const sk_sp<PrecompileShader>> wrapped,
|
147
|
+
bool isPerspective = false);
|
148
|
+
|
149
|
+
// Normally, ColorFilterShaders are only created via SkShader::makeWithColorFilter.
|
150
|
+
// However, in the combination API, clients may want to create a set of precompile
|
151
|
+
// ColorFilterShaders (i.e., pass SkSpans to the factory function vs just creating a
|
152
|
+
// single option). This entry point allows that use case.
|
153
|
+
// Note: PrecompileShader::makeWithColorFilter can still be used and works as expected.
|
154
|
+
SK_API sk_sp<PrecompileShader> ColorFilter(
|
155
|
+
SkSpan<const sk_sp<PrecompileShader>> shaders,
|
156
|
+
SkSpan<const sk_sp<PrecompileColorFilter>> colorFilters);
|
157
|
+
|
158
|
+
// Normally, WorkingColorSpaceShaders are only created via SkShader::makeWithWorkingColorSpace.
|
159
|
+
// However, in the combination API, clients may want to create a set of precompile
|
160
|
+
// WorkingColorSpaceShaders (i.e., pass SkSpans to the factory function vs just creating a
|
161
|
+
// single option). This entry point allows that use case.
|
162
|
+
// Note: PrecompileShader::makeWithWorkingColorSpace can still be used and works as expected.
|
163
|
+
SK_API sk_sp<PrecompileShader> WorkingColorSpace(SkSpan<const sk_sp<PrecompileShader>> shaders,
|
164
|
+
SkSpan<const sk_sp<SkColorSpace>> colorSpaces);
|
165
|
+
|
166
|
+
} // namespace PrecompileShaders
|
167
|
+
|
168
|
+
} // namespace skgpu::graphite
|
169
|
+
|
170
|
+
#endif // skgpu_graphite_precompile_PrecompileShader_DEFINED
|
@@ -8,7 +8,9 @@
|
|
8
8
|
#ifndef skgpu_graphite_VulkanGraphiteTypes_DEFINED
|
9
9
|
#define skgpu_graphite_VulkanGraphiteTypes_DEFINED
|
10
10
|
|
11
|
+
#include "include/gpu/graphite/BackendTexture.h"
|
11
12
|
#include "include/gpu/graphite/GraphiteTypes.h"
|
13
|
+
#include "include/gpu/graphite/TextureInfo.h"
|
12
14
|
#include "include/gpu/vk/VulkanTypes.h"
|
13
15
|
|
14
16
|
namespace skgpu::graphite {
|
@@ -57,8 +59,28 @@ struct VulkanTextureInfo {
|
|
57
59
|
, fYcbcrConversionInfo(ycbcrConversionInfo) {}
|
58
60
|
};
|
59
61
|
|
60
|
-
|
62
|
+
namespace TextureInfos {
|
63
|
+
SK_API TextureInfo MakeVulkan(const VulkanTextureInfo&);
|
61
64
|
|
62
|
-
|
65
|
+
SK_API bool GetVulkanTextureInfo(const TextureInfo&, VulkanTextureInfo*);
|
66
|
+
} // namespace TextureInfos
|
63
67
|
|
68
|
+
namespace BackendTextures {
|
69
|
+
SK_API BackendTexture MakeVulkan(SkISize dimensions,
|
70
|
+
const VulkanTextureInfo&,
|
71
|
+
VkImageLayout,
|
72
|
+
uint32_t queueFamilyIndex,
|
73
|
+
VkImage,
|
74
|
+
VulkanAlloc);
|
75
|
+
} // namespace BackendTextures
|
64
76
|
|
77
|
+
namespace BackendSemaphores {
|
78
|
+
SK_API BackendSemaphore MakeVulkan(VkSemaphore);
|
79
|
+
|
80
|
+
SK_API VkSemaphore GetVkSemaphore(const BackendSemaphore&);
|
81
|
+
|
82
|
+
} // namespace BackendSemaphores
|
83
|
+
|
84
|
+
} // namespace skgpu::graphite
|
85
|
+
|
86
|
+
#endif // skgpu_graphite_VulkanGraphiteTypes_DEFINED
|
@@ -4,160 +4,5 @@
|
|
4
4
|
* Use of this source code is governed by a BSD-style license that can be
|
5
5
|
* found in the LICENSE file.
|
6
6
|
*/
|
7
|
-
|
8
|
-
#
|
9
|
-
#define GrMockOptions_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkTextureCompressionType.h"
|
12
|
-
#include "include/gpu/GpuTypes.h"
|
13
|
-
#include "include/private/gpu/ganesh/GrTypesPriv.h"
|
14
|
-
|
15
|
-
class GrBackendFormat;
|
16
|
-
|
17
|
-
struct GrMockTextureInfo {
|
18
|
-
GrMockTextureInfo()
|
19
|
-
: fColorType(GrColorType::kUnknown)
|
20
|
-
, fCompressionType(SkTextureCompressionType::kNone)
|
21
|
-
, fID(0) {}
|
22
|
-
|
23
|
-
GrMockTextureInfo(GrColorType colorType,
|
24
|
-
SkTextureCompressionType compressionType,
|
25
|
-
int id,
|
26
|
-
skgpu::Protected isProtected = skgpu::Protected::kNo)
|
27
|
-
: fColorType(colorType)
|
28
|
-
, fCompressionType(compressionType)
|
29
|
-
, fID(id)
|
30
|
-
, fProtected(isProtected) {
|
31
|
-
SkASSERT(fID);
|
32
|
-
if (fCompressionType != SkTextureCompressionType::kNone) {
|
33
|
-
SkASSERT(colorType == GrColorType::kUnknown);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
bool operator==(const GrMockTextureInfo& that) const {
|
38
|
-
return fColorType == that.fColorType &&
|
39
|
-
fCompressionType == that.fCompressionType &&
|
40
|
-
fID == that.fID &&
|
41
|
-
fProtected == that.fProtected;
|
42
|
-
}
|
43
|
-
|
44
|
-
GrBackendFormat getBackendFormat() const;
|
45
|
-
|
46
|
-
SkTextureCompressionType compressionType() const { return fCompressionType; }
|
47
|
-
|
48
|
-
GrColorType colorType() const {
|
49
|
-
SkASSERT(fCompressionType == SkTextureCompressionType::kNone);
|
50
|
-
return fColorType;
|
51
|
-
}
|
52
|
-
|
53
|
-
int id() const { return fID; }
|
54
|
-
|
55
|
-
skgpu::Protected getProtected() const { return fProtected; }
|
56
|
-
bool isProtected() const { return fProtected == skgpu::Protected::kYes; }
|
57
|
-
|
58
|
-
private:
|
59
|
-
GrColorType fColorType;
|
60
|
-
SkTextureCompressionType fCompressionType;
|
61
|
-
int fID;
|
62
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
63
|
-
};
|
64
|
-
|
65
|
-
struct GrMockRenderTargetInfo {
|
66
|
-
GrMockRenderTargetInfo()
|
67
|
-
: fColorType(GrColorType::kUnknown)
|
68
|
-
, fID(0) {}
|
69
|
-
|
70
|
-
GrMockRenderTargetInfo(GrColorType colorType,
|
71
|
-
int id,
|
72
|
-
skgpu::Protected isProtected = skgpu::Protected::kNo)
|
73
|
-
: fColorType(colorType)
|
74
|
-
, fID(id)
|
75
|
-
, fProtected(isProtected) {
|
76
|
-
SkASSERT(fID);
|
77
|
-
}
|
78
|
-
|
79
|
-
bool operator==(const GrMockRenderTargetInfo& that) const {
|
80
|
-
return fColorType == that.fColorType &&
|
81
|
-
fID == that.fID &&
|
82
|
-
fProtected == that.fProtected;
|
83
|
-
}
|
84
|
-
|
85
|
-
GrBackendFormat getBackendFormat() const;
|
86
|
-
|
87
|
-
GrColorType colorType() const { return fColorType; }
|
88
|
-
|
89
|
-
skgpu::Protected getProtected() const { return fProtected; }
|
90
|
-
bool isProtected() const { return fProtected == skgpu::Protected::kYes; }
|
91
|
-
|
92
|
-
private:
|
93
|
-
GrColorType fColorType;
|
94
|
-
int fID;
|
95
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
96
|
-
};
|
97
|
-
|
98
|
-
struct GrMockSurfaceInfo {
|
99
|
-
uint32_t fSampleCount = 1;
|
100
|
-
uint32_t fLevelCount = 0;
|
101
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
102
|
-
|
103
|
-
GrColorType fColorType = GrColorType::kUnknown;
|
104
|
-
SkTextureCompressionType fCompressionType = SkTextureCompressionType::kNone;
|
105
|
-
};
|
106
|
-
|
107
|
-
static constexpr int kSkTextureCompressionTypeCount =
|
108
|
-
static_cast<int>(SkTextureCompressionType::kLast) + 1;
|
109
|
-
|
110
|
-
/**
|
111
|
-
* A pointer to this type is used as the GrBackendContext when creating a Mock GrContext. It can be
|
112
|
-
* used to specify capability options for the mock context. If nullptr is used a default constructed
|
113
|
-
* GrMockOptions is used.
|
114
|
-
*/
|
115
|
-
struct GrMockOptions {
|
116
|
-
GrMockOptions() {
|
117
|
-
using Renderability = ConfigOptions::Renderability;
|
118
|
-
// By default RGBA_8888 and BGRA_8888 are textureable and renderable and
|
119
|
-
// A8 and RGB565 are texturable.
|
120
|
-
fConfigOptions[(int)GrColorType::kRGBA_8888].fRenderability = Renderability::kNonMSAA;
|
121
|
-
fConfigOptions[(int)GrColorType::kRGBA_8888].fTexturable = true;
|
122
|
-
fConfigOptions[(int)GrColorType::kAlpha_8].fTexturable = true;
|
123
|
-
fConfigOptions[(int)GrColorType::kBGR_565].fTexturable = true;
|
124
|
-
fConfigOptions[(int)GrColorType::kRGB_565].fTexturable = true;
|
125
|
-
|
126
|
-
fConfigOptions[(int)GrColorType::kBGRA_8888] = fConfigOptions[(int)GrColorType::kRGBA_8888];
|
127
|
-
|
128
|
-
fCompressedOptions[(int)SkTextureCompressionType::kETC2_RGB8_UNORM].fTexturable = true;
|
129
|
-
fCompressedOptions[(int)SkTextureCompressionType::kBC1_RGB8_UNORM].fTexturable = true;
|
130
|
-
fCompressedOptions[(int)SkTextureCompressionType::kBC1_RGBA8_UNORM].fTexturable = true;
|
131
|
-
}
|
132
|
-
|
133
|
-
struct ConfigOptions {
|
134
|
-
enum Renderability { kNo, kNonMSAA, kMSAA };
|
135
|
-
Renderability fRenderability = kNo;
|
136
|
-
bool fTexturable = false;
|
137
|
-
};
|
138
|
-
|
139
|
-
// GrCaps options.
|
140
|
-
bool fMipmapSupport = false;
|
141
|
-
bool fDrawInstancedSupport = false;
|
142
|
-
bool fHalfFloatVertexAttributeSupport = false;
|
143
|
-
uint32_t fMapBufferFlags = 0;
|
144
|
-
int fMaxTextureSize = 2048;
|
145
|
-
int fMaxRenderTargetSize = 2048;
|
146
|
-
int fMaxWindowRectangles = 0;
|
147
|
-
int fMaxVertexAttributes = 16;
|
148
|
-
ConfigOptions fConfigOptions[kGrColorTypeCnt];
|
149
|
-
ConfigOptions fCompressedOptions[kSkTextureCompressionTypeCount];
|
150
|
-
|
151
|
-
// GrShaderCaps options.
|
152
|
-
bool fIntegerSupport = false;
|
153
|
-
bool fFlatInterpolationSupport = false;
|
154
|
-
int fMaxVertexSamplers = 0;
|
155
|
-
int fMaxFragmentSamplers = 8;
|
156
|
-
bool fShaderDerivativeSupport = true;
|
157
|
-
bool fDualSourceBlendingSupport = false;
|
158
|
-
|
159
|
-
// GrMockGpu options.
|
160
|
-
bool fFailTextureAllocations = false;
|
161
|
-
};
|
162
|
-
|
163
|
-
#endif
|
7
|
+
// TODO(kjlubick, egdaniel) Delete this after migrating clients.
|
8
|
+
#include "include/gpu/ganesh/mock/GrMockTypes.h"
|
@@ -1,107 +1,8 @@
|
|
1
|
-
|
2
1
|
/*
|
3
2
|
* Copyright 2016 Google Inc.
|
4
3
|
*
|
5
4
|
* Use of this source code is governed by a BSD-style license that can be
|
6
5
|
* found in the LICENSE file.
|
7
6
|
*/
|
8
|
-
|
9
|
-
#
|
10
|
-
#define GrVkTypes_DEFINED
|
11
|
-
|
12
|
-
#include "include/gpu/GpuTypes.h"
|
13
|
-
#include "include/gpu/vk/VulkanTypes.h"
|
14
|
-
|
15
|
-
using GrVkBackendMemory = skgpu::VulkanBackendMemory;
|
16
|
-
using GrVkAlloc = skgpu::VulkanAlloc;
|
17
|
-
using GrVkYcbcrConversionInfo = skgpu::VulkanYcbcrConversionInfo;
|
18
|
-
|
19
|
-
/*
|
20
|
-
* When wrapping a GrBackendTexture or GrBackendRendenderTarget, the fCurrentQueueFamily should
|
21
|
-
* either be VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_EXTERNAL, or VK_QUEUE_FAMILY_FOREIGN_EXT. If
|
22
|
-
* fSharingMode is VK_SHARING_MODE_EXCLUSIVE then fCurrentQueueFamily can also be the graphics
|
23
|
-
* queue index passed into Skia.
|
24
|
-
*/
|
25
|
-
struct GrVkImageInfo {
|
26
|
-
VkImage fImage = VK_NULL_HANDLE;
|
27
|
-
skgpu::VulkanAlloc fAlloc;
|
28
|
-
VkImageTiling fImageTiling = VK_IMAGE_TILING_OPTIMAL;
|
29
|
-
VkImageLayout fImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
30
|
-
VkFormat fFormat = VK_FORMAT_UNDEFINED;
|
31
|
-
VkImageUsageFlags fImageUsageFlags = 0;
|
32
|
-
uint32_t fSampleCount = 1;
|
33
|
-
uint32_t fLevelCount = 0;
|
34
|
-
uint32_t fCurrentQueueFamily = VK_QUEUE_FAMILY_IGNORED;
|
35
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
36
|
-
GrVkYcbcrConversionInfo fYcbcrConversionInfo;
|
37
|
-
VkSharingMode fSharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
38
|
-
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
|
39
|
-
bool fPartOfSwapchainOrAndroidWindow = false;
|
40
|
-
#endif
|
41
|
-
|
42
|
-
bool operator==(const GrVkImageInfo& that) const {
|
43
|
-
bool equal = fImage == that.fImage && fAlloc == that.fAlloc &&
|
44
|
-
fImageTiling == that.fImageTiling &&
|
45
|
-
fImageLayout == that.fImageLayout &&
|
46
|
-
fFormat == that.fFormat &&
|
47
|
-
fImageUsageFlags == that.fImageUsageFlags &&
|
48
|
-
fSampleCount == that.fSampleCount &&
|
49
|
-
fLevelCount == that.fLevelCount &&
|
50
|
-
fCurrentQueueFamily == that.fCurrentQueueFamily &&
|
51
|
-
fProtected == that.fProtected &&
|
52
|
-
fYcbcrConversionInfo == that.fYcbcrConversionInfo &&
|
53
|
-
fSharingMode == that.fSharingMode;
|
54
|
-
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
|
55
|
-
equal = equal && (fPartOfSwapchainOrAndroidWindow == that.fPartOfSwapchainOrAndroidWindow);
|
56
|
-
#endif
|
57
|
-
return equal;
|
58
|
-
}
|
59
|
-
};
|
60
|
-
|
61
|
-
using GrVkGetProc = skgpu::VulkanGetProc;
|
62
|
-
|
63
|
-
/**
|
64
|
-
* This object is wrapped in a GrBackendDrawableInfo and passed in as an argument to
|
65
|
-
* drawBackendGpu() calls on an SkDrawable. The drawable will use this info to inject direct
|
66
|
-
* Vulkan calls into our stream of GPU draws.
|
67
|
-
*
|
68
|
-
* The SkDrawable is given a secondary VkCommandBuffer in which to record draws. The GPU backend
|
69
|
-
* will then execute that command buffer within a render pass it is using for its own draws. The
|
70
|
-
* drawable is also given the attachment of the color index, a compatible VkRenderPass, and the
|
71
|
-
* VkFormat of the color attachment so that it can make VkPipeline objects for the draws. The
|
72
|
-
* SkDrawable must not alter the state of the VkRenderpass or sub pass.
|
73
|
-
*
|
74
|
-
* Additionally, the SkDrawable may fill in the passed in fDrawBounds with the bounds of the draws
|
75
|
-
* that it submits to the command buffer. This will be used by the GPU backend for setting the
|
76
|
-
* bounds in vkCmdBeginRenderPass. If fDrawBounds is not updated, we will assume that the entire
|
77
|
-
* attachment may have been written to.
|
78
|
-
*
|
79
|
-
* The SkDrawable is always allowed to create its own command buffers and submit them to the queue
|
80
|
-
* to render offscreen textures which will be sampled in draws added to the passed in
|
81
|
-
* VkCommandBuffer. If this is done the SkDrawable is in charge of adding the required memory
|
82
|
-
* barriers to the queue for the sampled images since the Skia backend will not do this.
|
83
|
-
*/
|
84
|
-
struct GrVkDrawableInfo {
|
85
|
-
VkCommandBuffer fSecondaryCommandBuffer;
|
86
|
-
uint32_t fColorAttachmentIndex;
|
87
|
-
VkRenderPass fCompatibleRenderPass;
|
88
|
-
VkFormat fFormat;
|
89
|
-
VkRect2D* fDrawBounds;
|
90
|
-
#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
|
91
|
-
bool fFromSwapchainOrAndroidWindow;
|
92
|
-
#endif
|
93
|
-
};
|
94
|
-
|
95
|
-
struct GrVkSurfaceInfo {
|
96
|
-
uint32_t fSampleCount = 1;
|
97
|
-
uint32_t fLevelCount = 0;
|
98
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
99
|
-
|
100
|
-
VkImageTiling fImageTiling = VK_IMAGE_TILING_OPTIMAL;
|
101
|
-
VkFormat fFormat = VK_FORMAT_UNDEFINED;
|
102
|
-
VkImageUsageFlags fImageUsageFlags = 0;
|
103
|
-
GrVkYcbcrConversionInfo fYcbcrConversionInfo;
|
104
|
-
VkSharingMode fSharingMode = VK_SHARING_MODE_EXCLUSIVE;
|
105
|
-
};
|
106
|
-
|
107
|
-
#endif
|
7
|
+
// TODO(kjlubick, egdaniel) Delete this after migrating clients.
|
8
|
+
#include "include/gpu/ganesh/vk/GrVkTypes.h"
|
@@ -8,9 +8,14 @@
|
|
8
8
|
#ifndef skgpu_VulkanBackendContext_DEFINED
|
9
9
|
#define skgpu_VulkanBackendContext_DEFINED
|
10
10
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
11
12
|
#include "include/gpu/GpuTypes.h"
|
12
13
|
#include "include/gpu/vk/VulkanMemoryAllocator.h"
|
13
14
|
#include "include/gpu/vk/VulkanTypes.h"
|
15
|
+
#include "include/private/base/SkAPI.h"
|
16
|
+
#include "include/private/gpu/vk/SkiaVulkan.h"
|
17
|
+
|
18
|
+
#include <cstdint>
|
14
19
|
|
15
20
|
namespace skgpu {
|
16
21
|
|
@@ -18,14 +23,14 @@ class VulkanExtensions;
|
|
18
23
|
|
19
24
|
// The VkBackendContext contains all of the base Vk objects needed by the skia Vulkan context.
|
20
25
|
struct SK_API VulkanBackendContext {
|
21
|
-
VkInstance fInstance;
|
22
|
-
VkPhysicalDevice fPhysicalDevice;
|
23
|
-
VkDevice fDevice;
|
24
|
-
VkQueue fQueue;
|
25
|
-
uint32_t fGraphicsQueueIndex;
|
26
|
+
VkInstance fInstance = VK_NULL_HANDLE;
|
27
|
+
VkPhysicalDevice fPhysicalDevice = VK_NULL_HANDLE;
|
28
|
+
VkDevice fDevice = VK_NULL_HANDLE;
|
29
|
+
VkQueue fQueue = VK_NULL_HANDLE;
|
30
|
+
uint32_t fGraphicsQueueIndex = 0;
|
26
31
|
// The max api version set here should match the value set in VkApplicationInfo::apiVersion when
|
27
32
|
// then VkInstance was created.
|
28
|
-
uint32_t fMaxAPIVersion;
|
33
|
+
uint32_t fMaxAPIVersion = 0;
|
29
34
|
const skgpu::VulkanExtensions* fVkExtensions = nullptr;
|
30
35
|
// The client can create their VkDevice with either a VkPhysicalDeviceFeatures or
|
31
36
|
// VkPhysicalDeviceFeatures2 struct, thus we have to support taking both. The
|
@@ -38,7 +43,7 @@ struct SK_API VulkanBackendContext {
|
|
38
43
|
// for allocating Vulkan resources that use VkDeviceMemory.
|
39
44
|
sk_sp<VulkanMemoryAllocator> fMemoryAllocator;
|
40
45
|
skgpu::VulkanGetProc fGetProc;
|
41
|
-
Protected fProtectedContext;
|
46
|
+
Protected fProtectedContext = Protected::kNo;
|
42
47
|
// Optional callback which will be invoked if a VK_ERROR_DEVICE_LOST error code is received from
|
43
48
|
// the driver. Debug information from the driver will be provided to the callback if the
|
44
49
|
// VK_EXT_device_fault extension is supported and enabled (VkPhysicalDeviceFaultFeaturesEXT must
|
@@ -47,6 +52,6 @@ struct SK_API VulkanBackendContext {
|
|
47
52
|
skgpu::VulkanDeviceLostProc fDeviceLostProc = nullptr;
|
48
53
|
};
|
49
54
|
|
50
|
-
}
|
55
|
+
} // namespace skgpu
|
51
56
|
|
52
57
|
#endif // skgpu_VulkanBackendContext_DEFINED
|
@@ -10,7 +10,13 @@
|
|
10
10
|
|
11
11
|
#include "include/core/SkString.h"
|
12
12
|
#include "include/gpu/vk/VulkanTypes.h"
|
13
|
+
#include "include/private/base/SkAPI.h"
|
14
|
+
#include "include/private/base/SkDebug.h"
|
13
15
|
#include "include/private/base/SkTArray.h"
|
16
|
+
#include "include/private/gpu/vk/SkiaVulkan.h"
|
17
|
+
|
18
|
+
#include <cstdint>
|
19
|
+
#include <cstring>
|
14
20
|
|
15
21
|
namespace skgpu {
|
16
22
|
|
@@ -37,10 +43,10 @@ public:
|
|
37
43
|
|
38
44
|
struct Less {
|
39
45
|
bool operator()(const Info& a, const SkString& b) const {
|
40
|
-
return strcmp(a.fName.c_str(), b.c_str()) < 0;
|
46
|
+
return std::strcmp(a.fName.c_str(), b.c_str()) < 0;
|
41
47
|
}
|
42
48
|
bool operator()(const SkString& a, const VulkanExtensions::Info& b) const {
|
43
|
-
return strcmp(a.c_str(), b.fName.c_str()) < 0;
|
49
|
+
return std::strcmp(a.c_str(), b.fName.c_str()) < 0;
|
44
50
|
}
|
45
51
|
};
|
46
52
|
};
|
@@ -49,7 +55,7 @@ public:
|
|
49
55
|
void dump() const {
|
50
56
|
SkDebugf("**Vulkan Extensions**\n");
|
51
57
|
for (int i = 0; i < fExtensions.size(); ++i) {
|
52
|
-
SkDebugf("%s. Version: %
|
58
|
+
SkDebugf("%s. Version: %u\n",
|
53
59
|
fExtensions[i].fName.c_str(), fExtensions[i].fSpecVersion);
|
54
60
|
}
|
55
61
|
SkDebugf("**End Vulkan Extensions**\n");
|
@@ -9,8 +9,11 @@
|
|
9
9
|
#define skgpu_VulkanMemoryAllocator_DEFINED
|
10
10
|
|
11
11
|
#include "include/core/SkRefCnt.h"
|
12
|
-
#include "include/gpu/GpuTypes.h"
|
13
12
|
#include "include/gpu/vk/VulkanTypes.h"
|
13
|
+
#include "include/private/gpu/vk/SkiaVulkan.h"
|
14
|
+
|
15
|
+
#include <cstdint>
|
16
|
+
#include <utility>
|
14
17
|
|
15
18
|
namespace skgpu {
|
16
19
|
|