@shopify/react-native-skia 1.3.13 → 1.4.1
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
@@ -1,219 +1,8 @@
|
|
1
|
-
|
2
1
|
/*
|
3
2
|
* Copyright 2015 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 GrGLTypes_DEFINED
|
11
|
-
|
12
|
-
#include "include/core/SkRefCnt.h"
|
13
|
-
#include "include/gpu/GpuTypes.h"
|
14
|
-
#include "include/gpu/gl/GrGLConfig.h"
|
15
|
-
|
16
|
-
/**
|
17
|
-
* Classifies GL contexts by which standard they implement (currently as OpenGL vs. OpenGL ES).
|
18
|
-
*/
|
19
|
-
enum GrGLStandard {
|
20
|
-
kNone_GrGLStandard,
|
21
|
-
kGL_GrGLStandard,
|
22
|
-
kGLES_GrGLStandard,
|
23
|
-
kWebGL_GrGLStandard,
|
24
|
-
};
|
25
|
-
static const int kGrGLStandardCnt = 4;
|
26
|
-
|
27
|
-
// The following allow certain interfaces to be turned off at compile time
|
28
|
-
// (for example, to lower code size).
|
29
|
-
#if SK_ASSUME_GL_ES
|
30
|
-
#define GR_IS_GR_GL(standard) false
|
31
|
-
#define GR_IS_GR_GL_ES(standard) true
|
32
|
-
#define GR_IS_GR_WEBGL(standard) false
|
33
|
-
#define SK_DISABLE_GL_INTERFACE 1
|
34
|
-
#define SK_DISABLE_WEBGL_INTERFACE 1
|
35
|
-
#elif SK_ASSUME_GL
|
36
|
-
#define GR_IS_GR_GL(standard) true
|
37
|
-
#define GR_IS_GR_GL_ES(standard) false
|
38
|
-
#define GR_IS_GR_WEBGL(standard) false
|
39
|
-
#define SK_DISABLE_GL_ES_INTERFACE 1
|
40
|
-
#define SK_DISABLE_WEBGL_INTERFACE 1
|
41
|
-
#elif SK_ASSUME_WEBGL
|
42
|
-
#define GR_IS_GR_GL(standard) false
|
43
|
-
#define GR_IS_GR_GL_ES(standard) false
|
44
|
-
#define GR_IS_GR_WEBGL(standard) true
|
45
|
-
#define SK_DISABLE_GL_ES_INTERFACE 1
|
46
|
-
#define SK_DISABLE_GL_INTERFACE 1
|
47
|
-
#else
|
48
|
-
#define GR_IS_GR_GL(standard) (kGL_GrGLStandard == standard)
|
49
|
-
#define GR_IS_GR_GL_ES(standard) (kGLES_GrGLStandard == standard)
|
50
|
-
#define GR_IS_GR_WEBGL(standard) (kWebGL_GrGLStandard == standard)
|
51
|
-
#endif
|
52
|
-
|
53
|
-
///////////////////////////////////////////////////////////////////////////////
|
54
|
-
|
55
|
-
/**
|
56
|
-
* The supported GL formats represented as an enum. Actual support by GrContext depends on GL
|
57
|
-
* context version and extensions.
|
58
|
-
*/
|
59
|
-
enum class GrGLFormat {
|
60
|
-
kUnknown,
|
61
|
-
|
62
|
-
kRGBA8,
|
63
|
-
kR8,
|
64
|
-
kALPHA8,
|
65
|
-
kLUMINANCE8,
|
66
|
-
kLUMINANCE8_ALPHA8,
|
67
|
-
kBGRA8,
|
68
|
-
kRGB565,
|
69
|
-
kRGBA16F,
|
70
|
-
kR16F,
|
71
|
-
kRGB8,
|
72
|
-
kRGBX8,
|
73
|
-
kRG8,
|
74
|
-
kRGB10_A2,
|
75
|
-
kRGBA4,
|
76
|
-
kSRGB8_ALPHA8,
|
77
|
-
kCOMPRESSED_ETC1_RGB8,
|
78
|
-
kCOMPRESSED_RGB8_ETC2,
|
79
|
-
kCOMPRESSED_RGB8_BC1,
|
80
|
-
kCOMPRESSED_RGBA8_BC1,
|
81
|
-
kR16,
|
82
|
-
kRG16,
|
83
|
-
kRGBA16,
|
84
|
-
kRG16F,
|
85
|
-
kLUMINANCE16F,
|
86
|
-
|
87
|
-
kLastColorFormat = kLUMINANCE16F,
|
88
|
-
|
89
|
-
// Depth/Stencil formats
|
90
|
-
kSTENCIL_INDEX8,
|
91
|
-
kSTENCIL_INDEX16,
|
92
|
-
kDEPTH24_STENCIL8,
|
93
|
-
|
94
|
-
kLast = kDEPTH24_STENCIL8
|
95
|
-
};
|
96
|
-
|
97
|
-
///////////////////////////////////////////////////////////////////////////////
|
98
|
-
/**
|
99
|
-
* Declares typedefs for all the GL functions used in GrGLInterface
|
100
|
-
*/
|
101
|
-
|
102
|
-
typedef unsigned int GrGLenum;
|
103
|
-
typedef unsigned char GrGLboolean;
|
104
|
-
typedef unsigned int GrGLbitfield;
|
105
|
-
typedef signed char GrGLbyte;
|
106
|
-
typedef char GrGLchar;
|
107
|
-
typedef short GrGLshort;
|
108
|
-
typedef int GrGLint;
|
109
|
-
typedef int GrGLsizei;
|
110
|
-
typedef int64_t GrGLint64;
|
111
|
-
typedef unsigned char GrGLubyte;
|
112
|
-
typedef unsigned short GrGLushort;
|
113
|
-
typedef unsigned int GrGLuint;
|
114
|
-
typedef uint64_t GrGLuint64;
|
115
|
-
typedef unsigned short int GrGLhalf;
|
116
|
-
typedef float GrGLfloat;
|
117
|
-
typedef float GrGLclampf;
|
118
|
-
typedef double GrGLdouble;
|
119
|
-
typedef double GrGLclampd;
|
120
|
-
typedef void GrGLvoid;
|
121
|
-
#ifdef _WIN64
|
122
|
-
typedef signed long long int GrGLintptr;
|
123
|
-
typedef signed long long int GrGLsizeiptr;
|
124
|
-
#else
|
125
|
-
typedef signed long int GrGLintptr;
|
126
|
-
typedef signed long int GrGLsizeiptr;
|
127
|
-
#endif
|
128
|
-
typedef void* GrGLeglImage;
|
129
|
-
typedef struct __GLsync* GrGLsync;
|
130
|
-
|
131
|
-
struct GrGLDrawArraysIndirectCommand {
|
132
|
-
GrGLuint fCount;
|
133
|
-
GrGLuint fInstanceCount;
|
134
|
-
GrGLuint fFirst;
|
135
|
-
GrGLuint fBaseInstance; // Requires EXT_base_instance on ES.
|
136
|
-
};
|
137
|
-
|
138
|
-
// static_asserts must have messages in this file because its included in C++14 client code.
|
139
|
-
static_assert(16 == sizeof(GrGLDrawArraysIndirectCommand), "");
|
140
|
-
|
141
|
-
struct GrGLDrawElementsIndirectCommand {
|
142
|
-
GrGLuint fCount;
|
143
|
-
GrGLuint fInstanceCount;
|
144
|
-
GrGLuint fFirstIndex;
|
145
|
-
GrGLuint fBaseVertex;
|
146
|
-
GrGLuint fBaseInstance; // Requires EXT_base_instance on ES.
|
147
|
-
};
|
148
|
-
|
149
|
-
static_assert(20 == sizeof(GrGLDrawElementsIndirectCommand), "");
|
150
|
-
|
151
|
-
/**
|
152
|
-
* KHR_debug
|
153
|
-
*/
|
154
|
-
typedef void (GR_GL_FUNCTION_TYPE* GRGLDEBUGPROC)(GrGLenum source,
|
155
|
-
GrGLenum type,
|
156
|
-
GrGLuint id,
|
157
|
-
GrGLenum severity,
|
158
|
-
GrGLsizei length,
|
159
|
-
const GrGLchar* message,
|
160
|
-
const void* userParam);
|
161
|
-
|
162
|
-
/**
|
163
|
-
* EGL types.
|
164
|
-
*/
|
165
|
-
typedef void* GrEGLImage;
|
166
|
-
typedef void* GrEGLDisplay;
|
167
|
-
typedef void* GrEGLContext;
|
168
|
-
typedef void* GrEGLClientBuffer;
|
169
|
-
typedef unsigned int GrEGLenum;
|
170
|
-
typedef int32_t GrEGLint;
|
171
|
-
typedef unsigned int GrEGLBoolean;
|
172
|
-
|
173
|
-
///////////////////////////////////////////////////////////////////////////////
|
174
|
-
/**
|
175
|
-
* Types for interacting with GL resources created externally to Skia. GrBackendObjects for GL
|
176
|
-
* textures are really const GrGLTexture*. The fFormat here should be a sized, internal format
|
177
|
-
* for the texture. We will try to use the sized format if the GL Context supports it, otherwise
|
178
|
-
* we will internally fall back to using the base internal formats.
|
179
|
-
*/
|
180
|
-
struct GrGLTextureInfo {
|
181
|
-
GrGLenum fTarget;
|
182
|
-
GrGLuint fID;
|
183
|
-
GrGLenum fFormat = 0;
|
184
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
185
|
-
|
186
|
-
bool operator==(const GrGLTextureInfo& that) const {
|
187
|
-
return fTarget == that.fTarget &&
|
188
|
-
fID == that.fID &&
|
189
|
-
fFormat == that.fFormat &&
|
190
|
-
fProtected == that.fProtected;
|
191
|
-
}
|
192
|
-
|
193
|
-
bool isProtected() const { return fProtected == skgpu::Protected::kYes; }
|
194
|
-
};
|
195
|
-
|
196
|
-
struct GrGLFramebufferInfo {
|
197
|
-
GrGLuint fFBOID;
|
198
|
-
GrGLenum fFormat = 0;
|
199
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
200
|
-
|
201
|
-
bool operator==(const GrGLFramebufferInfo& that) const {
|
202
|
-
return fFBOID == that.fFBOID &&
|
203
|
-
fFormat == that.fFormat &&
|
204
|
-
fProtected == that.fProtected;
|
205
|
-
}
|
206
|
-
|
207
|
-
bool isProtected() const { return fProtected == skgpu::Protected::kYes; }
|
208
|
-
};
|
209
|
-
|
210
|
-
struct GrGLSurfaceInfo {
|
211
|
-
uint32_t fSampleCount = 1;
|
212
|
-
uint32_t fLevelCount = 0;
|
213
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
214
|
-
|
215
|
-
GrGLenum fTarget = 0;
|
216
|
-
GrGLenum fFormat = 0;
|
217
|
-
};
|
218
|
-
|
219
|
-
#endif
|
7
|
+
// TODO(kjlubick, egdaniel) Delete this after migrating clients.
|
8
|
+
#include "include/gpu/ganesh/gl/GrGLTypes.h"
|
@@ -10,28 +10,15 @@
|
|
10
10
|
|
11
11
|
#include "include/core/SkRefCnt.h"
|
12
12
|
#include "include/gpu/graphite/GraphiteTypes.h"
|
13
|
-
|
14
|
-
#ifdef SK_METAL
|
15
|
-
#include "include/gpu/graphite/mtl/MtlGraphiteTypes.h"
|
16
|
-
#endif
|
17
|
-
|
18
|
-
#ifdef SK_VULKAN
|
19
|
-
#include "include/private/gpu/vk/SkiaVulkan.h"
|
20
|
-
#endif
|
13
|
+
#include "include/private/base/SkAnySubclass.h"
|
21
14
|
|
22
15
|
namespace skgpu::graphite {
|
23
16
|
|
17
|
+
class BackendSemaphoreData;
|
18
|
+
|
24
19
|
class SK_API BackendSemaphore {
|
25
20
|
public:
|
26
21
|
BackendSemaphore();
|
27
|
-
#ifdef SK_METAL
|
28
|
-
// TODO: Determine creator's responsibility for setting refcnt.
|
29
|
-
BackendSemaphore(CFTypeRef mtlEvent, uint64_t value);
|
30
|
-
#endif
|
31
|
-
|
32
|
-
#ifdef SK_VULKAN
|
33
|
-
BackendSemaphore(VkSemaphore semaphore);
|
34
|
-
#endif
|
35
22
|
|
36
23
|
BackendSemaphore(const BackendSemaphore&);
|
37
24
|
|
@@ -42,34 +29,26 @@ public:
|
|
42
29
|
bool isValid() const { return fIsValid; }
|
43
30
|
BackendApi backend() const { return fBackend; }
|
44
31
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
32
|
+
private:
|
33
|
+
friend class BackendSemaphoreData;
|
34
|
+
friend class BackendSemaphorePriv;
|
35
|
+
|
36
|
+
// Size determined by looking at the BackendSemaphoreData subclasses, then
|
37
|
+
// guessing-and-checking. Compiler will complain if this is too small - in that case, just
|
38
|
+
// increase the number.
|
39
|
+
inline constexpr static size_t kMaxSubclassSize = 24;
|
40
|
+
using AnyBackendSemaphoreData = SkAnySubclass<BackendSemaphoreData, kMaxSubclassSize>;
|
49
41
|
|
50
|
-
|
51
|
-
|
52
|
-
|
42
|
+
template <typename SomeBackendSemaphoreData>
|
43
|
+
BackendSemaphore(BackendApi backend, const SomeBackendSemaphoreData& data)
|
44
|
+
: fBackend(backend), fIsValid(true) {
|
45
|
+
fSemaphoreData.emplace<SomeBackendSemaphoreData>(data);
|
46
|
+
}
|
53
47
|
|
54
|
-
private:
|
55
|
-
// TODO: For now, implement as a union until we figure out the plan for this and BackendTexture.
|
56
|
-
union {
|
57
|
-
#ifdef SK_DAWN
|
58
|
-
// TODO: WebGPU doesn't seem to have the notion of an Event or Semaphore
|
59
|
-
#endif
|
60
|
-
#ifdef SK_METAL
|
61
|
-
struct {
|
62
|
-
CFTypeRef fMtlEvent; // Expected to be an id<MTLEvent>
|
63
|
-
uint64_t fMtlValue;
|
64
|
-
};
|
65
|
-
#endif
|
66
|
-
#ifdef SK_VULKAN
|
67
|
-
VkSemaphore fVkSemaphore;
|
68
|
-
#endif
|
69
|
-
void* fEnsureUnionNonEmpty;
|
70
|
-
};
|
71
|
-
bool fIsValid = false;
|
72
48
|
BackendApi fBackend;
|
49
|
+
AnyBackendSemaphoreData fSemaphoreData;
|
50
|
+
|
51
|
+
bool fIsValid = false;
|
73
52
|
};
|
74
53
|
|
75
54
|
} // namespace skgpu::graphite
|
@@ -12,81 +12,16 @@
|
|
12
12
|
#include "include/core/SkSize.h"
|
13
13
|
#include "include/gpu/graphite/GraphiteTypes.h"
|
14
14
|
#include "include/gpu/graphite/TextureInfo.h"
|
15
|
-
|
16
|
-
#ifdef SK_DAWN
|
17
|
-
#include "include/gpu/graphite/dawn/DawnTypes.h"
|
18
|
-
#endif
|
19
|
-
|
20
|
-
#ifdef SK_METAL
|
21
|
-
#include "include/gpu/graphite/mtl/MtlGraphiteTypes.h"
|
22
|
-
#endif
|
23
|
-
|
24
|
-
#ifdef SK_VULKAN
|
25
|
-
#include "include/gpu/vk/VulkanTypes.h"
|
26
|
-
#include "include/private/gpu/vk/SkiaVulkan.h"
|
27
|
-
#endif
|
28
|
-
|
29
|
-
namespace skgpu {
|
30
|
-
class MutableTextureState;
|
31
|
-
}
|
15
|
+
#include "include/private/base/SkAnySubclass.h"
|
32
16
|
|
33
17
|
namespace skgpu::graphite {
|
34
18
|
|
19
|
+
class BackendTextureData;
|
20
|
+
struct VulkanTextureInfo;
|
21
|
+
|
35
22
|
class SK_API BackendTexture {
|
36
23
|
public:
|
37
24
|
BackendTexture();
|
38
|
-
#ifdef SK_DAWN
|
39
|
-
// Create a BackendTexture from a WGPUTexture. Texture info will be queried from the texture.
|
40
|
-
//
|
41
|
-
// This is the recommended way of specifying a BackendTexture for Dawn. See the note below on
|
42
|
-
// the constructor that takes a WGPUTextureView for a fuller explanation.
|
43
|
-
//
|
44
|
-
// The BackendTexture will not call retain or release on the passed in WGPUTexture. Thus, the
|
45
|
-
// client must keep the WGPUTexture valid until they are no longer using the BackendTexture.
|
46
|
-
// However, any SkImage or SkSurface that wraps the BackendTexture *will* retain and release
|
47
|
-
// the WGPUTexture.
|
48
|
-
BackendTexture(WGPUTexture texture);
|
49
|
-
|
50
|
-
// Create a BackendTexture from a WGPUTexture. Texture planeDimensions, plane aspect and
|
51
|
-
// info have to be provided. This is intended to be used only when accessing a plane
|
52
|
-
// of a WGPUTexture.
|
53
|
-
//
|
54
|
-
// The BackendTexture will not call retain or release on the passed in WGPUTexture. Thus, the
|
55
|
-
// client must keep the WGPUTexture valid until they are no longer using the BackendTexture.
|
56
|
-
// However, any SkImage or SkSurface that wraps the BackendTexture *will* retain and release
|
57
|
-
// the WGPUTexture.
|
58
|
-
BackendTexture(SkISize planeDimensions, const DawnTextureInfo& info, WGPUTexture texture);
|
59
|
-
|
60
|
-
// Create a BackendTexture from a WGPUTextureView. Texture dimensions and
|
61
|
-
// info have to be provided.
|
62
|
-
//
|
63
|
-
// Using a WGPUTextureView rather than a WGPUTexture is less effecient for operations that
|
64
|
-
// require buffer transfers to or from the texture (e.g. methods on graphite::Context that read
|
65
|
-
// pixels or SkSurface::writePixels). In such cases an intermediate copy to or from a
|
66
|
-
// WGPUTexture is required. Thus, it is recommended to use this functionality only for cases
|
67
|
-
// where a WGPUTexture is unavailable, in particular when using wgpu::SwapChain.
|
68
|
-
//
|
69
|
-
// The BackendTexture will not call retain or release on the passed in WGPUTextureView. Thus,
|
70
|
-
// the client must keep the WGPUTextureView valid until they are no longer using the
|
71
|
-
// BackendTexture. However, any SkImage or SkSurface that wraps the BackendTexture *will* retain
|
72
|
-
// and release the WGPUTextureView.
|
73
|
-
BackendTexture(SkISize dimensions, const DawnTextureInfo& info, WGPUTextureView textureView);
|
74
|
-
#endif
|
75
|
-
#ifdef SK_METAL
|
76
|
-
// The BackendTexture will not call retain or release on the passed in CFTypeRef. Thus the
|
77
|
-
// client must keep the CFTypeRef valid until they are no longer using the BackendTexture.
|
78
|
-
BackendTexture(SkISize dimensions, CFTypeRef mtlTexture);
|
79
|
-
#endif
|
80
|
-
|
81
|
-
#ifdef SK_VULKAN
|
82
|
-
BackendTexture(SkISize dimensions,
|
83
|
-
const VulkanTextureInfo&,
|
84
|
-
VkImageLayout,
|
85
|
-
uint32_t queueFamilyIndex,
|
86
|
-
VkImage,
|
87
|
-
VulkanAlloc);
|
88
|
-
#endif
|
89
|
-
|
90
25
|
BackendTexture(const BackendTexture&);
|
91
26
|
|
92
27
|
~BackendTexture();
|
@@ -103,59 +38,24 @@ public:
|
|
103
38
|
|
104
39
|
const TextureInfo& info() const { return fInfo; }
|
105
40
|
|
106
|
-
// If the client changes any of the mutable backend of the GrBackendTexture they should call
|
107
|
-
// this function to inform Skia that those values have changed. The backend API specific state
|
108
|
-
// that can be set from this function are:
|
109
|
-
//
|
110
|
-
// Vulkan: VkImageLayout and QueueFamilyIndex
|
111
|
-
void setMutableState(const skgpu::MutableTextureState&);
|
112
|
-
|
113
|
-
#ifdef SK_DAWN
|
114
|
-
WGPUTexture getDawnTexturePtr() const;
|
115
|
-
WGPUTextureView getDawnTextureViewPtr() const;
|
116
|
-
#endif
|
117
|
-
#ifdef SK_METAL
|
118
|
-
CFTypeRef getMtlTexture() const;
|
119
|
-
#endif
|
120
|
-
|
121
|
-
#ifdef SK_VULKAN
|
122
|
-
VkImage getVkImage() const;
|
123
|
-
VkImageLayout getVkImageLayout() const;
|
124
|
-
uint32_t getVkQueueFamilyIndex() const;
|
125
|
-
const VulkanAlloc* getMemoryAlloc() const;
|
126
|
-
#endif
|
127
|
-
|
128
41
|
private:
|
129
|
-
friend class
|
130
|
-
|
42
|
+
friend class BackendTextureData;
|
43
|
+
friend class BackendTexturePriv;
|
44
|
+
|
45
|
+
// Size determined by looking at the BackendTextureData subclasses, then guessing-and-checking.
|
46
|
+
// Compiler will complain if this is too small - in that case, just increase the number.
|
47
|
+
inline constexpr static size_t kMaxSubclassSize = 72;
|
48
|
+
using AnyBackendTextureData = SkAnySubclass<BackendTextureData, kMaxSubclassSize>;
|
49
|
+
|
50
|
+
template <typename SomeBackendTextureData>
|
51
|
+
BackendTexture(SkISize dimensions, TextureInfo info, const SomeBackendTextureData& textureData)
|
52
|
+
: fDimensions(dimensions), fInfo(info) {
|
53
|
+
fTextureData.emplace<SomeBackendTextureData>(textureData);
|
54
|
+
}
|
131
55
|
|
132
56
|
SkISize fDimensions;
|
133
57
|
TextureInfo fInfo;
|
134
|
-
|
135
|
-
sk_sp<MutableTextureState> fMutableState;
|
136
|
-
|
137
|
-
#ifdef SK_VULKAN
|
138
|
-
// fMemoryAlloc == VulkanAlloc() if the client has already created their own VkImage and
|
139
|
-
// will destroy it themselves as opposed to having Skia create/destroy it via
|
140
|
-
// Recorder::createBackendTexture and Context::deleteBackendTexture.
|
141
|
-
VulkanAlloc fMemoryAlloc = VulkanAlloc();
|
142
|
-
#endif
|
143
|
-
|
144
|
-
union {
|
145
|
-
#ifdef SK_DAWN
|
146
|
-
struct {
|
147
|
-
WGPUTexture fDawnTexture;
|
148
|
-
WGPUTextureView fDawnTextureView;
|
149
|
-
};
|
150
|
-
#endif
|
151
|
-
#ifdef SK_METAL
|
152
|
-
CFTypeRef fMtlTexture;
|
153
|
-
#endif
|
154
|
-
#ifdef SK_VULKAN
|
155
|
-
VkImage fVkImage = VK_NULL_HANDLE;
|
156
|
-
#endif
|
157
|
-
void* fEnsureUnionNonEmpty;
|
158
|
-
};
|
58
|
+
AnyBackendTextureData fTextureData;
|
159
59
|
};
|
160
60
|
|
161
61
|
} // namespace skgpu::graphite
|