@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
|
@@ -4,121 +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 GrYUVABackendTextures_DEFINED
|
|
10
|
-
|
|
11
|
-
#include "include/core/SkYUVAInfo.h"
|
|
12
|
-
#include "include/gpu/GrBackendSurface.h"
|
|
13
|
-
|
|
14
|
-
#include <tuple>
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* A description of a set GrBackendTextures that hold the planar data described by a SkYUVAInfo.
|
|
18
|
-
*/
|
|
19
|
-
class SK_API GrYUVABackendTextureInfo {
|
|
20
|
-
public:
|
|
21
|
-
static constexpr auto kMaxPlanes = SkYUVAInfo::kMaxPlanes;
|
|
22
|
-
|
|
23
|
-
/** Default GrYUVABackendTextureInfo is invalid. */
|
|
24
|
-
GrYUVABackendTextureInfo() = default;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Initializes a GrYUVABackendTextureInfo to describe a set of textures that can store the
|
|
28
|
-
* planes indicated by the SkYUVAInfo. The texture dimensions are taken from the SkYUVAInfo's
|
|
29
|
-
* plane dimensions. All the described textures share a common origin. The planar image this
|
|
30
|
-
* describes will be mip mapped if all the textures are individually mip mapped as indicated
|
|
31
|
-
* by skgpu::Mipmapped. This will produce an invalid result (return false from isValid()) if the
|
|
32
|
-
* passed formats' channels don't agree with SkYUVAInfo.
|
|
33
|
-
*/
|
|
34
|
-
GrYUVABackendTextureInfo(const SkYUVAInfo&,
|
|
35
|
-
const GrBackendFormat[kMaxPlanes],
|
|
36
|
-
skgpu::Mipmapped,
|
|
37
|
-
GrSurfaceOrigin);
|
|
38
|
-
|
|
39
|
-
GrYUVABackendTextureInfo(const GrYUVABackendTextureInfo&) = default;
|
|
40
|
-
|
|
41
|
-
GrYUVABackendTextureInfo& operator=(const GrYUVABackendTextureInfo&) = default;
|
|
42
|
-
|
|
43
|
-
bool operator==(const GrYUVABackendTextureInfo&) const;
|
|
44
|
-
bool operator!=(const GrYUVABackendTextureInfo& that) const { return !(*this == that); }
|
|
45
|
-
|
|
46
|
-
const SkYUVAInfo& yuvaInfo() const { return fYUVAInfo; }
|
|
47
|
-
|
|
48
|
-
SkYUVColorSpace yuvColorSpace() const { return fYUVAInfo.yuvColorSpace(); }
|
|
49
|
-
|
|
50
|
-
skgpu::Mipmapped mipmapped() const { return fMipmapped; }
|
|
51
|
-
|
|
52
|
-
GrSurfaceOrigin textureOrigin() const { return fTextureOrigin; }
|
|
53
|
-
|
|
54
|
-
/** The number of SkPixmap planes, 0 if this GrYUVABackendTextureInfo is invalid. */
|
|
55
|
-
int numPlanes() const { return fYUVAInfo.numPlanes(); }
|
|
56
|
-
|
|
57
|
-
/** Format of the ith plane, or invalid format if i >= numPlanes() */
|
|
58
|
-
const GrBackendFormat& planeFormat(int i) const { return fPlaneFormats[i]; }
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Returns true if this has been configured with a valid SkYUVAInfo with compatible texture
|
|
62
|
-
* formats.
|
|
63
|
-
*/
|
|
64
|
-
bool isValid() const { return fYUVAInfo.isValid(); }
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Computes a YUVALocations representation of the planar layout. The result is guaranteed to be
|
|
68
|
-
* valid if this->isValid().
|
|
69
|
-
*/
|
|
70
|
-
SkYUVAInfo::YUVALocations toYUVALocations() const;
|
|
71
|
-
|
|
72
|
-
private:
|
|
73
|
-
SkYUVAInfo fYUVAInfo;
|
|
74
|
-
GrBackendFormat fPlaneFormats[kMaxPlanes];
|
|
75
|
-
skgpu::Mipmapped fMipmapped = skgpu::Mipmapped::kNo;
|
|
76
|
-
GrSurfaceOrigin fTextureOrigin = kTopLeft_GrSurfaceOrigin;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* A set of GrBackendTextures that hold the planar data for an image described a SkYUVAInfo.
|
|
81
|
-
*/
|
|
82
|
-
class SK_API GrYUVABackendTextures {
|
|
83
|
-
public:
|
|
84
|
-
GrYUVABackendTextures() = default;
|
|
85
|
-
GrYUVABackendTextures(const GrYUVABackendTextures&) = delete;
|
|
86
|
-
GrYUVABackendTextures(GrYUVABackendTextures&&) = default;
|
|
87
|
-
|
|
88
|
-
GrYUVABackendTextures& operator=(const GrYUVABackendTextures&) = delete;
|
|
89
|
-
GrYUVABackendTextures& operator=(GrYUVABackendTextures&&) = default;
|
|
90
|
-
|
|
91
|
-
GrYUVABackendTextures(const SkYUVAInfo&,
|
|
92
|
-
const GrBackendTexture[SkYUVAInfo::kMaxPlanes],
|
|
93
|
-
GrSurfaceOrigin textureOrigin);
|
|
94
|
-
|
|
95
|
-
const std::array<GrBackendTexture, SkYUVAInfo::kMaxPlanes>& textures() const {
|
|
96
|
-
return fTextures;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
GrBackendTexture texture(int i) const {
|
|
100
|
-
SkASSERT(i >= 0 && i < SkYUVAInfo::kMaxPlanes);
|
|
101
|
-
return fTextures[static_cast<size_t>(i)];
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const SkYUVAInfo& yuvaInfo() const { return fYUVAInfo; }
|
|
105
|
-
|
|
106
|
-
int numPlanes() const { return fYUVAInfo.numPlanes(); }
|
|
107
|
-
|
|
108
|
-
GrSurfaceOrigin textureOrigin() const { return fTextureOrigin; }
|
|
109
|
-
|
|
110
|
-
bool isValid() const { return fYUVAInfo.isValid(); }
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Computes a YUVALocations representation of the planar layout. The result is guaranteed to be
|
|
114
|
-
* valid if this->isValid().
|
|
115
|
-
*/
|
|
116
|
-
SkYUVAInfo::YUVALocations toYUVALocations() const;
|
|
117
|
-
|
|
118
|
-
private:
|
|
119
|
-
SkYUVAInfo fYUVAInfo;
|
|
120
|
-
std::array<GrBackendTexture, SkYUVAInfo::kMaxPlanes> fTextures;
|
|
121
|
-
GrSurfaceOrigin fTextureOrigin = kTopLeft_GrSurfaceOrigin;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
#endif
|
|
7
|
+
// TODO(kjlubick, egdaniel) Delete this after migrating clients.
|
|
8
|
+
#include "include/gpu/ganesh/GrYUVABackendTextures.h"
|
|
@@ -4,32 +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 GrD3DBackendContext_DEFINED
|
|
10
|
-
|
|
11
|
-
// GrD3DTypes.h includes d3d12.h, which in turn includes windows.h, which redefines many
|
|
12
|
-
// common identifiers such as:
|
|
13
|
-
// * interface
|
|
14
|
-
// * small
|
|
15
|
-
// * near
|
|
16
|
-
// * far
|
|
17
|
-
// * CreateSemaphore
|
|
18
|
-
// * MemoryBarrier
|
|
19
|
-
//
|
|
20
|
-
// You should only include GrD3DBackendContext.h if you are prepared to rename those identifiers.
|
|
21
|
-
#include "include/gpu/d3d/GrD3DTypes.h"
|
|
22
|
-
|
|
23
|
-
#include "include/gpu/GrTypes.h"
|
|
24
|
-
|
|
25
|
-
// The BackendContext contains all of the base D3D objects needed by the GrD3DGpu. The assumption
|
|
26
|
-
// is that the client will set these up and pass them to the GrD3DGpu constructor.
|
|
27
|
-
struct SK_API GrD3DBackendContext {
|
|
28
|
-
gr_cp<IDXGIAdapter1> fAdapter;
|
|
29
|
-
gr_cp<ID3D12Device> fDevice;
|
|
30
|
-
gr_cp<ID3D12CommandQueue> fQueue;
|
|
31
|
-
sk_sp<GrD3DMemoryAllocator> fMemoryAllocator;
|
|
32
|
-
GrProtected fProtectedContext = GrProtected::kNo;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
#endif
|
|
7
|
+
// TODO(kjlubick, egdaniel) Delete this after migrating clients.
|
|
8
|
+
#include "include/gpu/ganesh/d3d/GrD3DBackendContext.h"
|
|
@@ -1,248 +1,8 @@
|
|
|
1
|
-
|
|
2
1
|
/*
|
|
3
2
|
* Copyright 2020 Google LLC
|
|
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 GrD3DTypes_DEFINED
|
|
11
|
-
|
|
12
|
-
// This file includes d3d12.h, which in turn includes windows.h, which redefines many
|
|
13
|
-
// common identifiers such as:
|
|
14
|
-
// * interface
|
|
15
|
-
// * small
|
|
16
|
-
// * near
|
|
17
|
-
// * far
|
|
18
|
-
// * CreateSemaphore
|
|
19
|
-
// * MemoryBarrier
|
|
20
|
-
//
|
|
21
|
-
// You should only include this header if you need the Direct3D definitions and are
|
|
22
|
-
// prepared to rename those identifiers.
|
|
23
|
-
|
|
24
|
-
#include "include/core/SkRefCnt.h"
|
|
25
|
-
#include "include/gpu/GpuTypes.h"
|
|
26
|
-
#include <d3d12.h>
|
|
27
|
-
#include <dxgi1_4.h>
|
|
28
|
-
|
|
29
|
-
class GrD3DGpu;
|
|
30
|
-
|
|
31
|
-
/** Check if the argument is non-null, and if so, call obj->AddRef() and return obj.
|
|
32
|
-
*/
|
|
33
|
-
template <typename T> static inline T* GrSafeComAddRef(T* obj) {
|
|
34
|
-
if (obj) {
|
|
35
|
-
obj->AddRef();
|
|
36
|
-
}
|
|
37
|
-
return obj;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/** Check if the argument is non-null, and if so, call obj->Release()
|
|
41
|
-
*/
|
|
42
|
-
template <typename T> static inline void GrSafeComRelease(T* obj) {
|
|
43
|
-
if (obj) {
|
|
44
|
-
obj->Release();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
template <typename T> class gr_cp {
|
|
49
|
-
public:
|
|
50
|
-
using element_type = T;
|
|
51
|
-
|
|
52
|
-
constexpr gr_cp() : fObject(nullptr) {}
|
|
53
|
-
constexpr gr_cp(std::nullptr_t) : fObject(nullptr) {}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Shares the underlying object by calling AddRef(), so that both the argument and the newly
|
|
57
|
-
* created gr_cp both have a reference to it.
|
|
58
|
-
*/
|
|
59
|
-
gr_cp(const gr_cp<T>& that) : fObject(GrSafeComAddRef(that.get())) {}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Move the underlying object from the argument to the newly created gr_cp. Afterwards only
|
|
63
|
-
* the new gr_cp will have a reference to the object, and the argument will point to null.
|
|
64
|
-
* No call to AddRef() or Release() will be made.
|
|
65
|
-
*/
|
|
66
|
-
gr_cp(gr_cp<T>&& that) : fObject(that.release()) {}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Adopt the bare object into the newly created gr_cp.
|
|
70
|
-
* No call to AddRef() or Release() will be made.
|
|
71
|
-
*/
|
|
72
|
-
explicit gr_cp(T* obj) {
|
|
73
|
-
fObject = obj;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Calls Release() on the underlying object pointer.
|
|
78
|
-
*/
|
|
79
|
-
~gr_cp() {
|
|
80
|
-
GrSafeComRelease(fObject);
|
|
81
|
-
SkDEBUGCODE(fObject = nullptr);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Shares the underlying object referenced by the argument by calling AddRef() on it. If this
|
|
86
|
-
* gr_cp previously had a reference to an object (i.e. not null) it will call Release()
|
|
87
|
-
* on that object.
|
|
88
|
-
*/
|
|
89
|
-
gr_cp<T>& operator=(const gr_cp<T>& that) {
|
|
90
|
-
if (this != &that) {
|
|
91
|
-
this->reset(GrSafeComAddRef(that.get()));
|
|
92
|
-
}
|
|
93
|
-
return *this;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Move the underlying object from the argument to the gr_cp. If the gr_cp
|
|
98
|
-
* previously held a reference to another object, Release() will be called on that object.
|
|
99
|
-
* No call to AddRef() will be made.
|
|
100
|
-
*/
|
|
101
|
-
gr_cp<T>& operator=(gr_cp<T>&& that) {
|
|
102
|
-
this->reset(that.release());
|
|
103
|
-
return *this;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
explicit operator bool() const { return this->get() != nullptr; }
|
|
107
|
-
|
|
108
|
-
T* get() const { return fObject; }
|
|
109
|
-
T* operator->() const { return fObject; }
|
|
110
|
-
T** operator&() { return &fObject; }
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Adopt the new object, and call Release() on any previously held object (if not null).
|
|
114
|
-
* No call to AddRef() will be made.
|
|
115
|
-
*/
|
|
116
|
-
void reset(T* object = nullptr) {
|
|
117
|
-
T* oldObject = fObject;
|
|
118
|
-
fObject = object;
|
|
119
|
-
GrSafeComRelease(oldObject);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Shares the new object by calling AddRef() on it. If this gr_cp previously had a
|
|
124
|
-
* reference to an object (i.e. not null) it will call Release() on that object.
|
|
125
|
-
*/
|
|
126
|
-
void retain(T* object) {
|
|
127
|
-
if (this->fObject != object) {
|
|
128
|
-
this->reset(GrSafeComAddRef(object));
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Return the original object, and set the internal object to nullptr.
|
|
134
|
-
* The caller must assume ownership of the object, and manage its reference count directly.
|
|
135
|
-
* No call to Release() will be made.
|
|
136
|
-
*/
|
|
137
|
-
[[nodiscard]] T* release() {
|
|
138
|
-
T* obj = fObject;
|
|
139
|
-
fObject = nullptr;
|
|
140
|
-
return obj;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
private:
|
|
144
|
-
T* fObject;
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
template <typename T> inline bool operator==(const gr_cp<T>& a,
|
|
148
|
-
const gr_cp<T>& b) {
|
|
149
|
-
return a.get() == b.get();
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
template <typename T> inline bool operator!=(const gr_cp<T>& a,
|
|
153
|
-
const gr_cp<T>& b) {
|
|
154
|
-
return a.get() != b.get();
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// interface classes for the GPU memory allocator
|
|
158
|
-
class GrD3DAlloc : public SkRefCnt {
|
|
159
|
-
public:
|
|
160
|
-
~GrD3DAlloc() override = default;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
class GrD3DMemoryAllocator : public SkRefCnt {
|
|
164
|
-
public:
|
|
165
|
-
virtual gr_cp<ID3D12Resource> createResource(D3D12_HEAP_TYPE, const D3D12_RESOURCE_DESC*,
|
|
166
|
-
D3D12_RESOURCE_STATES initialResourceState,
|
|
167
|
-
sk_sp<GrD3DAlloc>* allocation,
|
|
168
|
-
const D3D12_CLEAR_VALUE*) = 0;
|
|
169
|
-
virtual gr_cp<ID3D12Resource> createAliasingResource(sk_sp<GrD3DAlloc>& allocation,
|
|
170
|
-
uint64_t localOffset,
|
|
171
|
-
const D3D12_RESOURCE_DESC*,
|
|
172
|
-
D3D12_RESOURCE_STATES initialResourceState,
|
|
173
|
-
const D3D12_CLEAR_VALUE*) = 0;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
// Note: there is no notion of Borrowed or Adopted resources in the D3D backend,
|
|
177
|
-
// so Ganesh will ref fResource once it's asked to wrap it.
|
|
178
|
-
// Clients are responsible for releasing their own ref to avoid memory leaks.
|
|
179
|
-
struct GrD3DTextureResourceInfo {
|
|
180
|
-
gr_cp<ID3D12Resource> fResource = nullptr;
|
|
181
|
-
sk_sp<GrD3DAlloc> fAlloc = nullptr;
|
|
182
|
-
D3D12_RESOURCE_STATES fResourceState = D3D12_RESOURCE_STATE_COMMON;
|
|
183
|
-
DXGI_FORMAT fFormat = DXGI_FORMAT_UNKNOWN;
|
|
184
|
-
uint32_t fSampleCount = 1;
|
|
185
|
-
uint32_t fLevelCount = 0;
|
|
186
|
-
unsigned int fSampleQualityPattern = DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN;
|
|
187
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
188
|
-
|
|
189
|
-
GrD3DTextureResourceInfo() = default;
|
|
190
|
-
|
|
191
|
-
GrD3DTextureResourceInfo(ID3D12Resource* resource,
|
|
192
|
-
const sk_sp<GrD3DAlloc> alloc,
|
|
193
|
-
D3D12_RESOURCE_STATES resourceState,
|
|
194
|
-
DXGI_FORMAT format,
|
|
195
|
-
uint32_t sampleCount,
|
|
196
|
-
uint32_t levelCount,
|
|
197
|
-
unsigned int sampleQualityLevel,
|
|
198
|
-
skgpu::Protected isProtected = skgpu::Protected::kNo)
|
|
199
|
-
: fResource(resource)
|
|
200
|
-
, fAlloc(alloc)
|
|
201
|
-
, fResourceState(resourceState)
|
|
202
|
-
, fFormat(format)
|
|
203
|
-
, fSampleCount(sampleCount)
|
|
204
|
-
, fLevelCount(levelCount)
|
|
205
|
-
, fSampleQualityPattern(sampleQualityLevel)
|
|
206
|
-
, fProtected(isProtected) {}
|
|
207
|
-
|
|
208
|
-
GrD3DTextureResourceInfo(const GrD3DTextureResourceInfo& info,
|
|
209
|
-
D3D12_RESOURCE_STATES resourceState)
|
|
210
|
-
: fResource(info.fResource)
|
|
211
|
-
, fAlloc(info.fAlloc)
|
|
212
|
-
, fResourceState(resourceState)
|
|
213
|
-
, fFormat(info.fFormat)
|
|
214
|
-
, fSampleCount(info.fSampleCount)
|
|
215
|
-
, fLevelCount(info.fLevelCount)
|
|
216
|
-
, fSampleQualityPattern(info.fSampleQualityPattern)
|
|
217
|
-
, fProtected(info.fProtected) {}
|
|
218
|
-
|
|
219
|
-
#if defined(GR_TEST_UTILS)
|
|
220
|
-
bool operator==(const GrD3DTextureResourceInfo& that) const {
|
|
221
|
-
return fResource == that.fResource && fResourceState == that.fResourceState &&
|
|
222
|
-
fFormat == that.fFormat && fSampleCount == that.fSampleCount &&
|
|
223
|
-
fLevelCount == that.fLevelCount &&
|
|
224
|
-
fSampleQualityPattern == that.fSampleQualityPattern && fProtected == that.fProtected;
|
|
225
|
-
}
|
|
226
|
-
#endif
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
struct GrD3DFenceInfo {
|
|
230
|
-
GrD3DFenceInfo()
|
|
231
|
-
: fFence(nullptr)
|
|
232
|
-
, fValue(0) {
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
gr_cp<ID3D12Fence> fFence;
|
|
236
|
-
uint64_t fValue; // signal value for the fence
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
struct GrD3DSurfaceInfo {
|
|
240
|
-
uint32_t fSampleCount = 1;
|
|
241
|
-
uint32_t fLevelCount = 0;
|
|
242
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
243
|
-
|
|
244
|
-
DXGI_FORMAT fFormat = DXGI_FORMAT_UNKNOWN;
|
|
245
|
-
unsigned int fSampleQualityPattern = DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN;
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
#endif
|
|
7
|
+
// TODO(kjlubick, egdaniel) Delete this after migrating clients.
|
|
8
|
+
#include "include/gpu/ganesh/d3d/GrD3DTypes.h"
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2017 Google Inc.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef GrBackendSemaphore_DEFINED
|
|
9
|
+
#define GrBackendSemaphore_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/gpu/ganesh/GrTypes.h" // IWYU pragma: keep
|
|
12
|
+
#include "include/private/base/SkAPI.h"
|
|
13
|
+
#include "include/private/base/SkAnySubclass.h"
|
|
14
|
+
|
|
15
|
+
#ifdef SK_DIRECT3D
|
|
16
|
+
#include "include/private/gpu/ganesh/GrD3DTypesMinimal.h"
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
#include <cstddef>
|
|
20
|
+
|
|
21
|
+
class GrBackendSemaphoreData;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Wrapper class for passing into and receiving data from Ganesh about a backend semaphore object.
|
|
25
|
+
*/
|
|
26
|
+
class SK_API GrBackendSemaphore {
|
|
27
|
+
public:
|
|
28
|
+
// The GrBackendSemaphore cannot be used until either init* is called, which will set the
|
|
29
|
+
// appropriate GrBackend.
|
|
30
|
+
GrBackendSemaphore();
|
|
31
|
+
~GrBackendSemaphore();
|
|
32
|
+
GrBackendSemaphore(const GrBackendSemaphore&);
|
|
33
|
+
GrBackendSemaphore& operator=(const GrBackendSemaphore&);
|
|
34
|
+
|
|
35
|
+
#ifdef SK_DIRECT3D
|
|
36
|
+
void initDirect3D(const GrD3DFenceInfo& info) {
|
|
37
|
+
fBackend = GrBackendApi::kDirect3D;
|
|
38
|
+
this->assignD3DFenceInfo(info);
|
|
39
|
+
fIsInitialized = true;
|
|
40
|
+
}
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
bool isInitialized() const { return fIsInitialized; }
|
|
44
|
+
GrBackendApi backend() const { return fBackend; }
|
|
45
|
+
|
|
46
|
+
#ifdef SK_DIRECT3D
|
|
47
|
+
bool getD3DFenceInfo(GrD3DFenceInfo* outInfo) const;
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
private:
|
|
51
|
+
friend class GrBackendSemaphorePriv;
|
|
52
|
+
friend class GrBackendSemaphoreData;
|
|
53
|
+
// Size determined by looking at the GrBackendSemaphoreData subclasses, then
|
|
54
|
+
// guessing-and-checking. Compiler will complain if this is too small - in that case,
|
|
55
|
+
// just increase the number.
|
|
56
|
+
inline constexpr static size_t kMaxSubclassSize = 24;
|
|
57
|
+
using AnySemaphoreData = SkAnySubclass<GrBackendSemaphoreData, kMaxSubclassSize>;
|
|
58
|
+
|
|
59
|
+
template <typename SemaphoreData>
|
|
60
|
+
GrBackendSemaphore(GrBackendApi api, SemaphoreData data) : fBackend(api), fIsInitialized(true) {
|
|
61
|
+
fSemaphoreData.emplace<SemaphoreData>(data);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#ifdef SK_DIRECT3D
|
|
65
|
+
void assignD3DFenceInfo(const GrD3DFenceInfo& info);
|
|
66
|
+
#endif
|
|
67
|
+
|
|
68
|
+
GrBackendApi fBackend;
|
|
69
|
+
AnySemaphoreData fSemaphoreData;
|
|
70
|
+
|
|
71
|
+
union {
|
|
72
|
+
void* fPlaceholder; // TODO(293490566)
|
|
73
|
+
#ifdef SK_DIRECT3D
|
|
74
|
+
GrD3DFenceInfo* fD3DFenceInfo;
|
|
75
|
+
#endif
|
|
76
|
+
};
|
|
77
|
+
bool fIsInitialized;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
#endif
|