@shopify/react-native-skia 1.3.13 → 1.4.0
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 +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
|
|