@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
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
#include "include/core/SkPath.h"
|
|
15
15
|
#include "include/core/SkPathTypes.h"
|
|
16
16
|
#include "include/core/SkRefCnt.h"
|
|
17
|
-
#include "include/core/SkTextureCompressionType.h"
|
|
18
|
-
#include "include/gpu/GrTypes.h"
|
|
19
17
|
#include "include/private/base/SkAssert.h"
|
|
18
|
+
#include "include/private/base/SkDebug.h"
|
|
20
19
|
#include "include/private/base/SkMacros.h"
|
|
21
20
|
#include "include/private/base/SkTypeTraits.h"
|
|
22
21
|
|
|
@@ -254,7 +253,7 @@ enum class GrQuadAAFlags {
|
|
|
254
253
|
kAll = 0b1111,
|
|
255
254
|
};
|
|
256
255
|
|
|
257
|
-
|
|
256
|
+
SK_MAKE_BITFIELD_CLASS_OPS(GrQuadAAFlags)
|
|
258
257
|
|
|
259
258
|
static inline GrQuadAAFlags SkToGrQuadAAFlags(unsigned flags) {
|
|
260
259
|
return static_cast<GrQuadAAFlags>(flags);
|
|
@@ -462,9 +461,9 @@ enum class GrInternalSurfaceFlags {
|
|
|
462
461
|
kVkRTSupportsInputAttachment = 1 << 4,
|
|
463
462
|
};
|
|
464
463
|
|
|
465
|
-
|
|
464
|
+
SK_MAKE_BITFIELD_CLASS_OPS(GrInternalSurfaceFlags)
|
|
466
465
|
|
|
467
|
-
// '
|
|
466
|
+
// 'SK_MAKE_BITFIELD_CLASS_OPS' defines the & operator on GrInternalSurfaceFlags to return bool.
|
|
468
467
|
// We want to find the bitwise & with these masks, so we declare them as ints.
|
|
469
468
|
constexpr static int kGrInternalTextureFlagsMask = static_cast<int>(
|
|
470
469
|
GrInternalSurfaceFlags::kReadOnly);
|
|
@@ -526,7 +525,7 @@ enum class GrMipmapStatus {
|
|
|
526
525
|
kValid, // All levels fully allocated and have valid data in them
|
|
527
526
|
};
|
|
528
527
|
|
|
529
|
-
|
|
528
|
+
SK_MAKE_BITFIELD_CLASS_OPS(GpuPathRenderers)
|
|
530
529
|
|
|
531
530
|
/**
|
|
532
531
|
* Like SkColorType this describes a layout of pixel data in CPU memory. It specifies the channels,
|
|
@@ -550,11 +549,13 @@ enum class GrColorType {
|
|
|
550
549
|
kBGRA_8888,
|
|
551
550
|
kRGBA_1010102,
|
|
552
551
|
kBGRA_1010102,
|
|
552
|
+
kRGB_101010x,
|
|
553
553
|
kRGBA_10x6,
|
|
554
554
|
kGray_8,
|
|
555
555
|
kGrayAlpha_88,
|
|
556
556
|
kAlpha_F16,
|
|
557
557
|
kRGBA_F16,
|
|
558
|
+
kRGB_F16F16F16x,
|
|
558
559
|
kRGBA_F16_Clamped,
|
|
559
560
|
kRGBA_F32,
|
|
560
561
|
|
|
@@ -600,12 +601,14 @@ static constexpr SkColorType GrColorTypeToSkColorType(GrColorType ct) {
|
|
|
600
601
|
case GrColorType::kBGRA_8888: return kBGRA_8888_SkColorType;
|
|
601
602
|
case GrColorType::kRGBA_1010102: return kRGBA_1010102_SkColorType;
|
|
602
603
|
case GrColorType::kBGRA_1010102: return kBGRA_1010102_SkColorType;
|
|
604
|
+
case GrColorType::kRGB_101010x: return kRGB_101010x_SkColorType;
|
|
603
605
|
case GrColorType::kRGBA_10x6: return kRGBA_10x6_SkColorType;
|
|
604
606
|
case GrColorType::kGray_8: return kGray_8_SkColorType;
|
|
605
607
|
case GrColorType::kGrayAlpha_88: return kUnknown_SkColorType;
|
|
606
608
|
case GrColorType::kAlpha_F16: return kA16_float_SkColorType;
|
|
607
609
|
case GrColorType::kRGBA_F16: return kRGBA_F16_SkColorType;
|
|
608
610
|
case GrColorType::kRGBA_F16_Clamped: return kRGBA_F16Norm_SkColorType;
|
|
611
|
+
case GrColorType::kRGB_F16F16F16x: return kRGB_F16F16F16x_SkColorType;
|
|
609
612
|
case GrColorType::kRGBA_F32: return kRGBA_F32_SkColorType;
|
|
610
613
|
case GrColorType::kAlpha_8xxx: return kUnknown_SkColorType;
|
|
611
614
|
case GrColorType::kAlpha_F32xxx: return kUnknown_SkColorType;
|
|
@@ -639,11 +642,13 @@ static constexpr GrColorType SkColorTypeToGrColorType(SkColorType ct) {
|
|
|
639
642
|
case kGray_8_SkColorType: return GrColorType::kGray_8;
|
|
640
643
|
case kRGBA_F16Norm_SkColorType: return GrColorType::kRGBA_F16_Clamped;
|
|
641
644
|
case kRGBA_F16_SkColorType: return GrColorType::kRGBA_F16;
|
|
645
|
+
case kRGB_F16F16F16x_SkColorType: return GrColorType::kRGB_F16F16F16x;
|
|
642
646
|
case kRGBA_1010102_SkColorType: return GrColorType::kRGBA_1010102;
|
|
643
|
-
case kRGB_101010x_SkColorType: return GrColorType::
|
|
647
|
+
case kRGB_101010x_SkColorType: return GrColorType::kRGB_101010x;
|
|
644
648
|
case kBGRA_1010102_SkColorType: return GrColorType::kBGRA_1010102;
|
|
645
649
|
case kBGR_101010x_SkColorType: return GrColorType::kUnknown;
|
|
646
650
|
case kBGR_101010x_XR_SkColorType: return GrColorType::kUnknown;
|
|
651
|
+
case kBGRA_10101010_XR_SkColorType: return GrColorType::kUnknown;
|
|
647
652
|
case kRGBA_10x6_SkColorType: return GrColorType::kRGBA_10x6;
|
|
648
653
|
case kRGBA_F32_SkColorType: return GrColorType::kRGBA_F32;
|
|
649
654
|
case kR8G8_unorm_SkColorType: return GrColorType::kRG_88;
|
|
@@ -671,12 +676,14 @@ static constexpr uint32_t GrColorTypeChannelFlags(GrColorType ct) {
|
|
|
671
676
|
case GrColorType::kBGRA_8888: return kRGBA_SkColorChannelFlags;
|
|
672
677
|
case GrColorType::kRGBA_1010102: return kRGBA_SkColorChannelFlags;
|
|
673
678
|
case GrColorType::kBGRA_1010102: return kRGBA_SkColorChannelFlags;
|
|
679
|
+
case GrColorType::kRGB_101010x: return kRGB_SkColorChannelFlags;
|
|
674
680
|
case GrColorType::kRGBA_10x6: return kRGBA_SkColorChannelFlags;
|
|
675
681
|
case GrColorType::kGray_8: return kGray_SkColorChannelFlag;
|
|
676
682
|
case GrColorType::kGrayAlpha_88: return kGrayAlpha_SkColorChannelFlags;
|
|
677
683
|
case GrColorType::kAlpha_F16: return kAlpha_SkColorChannelFlag;
|
|
678
684
|
case GrColorType::kRGBA_F16: return kRGBA_SkColorChannelFlags;
|
|
679
685
|
case GrColorType::kRGBA_F16_Clamped: return kRGBA_SkColorChannelFlags;
|
|
686
|
+
case GrColorType::kRGB_F16F16F16x: return kRGB_SkColorChannelFlags;
|
|
680
687
|
case GrColorType::kRGBA_F32: return kRGBA_SkColorChannelFlags;
|
|
681
688
|
case GrColorType::kAlpha_8xxx: return kAlpha_SkColorChannelFlag;
|
|
682
689
|
case GrColorType::kAlpha_F32xxx: return kAlpha_SkColorChannelFlag;
|
|
@@ -816,6 +823,8 @@ static constexpr GrColorFormatDesc GrGetColorTypeDesc(GrColorType ct) {
|
|
|
816
823
|
return GrColorFormatDesc::MakeRGBA(10, 2, GrColorTypeEncoding::kUnorm);
|
|
817
824
|
case GrColorType::kBGRA_1010102:
|
|
818
825
|
return GrColorFormatDesc::MakeRGBA(10, 2, GrColorTypeEncoding::kUnorm);
|
|
826
|
+
case GrColorType::kRGB_101010x:
|
|
827
|
+
return GrColorFormatDesc::MakeRGB(10, GrColorTypeEncoding::kUnorm);
|
|
819
828
|
case GrColorType::kRGBA_10x6:
|
|
820
829
|
return GrColorFormatDesc::MakeRGBA(10, GrColorTypeEncoding::kUnorm);
|
|
821
830
|
case GrColorType::kGray_8:
|
|
@@ -826,6 +835,8 @@ static constexpr GrColorFormatDesc GrGetColorTypeDesc(GrColorType ct) {
|
|
|
826
835
|
return GrColorFormatDesc::MakeAlpha(16, GrColorTypeEncoding::kFloat);
|
|
827
836
|
case GrColorType::kRGBA_F16:
|
|
828
837
|
return GrColorFormatDesc::MakeRGBA(16, GrColorTypeEncoding::kFloat);
|
|
838
|
+
case GrColorType::kRGB_F16F16F16x:
|
|
839
|
+
return GrColorFormatDesc::MakeRGB(16, GrColorTypeEncoding::kFloat);
|
|
829
840
|
case GrColorType::kRGBA_F16_Clamped:
|
|
830
841
|
return GrColorFormatDesc::MakeRGBA(16, GrColorTypeEncoding::kFloat);
|
|
831
842
|
case GrColorType::kRGBA_F32:
|
|
@@ -906,12 +917,14 @@ static constexpr size_t GrColorTypeBytesPerPixel(GrColorType ct) {
|
|
|
906
917
|
case GrColorType::kBGRA_8888: return 4;
|
|
907
918
|
case GrColorType::kRGBA_1010102: return 4;
|
|
908
919
|
case GrColorType::kBGRA_1010102: return 4;
|
|
920
|
+
case GrColorType::kRGB_101010x: return 4;
|
|
909
921
|
case GrColorType::kRGBA_10x6: return 8;
|
|
910
922
|
case GrColorType::kGray_8: return 1;
|
|
911
923
|
case GrColorType::kGrayAlpha_88: return 2;
|
|
912
924
|
case GrColorType::kAlpha_F16: return 2;
|
|
913
925
|
case GrColorType::kRGBA_F16: return 8;
|
|
914
926
|
case GrColorType::kRGBA_F16_Clamped: return 8;
|
|
927
|
+
case GrColorType::kRGB_F16F16F16x: return 8;
|
|
915
928
|
case GrColorType::kRGBA_F32: return 16;
|
|
916
929
|
case GrColorType::kAlpha_8xxx: return 4;
|
|
917
930
|
case GrColorType::kAlpha_F32xxx: return 16;
|
|
@@ -932,98 +945,13 @@ static constexpr size_t GrColorTypeBytesPerPixel(GrColorType ct) {
|
|
|
932
945
|
SkUNREACHABLE;
|
|
933
946
|
}
|
|
934
947
|
|
|
935
|
-
// In general we try to not mix CompressionType and ColorType, but currently SkImage still requires
|
|
936
|
-
// an SkColorType even for CompressedTypes so we need some conversion.
|
|
937
|
-
static constexpr SkColorType GrCompressionTypeToSkColorType(SkTextureCompressionType compression) {
|
|
938
|
-
switch (compression) {
|
|
939
|
-
case SkTextureCompressionType::kNone: return kUnknown_SkColorType;
|
|
940
|
-
case SkTextureCompressionType::kETC2_RGB8_UNORM: return kRGB_888x_SkColorType;
|
|
941
|
-
case SkTextureCompressionType::kBC1_RGB8_UNORM: return kRGB_888x_SkColorType;
|
|
942
|
-
case SkTextureCompressionType::kBC1_RGBA8_UNORM: return kRGBA_8888_SkColorType;
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
SkUNREACHABLE;
|
|
946
|
-
}
|
|
947
|
-
|
|
948
948
|
enum class GrDstSampleFlags {
|
|
949
949
|
kNone = 0,
|
|
950
950
|
kRequiresTextureBarrier = 1 << 0,
|
|
951
951
|
kAsInputAttachment = 1 << 1,
|
|
952
952
|
};
|
|
953
|
-
|
|
953
|
+
SK_MAKE_BITFIELD_CLASS_OPS(GrDstSampleFlags)
|
|
954
954
|
|
|
955
955
|
using GrVisitProxyFunc = std::function<void(GrSurfaceProxy*, skgpu::Mipmapped)>;
|
|
956
956
|
|
|
957
|
-
#if defined(SK_DEBUG) || defined(GR_TEST_UTILS) || defined(SK_ENABLE_DUMP_GPU)
|
|
958
|
-
static constexpr const char* GrBackendApiToStr(GrBackendApi api) {
|
|
959
|
-
switch (api) {
|
|
960
|
-
case GrBackendApi::kOpenGL: return "OpenGL";
|
|
961
|
-
case GrBackendApi::kVulkan: return "Vulkan";
|
|
962
|
-
case GrBackendApi::kMetal: return "Metal";
|
|
963
|
-
case GrBackendApi::kDirect3D: return "Direct3D";
|
|
964
|
-
case GrBackendApi::kMock: return "Mock";
|
|
965
|
-
case GrBackendApi::kUnsupported: return "Unsupported";
|
|
966
|
-
}
|
|
967
|
-
SkUNREACHABLE;
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
static constexpr const char* GrColorTypeToStr(GrColorType ct) {
|
|
971
|
-
switch (ct) {
|
|
972
|
-
case GrColorType::kUnknown: return "kUnknown";
|
|
973
|
-
case GrColorType::kAlpha_8: return "kAlpha_8";
|
|
974
|
-
case GrColorType::kBGR_565: return "kBGR_565";
|
|
975
|
-
case GrColorType::kRGB_565: return "kRGB_565";
|
|
976
|
-
case GrColorType::kABGR_4444: return "kABGR_4444";
|
|
977
|
-
case GrColorType::kRGBA_8888: return "kRGBA_8888";
|
|
978
|
-
case GrColorType::kRGBA_8888_SRGB: return "kRGBA_8888_SRGB";
|
|
979
|
-
case GrColorType::kRGB_888x: return "kRGB_888x";
|
|
980
|
-
case GrColorType::kRG_88: return "kRG_88";
|
|
981
|
-
case GrColorType::kBGRA_8888: return "kBGRA_8888";
|
|
982
|
-
case GrColorType::kRGBA_1010102: return "kRGBA_1010102";
|
|
983
|
-
case GrColorType::kBGRA_1010102: return "kBGRA_1010102";
|
|
984
|
-
case GrColorType::kRGBA_10x6: return "kBGRA_10x6";
|
|
985
|
-
case GrColorType::kGray_8: return "kGray_8";
|
|
986
|
-
case GrColorType::kGrayAlpha_88: return "kGrayAlpha_88";
|
|
987
|
-
case GrColorType::kAlpha_F16: return "kAlpha_F16";
|
|
988
|
-
case GrColorType::kRGBA_F16: return "kRGBA_F16";
|
|
989
|
-
case GrColorType::kRGBA_F16_Clamped: return "kRGBA_F16_Clamped";
|
|
990
|
-
case GrColorType::kRGBA_F32: return "kRGBA_F32";
|
|
991
|
-
case GrColorType::kAlpha_8xxx: return "kAlpha_8xxx";
|
|
992
|
-
case GrColorType::kAlpha_F32xxx: return "kAlpha_F32xxx";
|
|
993
|
-
case GrColorType::kGray_8xxx: return "kGray_8xxx";
|
|
994
|
-
case GrColorType::kR_8xxx: return "kR_8xxx";
|
|
995
|
-
case GrColorType::kAlpha_16: return "kAlpha_16";
|
|
996
|
-
case GrColorType::kRG_1616: return "kRG_1616";
|
|
997
|
-
case GrColorType::kRGBA_16161616: return "kRGBA_16161616";
|
|
998
|
-
case GrColorType::kRG_F16: return "kRG_F16";
|
|
999
|
-
case GrColorType::kRGB_888: return "kRGB_888";
|
|
1000
|
-
case GrColorType::kR_8: return "kR_8";
|
|
1001
|
-
case GrColorType::kR_16: return "kR_16";
|
|
1002
|
-
case GrColorType::kR_F16: return "kR_F16";
|
|
1003
|
-
case GrColorType::kGray_F16: return "kGray_F16";
|
|
1004
|
-
case GrColorType::kARGB_4444: return "kARGB_4444";
|
|
1005
|
-
case GrColorType::kBGRA_4444: return "kBGRA_4444";
|
|
1006
|
-
}
|
|
1007
|
-
SkUNREACHABLE;
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
static constexpr const char* GrCompressionTypeToStr(SkTextureCompressionType compression) {
|
|
1011
|
-
switch (compression) {
|
|
1012
|
-
case SkTextureCompressionType::kNone: return "kNone";
|
|
1013
|
-
case SkTextureCompressionType::kETC2_RGB8_UNORM: return "kETC2_RGB8_UNORM";
|
|
1014
|
-
case SkTextureCompressionType::kBC1_RGB8_UNORM: return "kBC1_RGB8_UNORM";
|
|
1015
|
-
case SkTextureCompressionType::kBC1_RGBA8_UNORM: return "kBC1_RGBA8_UNORM";
|
|
1016
|
-
}
|
|
1017
|
-
SkUNREACHABLE;
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
static constexpr const char* GrSurfaceOriginToStr(GrSurfaceOrigin origin) {
|
|
1021
|
-
switch (origin) {
|
|
1022
|
-
case kTopLeft_GrSurfaceOrigin: return "kTopLeft";
|
|
1023
|
-
case kBottomLeft_GrSurfaceOrigin: return "kBottomLeft";
|
|
1024
|
-
}
|
|
1025
|
-
SkUNREACHABLE;
|
|
1026
|
-
}
|
|
1027
|
-
#endif
|
|
1028
|
-
|
|
1029
957
|
#endif
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
// IWYU pragma: begin_exports
|
|
14
14
|
|
|
15
|
-
#if
|
|
15
|
+
#if defined(SK_USE_INTERNAL_VULKAN_HEADERS) && !defined(SK_BUILD_FOR_GOOGLE3)
|
|
16
16
|
#include "include/third_party/vulkan/vulkan/vulkan_core.h"
|
|
17
17
|
#else
|
|
18
18
|
// For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make sure that the vulkan
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
#ifdef SK_BUILD_FOR_ANDROID
|
|
24
24
|
// This is needed to get android extensions for external memory
|
|
25
|
-
#if
|
|
25
|
+
#if defined(SK_USE_INTERNAL_VULKAN_HEADERS) && !defined(SK_BUILD_FOR_GOOGLE3)
|
|
26
26
|
#include "include/third_party/vulkan/vulkan/vulkan_android.h"
|
|
27
27
|
#else
|
|
28
28
|
// For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make sure that the vulkan
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
#include "include/core/SkDrawable.h"
|
|
12
12
|
#include "include/core/SkFontMetrics.h"
|
|
13
13
|
#include "include/core/SkFontStyle.h"
|
|
14
|
+
#include "include/core/SkFourByteTag.h"
|
|
14
15
|
#include "include/core/SkPath.h"
|
|
15
16
|
#include "include/core/SkRect.h"
|
|
16
17
|
#include "include/core/SkRefCnt.h"
|
|
@@ -73,7 +73,7 @@ protected:
|
|
|
73
73
|
void onDrawGlyphRunList(const sktext::GlyphRunList&, const SkPaint&) override;
|
|
74
74
|
void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
|
|
75
75
|
const SkPaint& paint) override;
|
|
76
|
-
void onDrawSlug(const sktext::gpu::Slug* slug) override;
|
|
76
|
+
void onDrawSlug(const sktext::gpu::Slug* slug, const SkPaint& paint) override;
|
|
77
77
|
void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
|
|
78
78
|
const SkPoint texCoords[4], SkBlendMode, const SkPaint& paint) override;
|
|
79
79
|
|
|
@@ -23,7 +23,6 @@ public:
|
|
|
23
23
|
static int Count(const char str[], char separator);
|
|
24
24
|
static const char* FindColor(const char str[], SkColor* value);
|
|
25
25
|
static const char* FindHex(const char str[], uint32_t* value);
|
|
26
|
-
static const char* FindMSec(const char str[], SkMSec* value);
|
|
27
26
|
static const char* FindNamedColor(const char str[], size_t len, SkColor* color);
|
|
28
27
|
static const char* FindS32(const char str[], int32_t* value);
|
|
29
28
|
static const char* FindScalar(const char str[], SkScalar* value);
|
|
@@ -22,15 +22,11 @@ using U8 = V<uint8_t>;
|
|
|
22
22
|
// GCC is kind of weird, not allowing vector = scalar directly.
|
|
23
23
|
static constexpr F F0 = F() + 0.0f,
|
|
24
24
|
F1 = F() + 1.0f,
|
|
25
|
-
FHalf = F() + 0.5f,
|
|
26
25
|
FInfBits = F() + 0x7f800000; // equals 2139095040, the bit pattern of +Inf
|
|
27
|
-
static constexpr I32 F16InfBits = I32() + 0x4780'0000;
|
|
28
26
|
#else
|
|
29
27
|
static constexpr F F0 = 0.0f,
|
|
30
28
|
F1 = 1.0f,
|
|
31
|
-
FHalf = 0.5f,
|
|
32
29
|
FInfBits = 0x7f800000; // equals 2139095040, the bit pattern of +Inf
|
|
33
|
-
static constexpr I32 F16InfBits = 0x4780'0000; // equals +Inf in half float, shifted to 32-bits
|
|
34
30
|
#endif
|
|
35
31
|
|
|
36
32
|
// Instead of checking __AVX__ below, we'll check USING_AVX.
|
|
@@ -41,7 +37,7 @@ using U8 = V<uint8_t>;
|
|
|
41
37
|
#define USING_AVX
|
|
42
38
|
#endif
|
|
43
39
|
#if !defined(USING_AVX_F16C) && defined(USING_AVX) && defined(__F16C__)
|
|
44
|
-
#define
|
|
40
|
+
#define USING_AVX_F16C
|
|
45
41
|
#endif
|
|
46
42
|
#if !defined(USING_AVX2) && defined(USING_AVX) && defined(__AVX2__)
|
|
47
43
|
#define USING_AVX2
|
|
@@ -153,22 +149,7 @@ SI U32 to_fixed(F f) { return (U32)cast<I32>(f + 0.5f); }
|
|
|
153
149
|
}
|
|
154
150
|
#endif
|
|
155
151
|
|
|
156
|
-
#if defined(USING_NEON)
|
|
157
|
-
SI F min_(F x, F y) { return (F)vminq_f32((float32x4_t)x, (float32x4_t)y); }
|
|
158
|
-
SI F max_(F x, F y) { return (F)vmaxq_f32((float32x4_t)x, (float32x4_t)y); }
|
|
159
|
-
|
|
160
|
-
SI I32 min_(I32 x, I32 y) { return (I32)vminq_s32((int32x4_t)x, (int32x4_t)y); }
|
|
161
|
-
SI I32 max_(I32 x, I32 y) { return (I32)vmaxq_s32((int32x4_t)x, (int32x4_t)y); }
|
|
162
|
-
#else
|
|
163
|
-
SI F min_(F x, F y) { return if_then_else(x > y, y, x); }
|
|
164
|
-
SI F max_(F x, F y) { return if_then_else(x < y, y, x); }
|
|
165
|
-
|
|
166
|
-
SI I32 min_(I32 x, I32 y) { return if_then_else(x > y, y, x); }
|
|
167
|
-
SI I32 max_(I32 x, I32 y) { return if_then_else(x < y, y, x); }
|
|
168
|
-
#endif
|
|
169
152
|
|
|
170
|
-
// KEEP IN SYNC with skvx::from_half to ensure that f16 colors are computed consistently in both
|
|
171
|
-
// skcms and skvx.
|
|
172
153
|
SI F F_from_Half(U16 half) {
|
|
173
154
|
#if defined(USING_NEON_F16C)
|
|
174
155
|
return vcvt_f32_f16((float16x4_t)half);
|
|
@@ -178,27 +159,24 @@ SI F F_from_Half(U16 half) {
|
|
|
178
159
|
typedef int16_t __attribute__((vector_size(16))) I16;
|
|
179
160
|
return __builtin_ia32_vcvtph2ps256((I16)half);
|
|
180
161
|
#else
|
|
181
|
-
|
|
162
|
+
U32 wide = cast<U32>(half);
|
|
182
163
|
// A half is 1-5-10 sign-exponent-mantissa, with 15 exponent bias.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
norm = ((em<<13) + ((127-15)<<23)), // Shifts mantissa, shifts + re-biases exponent
|
|
192
|
-
finite = if_then_else(is_norm, norm, sub);
|
|
193
|
-
// If 'x' is f16 +/- infinity, inf_or_nan will be the filled 8-bit exponent but 'norm' will be
|
|
194
|
-
// all 0s since 'x's mantissa is 0. Thus norm | inf_or_nan becomes f32 infinity. However, if
|
|
195
|
-
// 'x' is an f16 NaN, some bits of 'norm' will be non-zero, so it stays an f32 NaN after the OR.
|
|
196
|
-
return bit_pun<F>((s<<16) | finite | inf_or_nan);
|
|
164
|
+
U32 s = wide & 0x8000,
|
|
165
|
+
em = wide ^ s;
|
|
166
|
+
|
|
167
|
+
// Constructing the float is easy if the half is not denormalized.
|
|
168
|
+
F norm = bit_pun<F>( (s<<16) + (em<<13) + ((127-15)<<23) );
|
|
169
|
+
|
|
170
|
+
// Simply flush all denorm half floats to zero.
|
|
171
|
+
return if_then_else(em < 0x0400, F0, norm);
|
|
197
172
|
#endif
|
|
198
173
|
}
|
|
199
174
|
|
|
200
|
-
|
|
201
|
-
//
|
|
175
|
+
#if defined(__clang__)
|
|
176
|
+
// The -((127-15)<<10) underflows that side of the math when
|
|
177
|
+
// we pass a denorm half float. It's harmless... we'll take the 0 side anyway.
|
|
178
|
+
__attribute__((no_sanitize("unsigned-integer-overflow")))
|
|
179
|
+
#endif
|
|
202
180
|
SI U16 Half_from_F(F f) {
|
|
203
181
|
#if defined(USING_NEON_F16C)
|
|
204
182
|
return (U16)vcvt_f16_f32(f);
|
|
@@ -208,23 +186,13 @@ SI U16 Half_from_F(F f) {
|
|
|
208
186
|
return (U16)__builtin_ia32_vcvtps2ph256(f, 0x04/*_MM_FROUND_CUR_DIRECTION*/);
|
|
209
187
|
#else
|
|
210
188
|
// A float is 1-8-23 sign-exponent-mantissa, with 127 exponent bias.
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
// mantissa bits 13 to the right. We clamp to 1/2 for subnormal values, which
|
|
219
|
-
// automatically shifts the mantissa to match 2^-14 expected for a subnorm f16.
|
|
220
|
-
magic = bit_pun<I32>(max_(bit_pun<F>(em) * 8192.f, FHalf)) & (255 << 23),
|
|
221
|
-
// Shift mantissa with automatic round-to-even
|
|
222
|
-
rounded = bit_pun<I32>((bit_pun<F>(em) + bit_pun<F>(magic))),
|
|
223
|
-
// Subtract 127 for f32 bias, subtract 13 to undo the *8192, subtract 1 to remove
|
|
224
|
-
// the implicit leading 1., and add 15 to get the f16 biased exponent.
|
|
225
|
-
exp = ((magic >> 13) - ((127-15+13+1)<<10)), // shift and re-bias exponent
|
|
226
|
-
f16 = rounded + exp; // use + if 'rounded' rolled over into first exponent bit
|
|
227
|
-
return cast<U16>((s>>16) | f16);
|
|
189
|
+
U32 sem = bit_pun<U32>(f),
|
|
190
|
+
s = sem & 0x80000000,
|
|
191
|
+
em = sem ^ s;
|
|
192
|
+
|
|
193
|
+
// For simplicity we flush denorm half floats (including all denorm floats) to zero.
|
|
194
|
+
return cast<U16>(if_then_else(em < 0x38800000, (U32)F0
|
|
195
|
+
, (s>>16) + (em>>13) - ((127-15)<<10)));
|
|
228
196
|
#endif
|
|
229
197
|
}
|
|
230
198
|
|
|
@@ -240,6 +208,17 @@ SI U64 swap_endian_16x4(const U64& rgba) {
|
|
|
240
208
|
| (rgba & 0xff00ff00ff00ff00) >> 8;
|
|
241
209
|
}
|
|
242
210
|
|
|
211
|
+
#if defined(USING_NEON)
|
|
212
|
+
SI F min_(F x, F y) { return (F)vminq_f32((float32x4_t)x, (float32x4_t)y); }
|
|
213
|
+
SI F max_(F x, F y) { return (F)vmaxq_f32((float32x4_t)x, (float32x4_t)y); }
|
|
214
|
+
#elif defined(__loongarch_sx)
|
|
215
|
+
SI F min_(F x, F y) { return (F)__lsx_vfmin_s(x, y); }
|
|
216
|
+
SI F max_(F x, F y) { return (F)__lsx_vfmax_s(x, y); }
|
|
217
|
+
#else
|
|
218
|
+
SI F min_(F x, F y) { return if_then_else(x > y, y, x); }
|
|
219
|
+
SI F max_(F x, F y) { return if_then_else(x < y, y, x); }
|
|
220
|
+
#endif
|
|
221
|
+
|
|
243
222
|
SI F floor_(F x) {
|
|
244
223
|
#if N == 1
|
|
245
224
|
return floorf_(x);
|
|
@@ -255,6 +234,8 @@ SI F floor_(F x) {
|
|
|
255
234
|
return __builtin_ia32_roundps256(x, 0x01/*_MM_FROUND_FLOOR*/);
|
|
256
235
|
#elif defined(__SSE4_1__)
|
|
257
236
|
return _mm_floor_ps(x);
|
|
237
|
+
#elif defined(__loongarch_sx)
|
|
238
|
+
return __lsx_vfrintrm_s((__m128)x);
|
|
258
239
|
#else
|
|
259
240
|
// Round trip through integers with a truncating cast.
|
|
260
241
|
F roundtrip = cast<F>(cast<I32>(x));
|
|
@@ -668,7 +649,7 @@ SI void sample_clut_8(const uint8_t* grid_8, I32 ix, F* r, F* g, F* b, F* a) {
|
|
|
668
649
|
}
|
|
669
650
|
|
|
670
651
|
SI void sample_clut_16(const uint8_t* grid_16, I32 ix, F* r, F* g, F* b) {
|
|
671
|
-
#if defined(__arm__)
|
|
652
|
+
#if defined(__arm__) || defined(__loongarch_sx)
|
|
672
653
|
// This is up to 2x faster on 32-bit ARM than the #else-case fast path.
|
|
673
654
|
*r = F_from_U16_BE(gather_16(grid_16, 3*ix+0));
|
|
674
655
|
*g = F_from_U16_BE(gather_16(grid_16, 3*ix+1));
|
|
@@ -856,6 +837,12 @@ STAGE(load_g8, NoCtx) {
|
|
|
856
837
|
r = g = b = F_from_U8(load<U8>(src + 1*i));
|
|
857
838
|
}
|
|
858
839
|
|
|
840
|
+
STAGE(load_ga88, NoCtx) {
|
|
841
|
+
U16 u16 = load<U16>(src + 2 * i);
|
|
842
|
+
r = g = b = cast<F>((u16 >> 0) & 0xff) * (1 / 255.0f);
|
|
843
|
+
a = cast<F>((u16 >> 8) & 0xff) * (1 / 255.0f);
|
|
844
|
+
}
|
|
845
|
+
|
|
859
846
|
STAGE(load_4444, NoCtx) {
|
|
860
847
|
U16 abgr = load<U16>(src + 2*i);
|
|
861
848
|
|
|
@@ -926,6 +913,17 @@ STAGE(load_101010x_XR, NoCtx) {
|
|
|
926
913
|
b = cast<F>((rgba >> 20) & 0x3ff) * (1/1023.0f) * range + min;
|
|
927
914
|
}
|
|
928
915
|
|
|
916
|
+
STAGE(load_10101010_XR, NoCtx) {
|
|
917
|
+
static constexpr float min = -0.752941f;
|
|
918
|
+
static constexpr float max = 1.25098f;
|
|
919
|
+
static constexpr float range = max - min;
|
|
920
|
+
U64 rgba = load<U64>(src + 8 * i);
|
|
921
|
+
r = cast<F>((rgba >> (0+6)) & 0x3ff) * (1/1023.0f) * range + min;
|
|
922
|
+
g = cast<F>((rgba >> (16+6)) & 0x3ff) * (1/1023.0f) * range + min;
|
|
923
|
+
b = cast<F>((rgba >> (32+6)) & 0x3ff) * (1/1023.0f) * range + min;
|
|
924
|
+
a = cast<F>((rgba >> (48+6)) & 0x3ff) * (1/1023.0f) * range + min;
|
|
925
|
+
}
|
|
926
|
+
|
|
929
927
|
STAGE(load_161616LE, NoCtx) {
|
|
930
928
|
uintptr_t ptr = (uintptr_t)(src + 6*i);
|
|
931
929
|
assert( (ptr & 1) == 0 ); // src must be 2-byte aligned for this
|
|
@@ -1263,6 +1261,12 @@ FINAL_STAGE(store_g8, NoCtx) {
|
|
|
1263
1261
|
store(dst + 1*i, cast<U8>(to_fixed(g * 255)));
|
|
1264
1262
|
}
|
|
1265
1263
|
|
|
1264
|
+
FINAL_STAGE(store_ga88, NoCtx) {
|
|
1265
|
+
// g should be holding luminance (Y) (r,g,b ~~~> X,Y,Z)
|
|
1266
|
+
store<U16>(dst + 2*i, cast<U16>(to_fixed(g * 255) << 0 )
|
|
1267
|
+
| cast<U16>(to_fixed(a * 255) << 8 ));
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1266
1270
|
FINAL_STAGE(store_4444, NoCtx) {
|
|
1267
1271
|
store<U16>(dst + 2*i, cast<U16>(to_fixed(r * 15) << 12)
|
|
1268
1272
|
| cast<U16>(to_fixed(g * 15) << 8)
|
|
@@ -1312,7 +1316,6 @@ FINAL_STAGE(store_101010x_XR, NoCtx) {
|
|
|
1312
1316
|
store(dst + 4*i, cast<U32>(to_fixed(((r - min) / range) * 1023)) << 0
|
|
1313
1317
|
| cast<U32>(to_fixed(((g - min) / range) * 1023)) << 10
|
|
1314
1318
|
| cast<U32>(to_fixed(((b - min) / range) * 1023)) << 20);
|
|
1315
|
-
return;
|
|
1316
1319
|
}
|
|
1317
1320
|
|
|
1318
1321
|
FINAL_STAGE(store_1010102, NoCtx) {
|
|
@@ -20,12 +20,14 @@ namespace skcms_private {
|
|
|
20
20
|
#define SKCMS_WORK_OPS(M) \
|
|
21
21
|
M(load_a8) \
|
|
22
22
|
M(load_g8) \
|
|
23
|
+
M(load_ga88) \
|
|
23
24
|
M(load_4444) \
|
|
24
25
|
M(load_565) \
|
|
25
26
|
M(load_888) \
|
|
26
27
|
M(load_8888) \
|
|
27
28
|
M(load_1010102) \
|
|
28
29
|
M(load_101010x_XR) \
|
|
30
|
+
M(load_10101010_XR) \
|
|
29
31
|
M(load_161616LE) \
|
|
30
32
|
M(load_16161616LE) \
|
|
31
33
|
M(load_161616BE) \
|
|
@@ -88,6 +90,7 @@ namespace skcms_private {
|
|
|
88
90
|
#define SKCMS_STORE_OPS(M) \
|
|
89
91
|
M(store_a8) \
|
|
90
92
|
M(store_g8) \
|
|
93
|
+
M(store_ga88) \
|
|
91
94
|
M(store_4444) \
|
|
92
95
|
M(store_565) \
|
|
93
96
|
M(store_888) \
|
|
@@ -39,6 +39,7 @@ extern "C" {
|
|
|
39
39
|
// - Clang 18 runs into an ICE on armv7/androideabi with [[clang::musttail]].
|
|
40
40
|
// (http://crbug.com/1504548)
|
|
41
41
|
// - Android RISC-V also runs into an ICE (b/314692534)
|
|
42
|
+
// - LoongArch developers indicate they had to turn it off
|
|
42
43
|
// - Windows builds generate incorrect code with [[clang::musttail]] and crash mysteriously.
|
|
43
44
|
// (http://crbug.com/1505442)
|
|
44
45
|
#if __has_cpp_attribute(clang::musttail) && !__has_feature(memory_sanitizer) \
|
|
@@ -46,6 +47,7 @@ extern "C" {
|
|
|
46
47
|
&& !defined(__EMSCRIPTEN__) \
|
|
47
48
|
&& !defined(__arm__) \
|
|
48
49
|
&& !defined(__riscv) \
|
|
50
|
+
&& !defined(__loongarch__) \
|
|
49
51
|
&& !defined(_WIN32) && !defined(__SYMBIAN32__)
|
|
50
52
|
#define SKCMS_HAS_MUSTTAIL 1
|
|
51
53
|
#endif
|
|
@@ -258,16 +258,44 @@ SKCMS_API bool skcms_ApproximateCurve(const skcms_Curve* curve,
|
|
|
258
258
|
SKCMS_API bool skcms_GetCHAD(const skcms_ICCProfile*, skcms_Matrix3x3*);
|
|
259
259
|
SKCMS_API bool skcms_GetWTPT(const skcms_ICCProfile*, float xyz[3]);
|
|
260
260
|
|
|
261
|
+
// Returns the number of channels of input data that are expected on the "A" side of the profile.
|
|
262
|
+
// This is useful for image codecs, where the image data and the accompanying profile might have
|
|
263
|
+
// conflicting data shapes. In some cases, the result is unclear or invalid. In that case, the
|
|
264
|
+
// function will return a negative value to signal an error.
|
|
265
|
+
SKCMS_API int skcms_GetInputChannelCount(const skcms_ICCProfile*);
|
|
266
|
+
|
|
261
267
|
// These are common ICC signature values
|
|
262
268
|
enum {
|
|
263
|
-
// data_color_space
|
|
269
|
+
// common data_color_space values
|
|
264
270
|
skcms_Signature_CMYK = 0x434D594B,
|
|
265
271
|
skcms_Signature_Gray = 0x47524159,
|
|
266
272
|
skcms_Signature_RGB = 0x52474220,
|
|
267
273
|
|
|
268
|
-
// pcs
|
|
274
|
+
// pcs (or data_color_space)
|
|
269
275
|
skcms_Signature_Lab = 0x4C616220,
|
|
270
276
|
skcms_Signature_XYZ = 0x58595A20,
|
|
277
|
+
|
|
278
|
+
// other, less common data_color_space values
|
|
279
|
+
skcms_Signature_CIELUV = 0x4C757620,
|
|
280
|
+
skcms_Signature_YCbCr = 0x59436272,
|
|
281
|
+
skcms_Signature_CIEYxy = 0x59787920,
|
|
282
|
+
skcms_Signature_HSV = 0x48535620,
|
|
283
|
+
skcms_Signature_HLS = 0x484C5320,
|
|
284
|
+
skcms_Signature_CMY = 0x434D5920,
|
|
285
|
+
skcms_Signature_2CLR = 0x32434C52,
|
|
286
|
+
skcms_Signature_3CLR = 0x33434C52,
|
|
287
|
+
skcms_Signature_4CLR = 0x34434C52,
|
|
288
|
+
skcms_Signature_5CLR = 0x35434C52,
|
|
289
|
+
skcms_Signature_6CLR = 0x36434C52,
|
|
290
|
+
skcms_Signature_7CLR = 0x37434C52,
|
|
291
|
+
skcms_Signature_8CLR = 0x38434C52,
|
|
292
|
+
skcms_Signature_9CLR = 0x39434C52,
|
|
293
|
+
skcms_Signature_10CLR = 0x41434C52,
|
|
294
|
+
skcms_Signature_11CLR = 0x42434C52,
|
|
295
|
+
skcms_Signature_12CLR = 0x43434C52,
|
|
296
|
+
skcms_Signature_13CLR = 0x44434C52,
|
|
297
|
+
skcms_Signature_14CLR = 0x45434C52,
|
|
298
|
+
skcms_Signature_15CLR = 0x46434C52,
|
|
271
299
|
};
|
|
272
300
|
|
|
273
301
|
typedef enum skcms_PixelFormat {
|
|
@@ -275,6 +303,8 @@ typedef enum skcms_PixelFormat {
|
|
|
275
303
|
skcms_PixelFormat_A_8_,
|
|
276
304
|
skcms_PixelFormat_G_8,
|
|
277
305
|
skcms_PixelFormat_G_8_,
|
|
306
|
+
skcms_PixelFormat_GA_88, // Grayscale with alpha.
|
|
307
|
+
skcms_PixelFormat_GA_88_,
|
|
278
308
|
|
|
279
309
|
skcms_PixelFormat_RGB_565,
|
|
280
310
|
skcms_PixelFormat_BGR_565,
|
|
@@ -286,39 +316,41 @@ typedef enum skcms_PixelFormat {
|
|
|
286
316
|
skcms_PixelFormat_BGR_888,
|
|
287
317
|
skcms_PixelFormat_RGBA_8888,
|
|
288
318
|
skcms_PixelFormat_BGRA_8888,
|
|
289
|
-
skcms_PixelFormat_RGBA_8888_sRGB,
|
|
290
|
-
skcms_PixelFormat_BGRA_8888_sRGB,
|
|
319
|
+
skcms_PixelFormat_RGBA_8888_sRGB, // Automatic sRGB encoding / decoding.
|
|
320
|
+
skcms_PixelFormat_BGRA_8888_sRGB, // (Generally used with linear transfer functions.)
|
|
291
321
|
|
|
292
322
|
skcms_PixelFormat_RGBA_1010102,
|
|
293
323
|
skcms_PixelFormat_BGRA_1010102,
|
|
294
324
|
|
|
295
|
-
skcms_PixelFormat_RGB_161616LE,
|
|
325
|
+
skcms_PixelFormat_RGB_161616LE, // Little-endian. Pointers must be 16-bit aligned.
|
|
296
326
|
skcms_PixelFormat_BGR_161616LE,
|
|
297
327
|
skcms_PixelFormat_RGBA_16161616LE,
|
|
298
328
|
skcms_PixelFormat_BGRA_16161616LE,
|
|
299
329
|
|
|
300
|
-
skcms_PixelFormat_RGB_161616BE,
|
|
330
|
+
skcms_PixelFormat_RGB_161616BE, // Big-endian. Pointers must be 16-bit aligned.
|
|
301
331
|
skcms_PixelFormat_BGR_161616BE,
|
|
302
332
|
skcms_PixelFormat_RGBA_16161616BE,
|
|
303
333
|
skcms_PixelFormat_BGRA_16161616BE,
|
|
304
334
|
|
|
305
|
-
skcms_PixelFormat_RGB_hhh_Norm,
|
|
306
|
-
skcms_PixelFormat_BGR_hhh_Norm,
|
|
335
|
+
skcms_PixelFormat_RGB_hhh_Norm, // 1-5-10 half-precision float in [0,1]
|
|
336
|
+
skcms_PixelFormat_BGR_hhh_Norm, // Pointers must be 16-bit aligned.
|
|
307
337
|
skcms_PixelFormat_RGBA_hhhh_Norm,
|
|
308
338
|
skcms_PixelFormat_BGRA_hhhh_Norm,
|
|
309
339
|
|
|
310
|
-
skcms_PixelFormat_RGB_hhh,
|
|
311
|
-
skcms_PixelFormat_BGR_hhh,
|
|
340
|
+
skcms_PixelFormat_RGB_hhh, // 1-5-10 half-precision float.
|
|
341
|
+
skcms_PixelFormat_BGR_hhh, // Pointers must be 16-bit aligned.
|
|
312
342
|
skcms_PixelFormat_RGBA_hhhh,
|
|
313
343
|
skcms_PixelFormat_BGRA_hhhh,
|
|
314
344
|
|
|
315
|
-
skcms_PixelFormat_RGB_fff,
|
|
316
|
-
skcms_PixelFormat_BGR_fff,
|
|
345
|
+
skcms_PixelFormat_RGB_fff, // 1-8-23 single-precision float (the normal kind).
|
|
346
|
+
skcms_PixelFormat_BGR_fff, // Pointers must be 32-bit aligned.
|
|
317
347
|
skcms_PixelFormat_RGBA_ffff,
|
|
318
348
|
skcms_PixelFormat_BGRA_ffff,
|
|
319
349
|
|
|
320
|
-
skcms_PixelFormat_RGB_101010x_XR,
|
|
321
|
-
skcms_PixelFormat_BGR_101010x_XR,
|
|
350
|
+
skcms_PixelFormat_RGB_101010x_XR, // Note: This is located here to signal no clamping.
|
|
351
|
+
skcms_PixelFormat_BGR_101010x_XR, // Compatible with MTLPixelFormatBGR10_XR.
|
|
352
|
+
skcms_PixelFormat_RGBA_10101010_XR, // Note: This is located here to signal no clamping.
|
|
353
|
+
skcms_PixelFormat_BGRA_10101010_XR, // Compatible with MTLPixelFormatBGRA10_XR.
|
|
322
354
|
} skcms_PixelFormat;
|
|
323
355
|
|
|
324
356
|
// We always store any alpha channel linearly. In the chart below, tf-1() is the inverse
|