@shopify/react-native-skia 2.6.4 → 2.6.6
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 +8 -4
- package/android/build.gradle +22 -3
- package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +62 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerDelegate.java +35 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerInterface.java +17 -0
- package/apple/RNSkApplePlatformContext.h +2 -0
- package/apple/RNSkApplePlatformContext.mm +71 -0
- package/apple/RNWebGPUAppleNativeBuffer.mm +33 -0
- package/cpp/api/JsiNativeBuffer.h +9 -1
- package/cpp/api/JsiSkAnimatedImageFactory.h +1 -1
- package/cpp/api/JsiSkApi.h +2 -2
- package/cpp/api/JsiSkCanvas.h +34 -1
- package/cpp/api/JsiSkDataFactory.h +1 -1
- package/cpp/api/JsiSkFont.h +1 -1
- package/cpp/api/JsiSkFontMgr.h +1 -1
- package/cpp/api/JsiSkHostObjects.h +3 -3
- package/cpp/api/JsiSkImage.h +14 -6
- package/cpp/api/JsiSkImageFactory.h +2 -2
- package/cpp/api/JsiSkPath.h +1 -1
- package/cpp/api/JsiSkPathFactory.h +1 -1
- package/cpp/api/JsiSkSurface.h +18 -6
- package/cpp/api/JsiSkTypeface.h +1 -1
- package/cpp/api/JsiSkTypefaceFontProvider.h +1 -1
- package/cpp/api/JsiSkiaContext.h +2 -2
- package/cpp/api/JsiTextureInfo.h +1 -1
- package/cpp/api/JsiVideo.h +2 -2
- package/cpp/api/recorder/Drawings.h +1 -1
- package/cpp/api/recorder/JsiRecorder.h +4 -4
- package/cpp/api/recorder/RNRecorder.h +1 -1
- package/cpp/jsi/ViewProperty.h +1 -1
- package/cpp/rnskia/RNDawnContext.h +13 -0
- package/cpp/rnskia/RNDawnUtils.h +11 -1
- package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
- package/cpp/rnskia/RNSkManager.cpp +88 -2
- package/cpp/rnskia/RNSkPictureView.h +4 -4
- package/cpp/rnskia/RNSkPlatformContext.h +7 -0
- package/cpp/rnskia/RNSkView.h +9 -6
- package/cpp/rnwgpu/ArrayBuffer.h +51 -7
- package/cpp/rnwgpu/api/AppleNativeBuffer.h +22 -0
- package/cpp/rnwgpu/api/Convertors.h +33 -11
- package/cpp/rnwgpu/api/GPU.cpp +0 -3
- package/cpp/rnwgpu/api/GPUAdapter.cpp +37 -7
- package/cpp/rnwgpu/api/GPUBuffer.h +1 -1
- package/cpp/rnwgpu/api/GPUDevice.cpp +84 -6
- package/cpp/rnwgpu/api/GPUDevice.h +12 -0
- package/cpp/rnwgpu/api/GPUExternalTexture.cpp +139 -0
- package/cpp/rnwgpu/api/GPUExternalTexture.h +52 -2
- package/cpp/rnwgpu/api/GPUQueue.cpp +50 -45
- package/cpp/rnwgpu/api/GPUShaderModule.cpp +1 -1
- package/cpp/rnwgpu/api/GPUSharedFence.cpp +80 -0
- package/cpp/rnwgpu/api/GPUSharedFence.h +53 -0
- package/cpp/rnwgpu/api/GPUSharedTextureMemory.cpp +135 -0
- package/cpp/rnwgpu/api/GPUSharedTextureMemory.h +75 -0
- package/cpp/rnwgpu/api/ImageBitmap.h +62 -0
- package/cpp/rnwgpu/api/NativeBufferUtils.h +87 -0
- package/cpp/rnwgpu/api/descriptors/GPUBindGroupEntry.h +4 -1
- package/cpp/rnwgpu/api/descriptors/GPUCanvasConfiguration.h +1 -1
- package/cpp/rnwgpu/api/descriptors/GPUDawnTogglesDescriptor.h +56 -0
- package/cpp/rnwgpu/api/descriptors/GPUDeviceDescriptor.h +10 -0
- package/cpp/rnwgpu/api/descriptors/GPUExternalTextureDescriptor.h +43 -24
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyExternalImage.h +9 -9
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTexture.h +1 -1
- package/cpp/rnwgpu/api/descriptors/GPUImageCopyTextureTagged.h +2 -2
- package/cpp/rnwgpu/api/descriptors/GPUSharedFenceDescriptor.h +58 -0
- package/cpp/rnwgpu/api/descriptors/GPUSharedFenceState.h +51 -0
- package/cpp/rnwgpu/api/descriptors/GPUSharedTextureMemoryDescriptor.h +73 -0
- package/cpp/rnwgpu/api/descriptors/GPUTextureDescriptor.h +1 -1
- package/cpp/rnwgpu/api/descriptors/GPUUncapturedErrorEventInit.h +1 -1
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +1 -1
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +1 -1
- package/cpp/skia/include/android/SkAnimatedImage.h +1 -1
- package/cpp/skia/include/codec/SkCodec.h +0 -8
- package/cpp/skia/include/codec/SkEncodedOrigin.h +1 -1
- package/cpp/skia/include/codec/SkPngRustDecoder.h +1 -1
- package/cpp/skia/include/core/SkBitmap.h +2 -8
- package/cpp/skia/include/core/SkCPURecorder.h +3 -1
- package/cpp/skia/include/core/SkCanvasVirtualEnforcer.h +1 -1
- package/cpp/skia/include/core/SkColorType.h +5 -3
- package/cpp/skia/include/core/SkContourMeasure.h +1 -1
- package/cpp/skia/include/core/SkCoverageMode.h +1 -1
- package/cpp/skia/include/core/SkCubicMap.h +1 -1
- package/cpp/skia/include/core/SkExecutor.h +1 -1
- package/cpp/skia/include/core/SkFont.h +15 -0
- package/cpp/skia/include/core/SkFontArguments.h +6 -1
- package/cpp/skia/include/core/SkFontMetrics.h +1 -1
- package/cpp/skia/include/core/SkFontMgr.h +36 -1
- package/cpp/skia/include/core/SkFontParameters.h +1 -1
- package/cpp/skia/include/core/SkFontScanner.h +1 -1
- package/cpp/skia/include/core/SkFontTypes.h +1 -1
- package/cpp/skia/include/core/SkM44.h +1 -1
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkOpenTypeSVGDecoder.h +1 -1
- package/cpp/skia/include/core/SkPathBuilder.h +10 -4
- package/cpp/skia/include/core/SkPathIter.h +1 -1
- package/cpp/skia/include/core/SkPathTypes.h +1 -1
- package/cpp/skia/include/core/SkPixelRef.h +4 -1
- package/cpp/skia/include/core/SkRecorder.h +2 -1
- package/cpp/skia/include/core/SkRegion.h +17 -6
- package/cpp/skia/include/core/SkSamplingOptions.h +1 -1
- package/cpp/skia/include/core/SkSerialProcs.h +8 -1
- package/cpp/skia/include/core/SkShader.h +3 -5
- package/cpp/skia/include/core/SkSpan.h +1 -1
- package/cpp/skia/include/core/SkStream.h +1 -1
- package/cpp/skia/include/core/SkStrikeRef.h +80 -0
- package/cpp/skia/include/core/SkTileMode.h +1 -1
- package/cpp/skia/include/core/SkVertices.h +1 -1
- package/cpp/skia/include/core/SkYUVAPixmaps.h +3 -5
- package/cpp/skia/include/docs/SkPDFDocument.h +1 -1
- package/cpp/skia/include/docs/SkXPSDocument.h +1 -1
- package/cpp/skia/include/effects/SkGradient.h +1 -1
- package/cpp/skia/include/effects/SkHighContrastFilter.h +1 -1
- package/cpp/skia/include/effects/SkRuntimeEffect.h +2 -2
- package/cpp/skia/include/effects/SkShaderMaskFilter.h +1 -1
- package/cpp/skia/include/effects/SkTrimPathEffect.h +1 -1
- package/cpp/skia/include/encode/SkEncoder.h +1 -1
- package/cpp/skia/include/encode/SkJpegEncoder.h +1 -1
- package/cpp/skia/include/encode/SkPngEncoder.h +1 -1
- package/cpp/skia/include/encode/SkPngRustEncoder.h +1 -1
- package/cpp/skia/include/encode/SkWebpEncoder.h +1 -1
- package/cpp/skia/include/gpu/GpuTypes.h +2 -0
- package/cpp/skia/include/gpu/MutableTextureState.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +6 -62
- package/cpp/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +1 -1
- package/cpp/skia/include/gpu/ganesh/GrRecordingContext.h +2 -1
- package/cpp/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
- package/cpp/skia/include/gpu/ganesh/mock/GrMockTypes.h +1 -1
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +1 -1
- package/cpp/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +1 -1
- package/cpp/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +1 -1
- package/cpp/skia/include/gpu/graphite/Context.h +12 -5
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +6 -0
- package/cpp/skia/include/gpu/graphite/Image.h +82 -9
- package/cpp/skia/include/gpu/graphite/PrecompileContext.h +7 -2
- package/cpp/skia/include/gpu/graphite/Recorder.h +6 -4
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +11 -1
- package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +1 -0
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +1 -1
- package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +1 -1
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +1 -1
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +1 -1
- package/cpp/skia/include/ports/SkCFObject.h +1 -1
- package/cpp/skia/include/ports/SkFontMgr_Fontations.h +1 -1
- package/cpp/skia/include/ports/SkFontMgr_android_ndk.h +1 -1
- package/cpp/skia/include/ports/SkFontMgr_data.h +1 -1
- package/cpp/skia/include/ports/SkFontMgr_fuchsia.h +1 -1
- package/cpp/skia/include/ports/SkFontMgr_mac_ct.h +1 -1
- package/cpp/skia/include/ports/SkFontScanner_Fontations.h +1 -1
- package/cpp/skia/include/ports/SkFontScanner_FreeType.h +1 -1
- package/cpp/skia/include/ports/SkTypeface_fontations.h +1 -1
- package/cpp/skia/include/private/SkExif.h +1 -1
- package/cpp/skia/include/private/SkGainmapInfo.h +1 -1
- package/cpp/skia/include/private/SkGainmapShader.h +1 -1
- package/cpp/skia/include/private/SkHdrMetadata.h +21 -0
- package/cpp/skia/include/private/SkJpegGainmapEncoder.h +1 -1
- package/cpp/skia/include/private/SkPixelStorage.h +37 -0
- package/cpp/skia/include/private/SkXmp.h +1 -1
- package/cpp/skia/include/private/base/SkAssert.h +6 -5
- package/cpp/skia/include/private/base/SkContainers.h +1 -1
- package/cpp/skia/include/private/base/SkFeatures.h +30 -30
- package/cpp/skia/include/private/base/SkLog.h +1 -7
- package/cpp/skia/include/private/base/SkLogPriority.h +4 -5
- package/cpp/skia/include/private/base/SkMacros.h +1 -1
- package/cpp/skia/include/private/base/SkMalloc.h +1 -1
- package/cpp/skia/include/private/base/SkSafe32.h +1 -1
- package/cpp/skia/include/private/base/SkSpan_impl.h +1 -1
- package/cpp/skia/include/private/base/SkTDArray.h +13 -1
- package/cpp/skia/include/private/base/SkTPin.h +1 -1
- package/cpp/skia/include/private/base/SkTo.h +1 -1
- package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +1 -1
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +1 -1
- package/cpp/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
- package/cpp/skia/include/private/chromium/SkExifChromium.h +26 -0
- package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +2 -1
- package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +1 -1
- package/cpp/skia/include/sksl/SkSLDebugTrace.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_icd.h +41 -51
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_layer.h +42 -53
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +158 -154
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +68 -65
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +90 -87
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +9 -9
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +2 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +82 -79
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +24 -24
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +2 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +95 -96
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +1 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +5 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +7 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +291 -158
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +13174 -10113
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +23 -19
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +159 -165
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +22 -19
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +3 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +3 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +94 -88
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +55 -51
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +18 -15
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +23 -19
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +31 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +5 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +27 -27
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +20 -16
- package/cpp/skia/include/utils/SkEventTracer.h +6 -1
- package/cpp/skia/include/utils/SkOrderedFontMgr.h +1 -1
- package/cpp/skia/include/utils/SkShadowUtils.h +1 -1
- package/cpp/skia/include/utils/SkTextUtils.h +1 -1
- package/cpp/skia/modules/jsonreader/SkJSONReader.cpp +20 -4
- package/cpp/skia/modules/skcms/src/Transform_inl.h +11 -15
- package/cpp/skia/modules/skcms/src/skcms_public.h +2 -0
- package/cpp/skia/modules/skottie/include/ExternalLayer.h +1 -1
- package/cpp/skia/modules/skottie/include/Skottie.h +1 -1
- package/cpp/skia/modules/skottie/include/SkottieProperty.h +1 -1
- package/cpp/skia/modules/skottie/include/SlotManager.h +1 -1
- package/cpp/skia/modules/skottie/include/TextShaper.h +1 -1
- package/cpp/skia/modules/skottie/src/SkottieValue.h +1 -1
- package/cpp/skia/modules/skottie/src/animator/Animator.h +1 -1
- package/cpp/skia/modules/skottie/src/text/Font.h +1 -1
- package/cpp/skia/modules/skottie/src/text/TextAdapter.h +1 -1
- package/cpp/skia/modules/skottie/src/text/TextAnimator.h +3 -2
- package/cpp/skia/modules/skottie/src/text/TextValue.h +1 -1
- package/cpp/skia/modules/skparagraph/include/DartTypes.h +1 -1
- package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +5 -1
- package/cpp/skia/modules/skparagraph/include/Metrics.h +1 -1
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +1 -1
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +1 -1
- package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -1
- package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +1 -1
- package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +12 -5
- package/cpp/skia/modules/skparagraph/include/TextShadow.h +1 -1
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +1 -1
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGClipEffect.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGColorFilter.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGDraw.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGEffectNode.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGGeometryEffect.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGGeometryNode.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGGradient.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGGroup.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGImage.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGInvalidationController.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGMaskEffect.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGMerge.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGNode.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGOpacityEffect.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGPaint.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGPath.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGPlane.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGRect.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGRenderEffect.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGRenderNode.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGScene.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGText.h +1 -1
- package/cpp/skia/modules/sksg/include/SkSGTransform.h +1 -1
- package/cpp/skia/modules/skshaper/include/SkShaper_coretext.h +8 -1
- package/cpp/skia/modules/svg/include/SkSVGFe.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeComponentTransfer.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeImage.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeMerge.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFilter.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGGradient.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGImage.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGMask.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGPattern.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
- package/cpp/skia/src/base/SkAutoLocaleSetter.h +94 -0
- package/cpp/skia/src/base/SkUTF.h +1 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/commonjs/skia/types/WebGPU.d.ts +153 -0
- package/lib/commonjs/skia/types/WebGPU.js +6 -0
- package/lib/commonjs/skia/types/WebGPU.js.map +1 -0
- package/lib/commonjs/skia/types/index.d.ts +1 -0
- package/lib/commonjs/skia/types/index.js +11 -0
- package/lib/commonjs/skia/types/index.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.js +19 -0
- package/lib/commonjs/skia/web/JsiSkNativeBufferFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/module/skia/types/WebGPU.d.ts +153 -0
- package/lib/module/skia/types/WebGPU.js +2 -0
- package/lib/module/skia/types/WebGPU.js.map +1 -0
- package/lib/module/skia/types/index.d.ts +1 -0
- package/lib/module/skia/types/index.js +1 -0
- package/lib/module/skia/types/index.js.map +1 -1
- package/lib/module/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
- package/lib/module/skia/web/JsiSkNativeBufferFactory.js +19 -0
- package/lib/module/skia/web/JsiSkNativeBufferFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/web/LoadSkiaWeb.js +1 -2
- package/lib/module/web/LoadSkiaWeb.js.map +1 -1
- package/lib/typescript/lib/commonjs/skia/types/WebGPU.d.ts +1 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
- package/lib/typescript/lib/module/skia/types/WebGPU.d.ts +1 -0
- package/lib/typescript/lib/module/skia/types/index.d.ts +1 -0
- package/lib/typescript/lib/module/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
- package/lib/typescript/src/skia/types/NativeBuffer/NativeBufferFactory.d.ts +10 -1
- package/lib/typescript/src/skia/types/WebGPU.d.ts +153 -0
- package/lib/typescript/src/skia/types/index.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkNativeBufferFactory.d.ts +1 -0
- package/package.json +14 -12
- package/react-native-skia.podspec +59 -7
- package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +10 -1
- package/src/skia/types/WebGPU.ts +186 -0
- package/src/skia/types/index.ts +1 -0
- package/src/skia/web/JsiSkNativeBufferFactory.ts +20 -0
- package/src/skia/web/JsiSkPath.ts +8 -2
- package/scripts/install-libs.js +0 -133
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkPath.h"
|
|
12
12
|
#include "include/core/SkRect.h"
|
|
13
|
+
#include "include/core/SkSpan.h"
|
|
13
14
|
#include "include/private/base/SkAPI.h"
|
|
14
15
|
#include "include/private/base/SkAssert.h"
|
|
15
16
|
#include "include/private/base/SkDebug.h"
|
|
@@ -224,7 +225,12 @@ public:
|
|
|
224
225
|
|
|
225
226
|
example: https://fiddle.skia.org/c/@Region_setRects
|
|
226
227
|
*/
|
|
227
|
-
bool setRects(const SkIRect rects
|
|
228
|
+
bool setRects(SkSpan<const SkIRect> rects);
|
|
229
|
+
#if !defined(SK_DISABLE_LEGACY_SKREGION_UNSPANNED_APIS)
|
|
230
|
+
bool setRects(const SkIRect rects[], int count) {
|
|
231
|
+
return this->setRects({rects, count});
|
|
232
|
+
}
|
|
233
|
+
#endif
|
|
228
234
|
|
|
229
235
|
/** Constructs a copy of an existing region.
|
|
230
236
|
Makes two regions identical by value. Internally, region and
|
|
@@ -447,8 +453,9 @@ public:
|
|
|
447
453
|
#endif
|
|
448
454
|
|
|
449
455
|
/** \class SkRegion::Iterator
|
|
450
|
-
|
|
451
|
-
|
|
456
|
+
Goes through the region one rectangle at a time. For each "strip" of one or more contiguous
|
|
457
|
+
Y values (scanlines) in ascending order, the iterator returns each rectangle in that strip
|
|
458
|
+
(from left to right) before advancing to the next strip (which may or may not have a gap).
|
|
452
459
|
*/
|
|
453
460
|
class SK_API Iterator {
|
|
454
461
|
public:
|
|
@@ -494,9 +501,12 @@ public:
|
|
|
494
501
|
bool done() const { return fDone; }
|
|
495
502
|
|
|
496
503
|
/** Advances SkRegion::Iterator to next SkIRect in SkRegion if it is not done.
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
504
|
+
* This moves to the next rectangle to the right within the current
|
|
505
|
+
* horizontal strip. If the end of the strip is reached, it automatically
|
|
506
|
+
* advances to the first rectangle in the next strip, skipping any vertical gaps.
|
|
507
|
+
*
|
|
508
|
+
* example: https://fiddle.skia.org/c/@Region_Iterator_next
|
|
509
|
+
*/
|
|
500
510
|
void next();
|
|
501
511
|
|
|
502
512
|
/** Returns SkIRect element in SkRegion. Does not return predictable results if SkRegion
|
|
@@ -514,6 +524,7 @@ public:
|
|
|
514
524
|
|
|
515
525
|
private:
|
|
516
526
|
const SkRegion* fRgn;
|
|
527
|
+
// See top of SkRegion.cpp for more on the RLE encoding
|
|
517
528
|
const SkRegion::RunType* fRuns;
|
|
518
529
|
SkIRect fRect = {0, 0, 0, 0};
|
|
519
530
|
bool fDone;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2017 Google
|
|
2
|
+
* Copyright 2017 Google LLC
|
|
3
3
|
*
|
|
4
4
|
* Use of this source code is governed by a BSD-style license that can be
|
|
5
5
|
* found in the LICENSE file.
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#ifndef SkSerialProcs_DEFINED
|
|
9
9
|
#define SkSerialProcs_DEFINED
|
|
10
10
|
|
|
11
|
+
#include "include/core/SkFourByteTag.h"
|
|
11
12
|
#include "include/core/SkRefCnt.h"
|
|
12
13
|
#include "include/private/base/SkAPI.h"
|
|
13
14
|
|
|
@@ -86,6 +87,8 @@ using SkSlugProc = sk_sp<sktext::gpu::Slug> (*)(SkReadBuffer&, void* ctx);
|
|
|
86
87
|
using SkDeserialTypefaceStreamProc = sk_sp<SkTypeface> (*)(SkStream&, void* ctx);
|
|
87
88
|
using SkDeserialTypefaceProc = sk_sp<SkTypeface> (*)(const void* data, size_t length, void* ctx);
|
|
88
89
|
|
|
90
|
+
using SkDeserialAllowTagsProc = bool(*)(SkFourByteTag, void* ctx);
|
|
91
|
+
|
|
89
92
|
struct SK_API SkSerialProcs {
|
|
90
93
|
SkSerialPictureProc fPictureProc = nullptr;
|
|
91
94
|
void* fPictureCtx = nullptr;
|
|
@@ -115,6 +118,10 @@ struct SK_API SkDeserialProcs {
|
|
|
115
118
|
// parameters and returns a bool). Given that there are only two valid implementations of that
|
|
116
119
|
// proc, we just insert the bool directly.
|
|
117
120
|
bool fAllowSkSL = true;
|
|
121
|
+
|
|
122
|
+
// Can be used to restrict the tags that will be deserialized from SkPictures.
|
|
123
|
+
SkDeserialAllowTagsProc fAllowTagsProc = nullptr;
|
|
124
|
+
void* fAllowTagsCtx = nullptr;
|
|
118
125
|
};
|
|
119
126
|
|
|
120
127
|
#endif
|
|
@@ -36,12 +36,10 @@ struct SkSamplingOptions;
|
|
|
36
36
|
class SK_API SkShader : public SkFlattenable {
|
|
37
37
|
public:
|
|
38
38
|
/**
|
|
39
|
-
* Returns true if the shader is guaranteed to produce only opaque
|
|
40
|
-
*
|
|
41
|
-
* alpha value. Subclasses should override this to allow some
|
|
42
|
-
* optimizations.
|
|
39
|
+
* Returns true if the shader is guaranteed to produce only opaque colors, subject to the
|
|
40
|
+
* SkPaint using the shader to apply an opaque alpha value.
|
|
43
41
|
*/
|
|
44
|
-
virtual bool isOpaque() const
|
|
42
|
+
virtual bool isOpaque() const = 0;
|
|
45
43
|
|
|
46
44
|
/**
|
|
47
45
|
* Iff this shader is backed by a single SkImage, return its ptr (the caller must ref this
|
|
@@ -319,7 +319,7 @@ public:
|
|
|
319
319
|
~SkFILEStream() override;
|
|
320
320
|
|
|
321
321
|
static std::unique_ptr<SkFILEStream> Make(const char path[]) {
|
|
322
|
-
std::
|
|
322
|
+
auto stream = std::make_unique<SkFILEStream>(path);
|
|
323
323
|
return stream->isValid() ? std::move(stream) : nullptr;
|
|
324
324
|
}
|
|
325
325
|
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkStrikeRef_DEFINED
|
|
9
|
+
#define SkStrikeRef_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkSpan.h"
|
|
14
|
+
#include "include/core/SkTypes.h"
|
|
15
|
+
|
|
16
|
+
class SkFont;
|
|
17
|
+
class SkStrike;
|
|
18
|
+
struct SkRect;
|
|
19
|
+
|
|
20
|
+
/** \class SkStrikeRef
|
|
21
|
+
SkStrikeRef is a lightweight, thread-safe handle to a resolved font strike.
|
|
22
|
+
It caches the result of looking up an SkStrike for a particular SkFont configuration,
|
|
23
|
+
allowing repeated glyph metric queries (advances, bounds) without the overhead of
|
|
24
|
+
descriptor construction, hashing, and global cache lookup on each call.
|
|
25
|
+
|
|
26
|
+
Obtain an SkStrikeRef from SkFont::makeStrikeRef(). The returned object remains valid
|
|
27
|
+
as long as it is held; the underlying SkStrike is atomically reference counted.
|
|
28
|
+
|
|
29
|
+
SkStrikeRef does not track changes to the SkFont it was created from. If the SkFont's
|
|
30
|
+
properties change (size, typeface, hinting, etc.), a new SkStrikeRef must be obtained.
|
|
31
|
+
*/
|
|
32
|
+
class SK_API SkStrikeRef {
|
|
33
|
+
public:
|
|
34
|
+
SkStrikeRef();
|
|
35
|
+
~SkStrikeRef();
|
|
36
|
+
|
|
37
|
+
SkStrikeRef(const SkStrikeRef&);
|
|
38
|
+
SkStrikeRef& operator=(const SkStrikeRef&);
|
|
39
|
+
SkStrikeRef(SkStrikeRef&&);
|
|
40
|
+
SkStrikeRef& operator=(SkStrikeRef&&);
|
|
41
|
+
|
|
42
|
+
/** Returns true if this SkStrikeRef holds a valid strike. */
|
|
43
|
+
explicit operator bool() const { return fStrike != nullptr; }
|
|
44
|
+
|
|
45
|
+
/** Retrieves the advance widths for each glyph.
|
|
46
|
+
widths receives min(widths.size(), glyphs.size()) values.
|
|
47
|
+
|
|
48
|
+
@param glyphs array of glyph indices to be measured
|
|
49
|
+
@param widths returns text advances for each glyph, in font units
|
|
50
|
+
*/
|
|
51
|
+
void getWidths(SkSpan<const SkGlyphID> glyphs, SkSpan<SkScalar> widths) const;
|
|
52
|
+
|
|
53
|
+
/** Retrieves the advance width for a single glyph.
|
|
54
|
+
|
|
55
|
+
@param glyph glyph index to be measured
|
|
56
|
+
@return advance width in font units
|
|
57
|
+
*/
|
|
58
|
+
SkScalar getWidth(SkGlyphID glyph) const;
|
|
59
|
+
|
|
60
|
+
/** Retrieves the advance widths and bounds for each glyph.
|
|
61
|
+
widths receives min(widths.size(), glyphs.size()) values.
|
|
62
|
+
bounds receives min(bounds.size(), glyphs.size()) values.
|
|
63
|
+
|
|
64
|
+
@param glyphs array of glyph indices to be measured
|
|
65
|
+
@param widths returns text advances for each glyph
|
|
66
|
+
@param bounds returns bounds for each glyph relative to (0, 0)
|
|
67
|
+
*/
|
|
68
|
+
void getWidthsBounds(SkSpan<const SkGlyphID> glyphs,
|
|
69
|
+
SkSpan<SkScalar> widths,
|
|
70
|
+
SkSpan<SkRect> bounds) const;
|
|
71
|
+
|
|
72
|
+
private:
|
|
73
|
+
friend class SkFont;
|
|
74
|
+
SkStrikeRef(sk_sp<SkStrike> strike, SkScalar strikeToSourceScale);
|
|
75
|
+
|
|
76
|
+
sk_sp<SkStrike> fStrike;
|
|
77
|
+
SkScalar fStrikeToSourceScale = 0;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
#endif // SkStrikeRef_DEFINED
|
|
@@ -126,12 +126,11 @@ public:
|
|
|
126
126
|
DataType dataType() const { return fDataType; }
|
|
127
127
|
|
|
128
128
|
/**
|
|
129
|
-
* Row bytes for the ith plane. Returns zero if
|
|
130
|
-
* invalid.
|
|
129
|
+
* Row bytes for the ith plane. Returns zero if this SkYUVAPixmapInfo is invalid.
|
|
131
130
|
*/
|
|
132
131
|
size_t rowBytes(int i) const { return fRowBytes[static_cast<size_t>(i)]; }
|
|
133
132
|
|
|
134
|
-
/** Image info for the ith plane
|
|
133
|
+
/** Image info for the ith plane */
|
|
135
134
|
const SkImageInfo& planeInfo(int i) const { return fPlaneInfos[static_cast<size_t>(i)]; }
|
|
136
135
|
|
|
137
136
|
/**
|
|
@@ -234,8 +233,7 @@ public:
|
|
|
234
233
|
const std::array<SkPixmap, kMaxPlanes>& planes() const { return fPlanes; }
|
|
235
234
|
|
|
236
235
|
/**
|
|
237
|
-
* Get the ith SkPixmap plane. SkPixmap will be default initialized if
|
|
238
|
-
* SkYUVAPixmaps is invalid.
|
|
236
|
+
* Get the ith SkPixmap plane. SkPixmap will be default initialized if SkYUVAPixmaps is invalid.
|
|
239
237
|
*/
|
|
240
238
|
const SkPixmap& plane(int i) const { return fPlanes[SkToSizeT(i)]; }
|
|
241
239
|
|
|
@@ -324,8 +324,8 @@ private:
|
|
|
324
324
|
uint32_t fStableKey = 0;
|
|
325
325
|
SkString fName;
|
|
326
326
|
|
|
327
|
-
std::unique_ptr<SkSL::Program> fBaseProgram;
|
|
328
|
-
std::unique_ptr<SkSL::RP::Program> fRPProgram;
|
|
327
|
+
std::unique_ptr<const SkSL::Program> fBaseProgram;
|
|
328
|
+
std::unique_ptr<const SkSL::RP::Program> fRPProgram;
|
|
329
329
|
mutable SkOnce fCompileRPProgramOnce;
|
|
330
330
|
const SkSL::FunctionDefinition& fMain;
|
|
331
331
|
std::vector<Uniform> fUniforms;
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
#define skgpu_GpuTypes_DEFINED
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkTypes.h"
|
|
12
|
+
#include "include/private/base/SkMacros.h"
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* This file includes numerous public types that are used by all of our gpu backends.
|
|
@@ -84,6 +85,7 @@ enum class GpuStatsFlags : uint32_t {
|
|
|
84
85
|
kElapsedTime = 0b01,
|
|
85
86
|
kOcclusionPassSamples = 0b10,
|
|
86
87
|
};
|
|
88
|
+
SK_MAKE_BITFIELD_CLASS_OPS(GpuStatsFlags)
|
|
87
89
|
|
|
88
90
|
struct GpuStats {
|
|
89
91
|
uint64_t elapsedTime = 0;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2017 Google
|
|
2
|
+
* Copyright 2017 Google LLC
|
|
3
3
|
*
|
|
4
4
|
* Use of this source code is governed by a BSD-style license that can be
|
|
5
5
|
* found in the LICENSE file.
|
|
@@ -12,13 +12,11 @@
|
|
|
12
12
|
#include "include/core/SkSize.h"
|
|
13
13
|
#include "include/gpu/GpuTypes.h"
|
|
14
14
|
#include "include/gpu/ganesh/GrTypes.h"
|
|
15
|
-
#include "include/gpu/ganesh/mock/GrMockTypes.h"
|
|
16
15
|
#include "include/private/base/SkAPI.h"
|
|
17
16
|
#include "include/private/base/SkAnySubclass.h"
|
|
18
17
|
#include "include/private/base/SkDebug.h"
|
|
19
18
|
#include "include/private/gpu/ganesh/GrTypesPriv.h"
|
|
20
19
|
|
|
21
|
-
enum class SkTextureCompressionType;
|
|
22
20
|
class GrBackendFormatData;
|
|
23
21
|
class GrBackendTextureData;
|
|
24
22
|
class GrBackendRenderTargetData;
|
|
@@ -44,10 +42,6 @@ public:
|
|
|
44
42
|
GrBackendFormat& operator=(const GrBackendFormat&);
|
|
45
43
|
~GrBackendFormat();
|
|
46
44
|
|
|
47
|
-
static GrBackendFormat MakeMock(GrColorType colorType,
|
|
48
|
-
SkTextureCompressionType compression,
|
|
49
|
-
bool isStencilFormat = false);
|
|
50
|
-
|
|
51
45
|
bool operator==(const GrBackendFormat& that) const;
|
|
52
46
|
bool operator!=(const GrBackendFormat& that) const { return !(*this == that); }
|
|
53
47
|
|
|
@@ -62,15 +56,6 @@ public:
|
|
|
62
56
|
|
|
63
57
|
GrColorFormatDesc desc() const;
|
|
64
58
|
|
|
65
|
-
/**
|
|
66
|
-
* If the backend API is not Mock these three calls will return kUnknown, kNone or false,
|
|
67
|
-
* respectively. Otherwise, only one of the following can be true. The GrColorType is not
|
|
68
|
-
* kUnknown, the compression type is not kNone, or this is a mock stencil format.
|
|
69
|
-
*/
|
|
70
|
-
GrColorType asMockColorType() const;
|
|
71
|
-
SkTextureCompressionType asMockCompressionType() const;
|
|
72
|
-
bool isMockStencilFormat() const;
|
|
73
|
-
|
|
74
59
|
// If possible, copies the GrBackendFormat and forces the texture type to be Texture2D. If the
|
|
75
60
|
// GrBackendFormat was for Vulkan and it originally had a skgpu::VulkanYcbcrConversionInfo,
|
|
76
61
|
// we will remove the conversion and set the format to be VK_FORMAT_R8G8B8A8_UNORM.
|
|
@@ -96,43 +81,22 @@ private:
|
|
|
96
81
|
// GrBackendFormats::MakeGL instead.
|
|
97
82
|
template <typename FormatData>
|
|
98
83
|
GrBackendFormat(GrTextureType textureType, GrBackendApi api, const FormatData& formatData)
|
|
99
|
-
: fBackend(api),
|
|
84
|
+
: fBackend(api), fTextureType(textureType), fValid(true) {
|
|
100
85
|
fFormatData.emplace<FormatData>(formatData);
|
|
101
86
|
}
|
|
102
87
|
|
|
103
|
-
GrBackendFormat(GrColorType, SkTextureCompressionType, bool isStencilFormat);
|
|
104
|
-
|
|
105
|
-
#ifdef SK_DEBUG
|
|
106
|
-
bool validateMock() const;
|
|
107
|
-
#endif
|
|
108
|
-
|
|
109
|
-
GrBackendApi fBackend = GrBackendApi::kMock;
|
|
110
|
-
bool fValid = false;
|
|
111
88
|
AnyFormatData fFormatData;
|
|
112
|
-
|
|
113
|
-
struct {
|
|
114
|
-
GrColorType fColorType;
|
|
115
|
-
SkTextureCompressionType fCompressionType;
|
|
116
|
-
bool fIsStencilFormat;
|
|
117
|
-
} fMock;
|
|
89
|
+
GrBackendApi fBackend = GrBackendApi::kUnsupported;
|
|
118
90
|
GrTextureType fTextureType = GrTextureType::kNone;
|
|
91
|
+
bool fValid = false;
|
|
119
92
|
};
|
|
120
93
|
|
|
121
94
|
class SK_API GrBackendTexture {
|
|
122
95
|
public:
|
|
123
96
|
// Creates an invalid backend texture.
|
|
124
97
|
GrBackendTexture();
|
|
125
|
-
|
|
126
|
-
GrBackendTexture(int width,
|
|
127
|
-
int height,
|
|
128
|
-
skgpu::Mipmapped,
|
|
129
|
-
const GrMockTextureInfo& mockInfo,
|
|
130
|
-
std::string_view label = {});
|
|
131
|
-
|
|
132
98
|
GrBackendTexture(const GrBackendTexture& that);
|
|
133
|
-
|
|
134
99
|
~GrBackendTexture();
|
|
135
|
-
|
|
136
100
|
GrBackendTexture& operator=(const GrBackendTexture& that);
|
|
137
101
|
|
|
138
102
|
SkISize dimensions() const { return {fWidth, fHeight}; }
|
|
@@ -147,10 +111,6 @@ public:
|
|
|
147
111
|
// Get the GrBackendFormat for this texture (or an invalid format if this is not valid).
|
|
148
112
|
GrBackendFormat getBackendFormat() const;
|
|
149
113
|
|
|
150
|
-
// If the backend API is Mock, copies a snapshot of the GrMockTextureInfo struct into the passed
|
|
151
|
-
// in pointer and returns true. Otherwise returns false if the backend API is not Mock.
|
|
152
|
-
bool getMockTextureInfo(GrMockTextureInfo*) const;
|
|
153
|
-
|
|
154
114
|
// If the client changes any of the mutable backend of the GrBackendTexture they should call
|
|
155
115
|
// this function to inform Skia that those values have changed. The backend API specific state
|
|
156
116
|
// that can be set from this function are:
|
|
@@ -208,26 +168,16 @@ private:
|
|
|
208
168
|
int fHeight; //<! height in pixels
|
|
209
169
|
const std::string fLabel;
|
|
210
170
|
skgpu::Mipmapped fMipmapped;
|
|
211
|
-
GrBackendApi fBackend;
|
|
171
|
+
GrBackendApi fBackend = GrBackendApi::kUnsupported;
|
|
212
172
|
GrTextureType fTextureType;
|
|
213
173
|
AnyTextureData fTextureData;
|
|
214
|
-
|
|
215
|
-
GrMockTextureInfo fMockInfo;
|
|
216
174
|
};
|
|
217
175
|
|
|
218
176
|
class SK_API GrBackendRenderTarget {
|
|
219
177
|
public:
|
|
220
178
|
// Creates an invalid backend texture.
|
|
221
179
|
GrBackendRenderTarget();
|
|
222
|
-
|
|
223
|
-
GrBackendRenderTarget(int width,
|
|
224
|
-
int height,
|
|
225
|
-
int sampleCnt,
|
|
226
|
-
int stencilBits,
|
|
227
|
-
const GrMockRenderTargetInfo& mockInfo);
|
|
228
|
-
|
|
229
180
|
~GrBackendRenderTarget();
|
|
230
|
-
|
|
231
181
|
GrBackendRenderTarget(const GrBackendRenderTarget& that);
|
|
232
182
|
GrBackendRenderTarget& operator=(const GrBackendRenderTarget&);
|
|
233
183
|
|
|
@@ -242,10 +192,6 @@ public:
|
|
|
242
192
|
// Get the GrBackendFormat for this render target (or an invalid format if this is not valid).
|
|
243
193
|
GrBackendFormat getBackendFormat() const;
|
|
244
194
|
|
|
245
|
-
// If the backend API is Mock, copies a snapshot of the GrMockTextureInfo struct into the passed
|
|
246
|
-
// in pointer and returns true. Otherwise returns false if the backend API is not Mock.
|
|
247
|
-
bool getMockRenderTargetInfo(GrMockRenderTargetInfo*) const;
|
|
248
|
-
|
|
249
195
|
// If the client changes any of the mutable backend of the GrBackendTexture they should call
|
|
250
196
|
// this function to inform Skia that those values have changed. The backend API specific state
|
|
251
197
|
// that can be set from this function are:
|
|
@@ -304,10 +250,8 @@ private:
|
|
|
304
250
|
int fSampleCnt;
|
|
305
251
|
int fStencilBits;
|
|
306
252
|
|
|
307
|
-
GrBackendApi fBackend;
|
|
253
|
+
GrBackendApi fBackend = GrBackendApi::kUnsupported;
|
|
308
254
|
AnyRenderTargetData fRTData;
|
|
309
|
-
|
|
310
|
-
GrMockRenderTargetInfo fMockInfo;
|
|
311
255
|
};
|
|
312
256
|
|
|
313
257
|
#endif
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2019 Google
|
|
2
|
+
* Copyright 2019 Google LLC
|
|
3
3
|
*
|
|
4
4
|
* Use of this source code is governed by a BSD-style license that can be
|
|
5
5
|
* found in the LICENSE file.
|
|
@@ -67,6 +67,7 @@ public:
|
|
|
67
67
|
colorType == kA16_unorm_SkColorType ||
|
|
68
68
|
colorType == kA16_float_SkColorType ||
|
|
69
69
|
colorType == kR16_unorm_SkColorType ||
|
|
70
|
+
colorType == kR16_float_SkColorType ||
|
|
70
71
|
colorType == kR16G16_float_SkColorType ||
|
|
71
72
|
colorType == kR16G16B16A16_unorm_SkColorType ||
|
|
72
73
|
colorType == kGray_8_SkColorType) {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef GrMockBackendSurface_DEFINED
|
|
8
|
+
#define GrMockBackendSurface_DEFINED
|
|
9
|
+
|
|
10
|
+
#include "include/gpu/ganesh/GrTypes.h"
|
|
11
|
+
#include "include/gpu/ganesh/mock/GrMockTypes.h"
|
|
12
|
+
#include "include/private/base/SkAPI.h"
|
|
13
|
+
|
|
14
|
+
#include <string_view>
|
|
15
|
+
|
|
16
|
+
class GrBackendFormat;
|
|
17
|
+
class GrBackendTexture;
|
|
18
|
+
class GrBackendRenderTarget;
|
|
19
|
+
enum class SkTextureCompressionType;
|
|
20
|
+
enum class GrColorType;
|
|
21
|
+
|
|
22
|
+
namespace GrBackendFormats {
|
|
23
|
+
|
|
24
|
+
SK_API GrBackendFormat MakeMockColorType(GrColorType colorType);
|
|
25
|
+
SK_API GrBackendFormat MakeMockCompressionType(SkTextureCompressionType compression);
|
|
26
|
+
SK_API GrBackendFormat MakeMockStencilFormat();
|
|
27
|
+
|
|
28
|
+
// Only one of these getters will return a non-unknown, non-false value
|
|
29
|
+
SK_API GrColorType AsMockColorType(const GrBackendFormat&);
|
|
30
|
+
SK_API SkTextureCompressionType AsMockCompressionType(const GrBackendFormat&);
|
|
31
|
+
SK_API bool IsMockStencilFormat(const GrBackendFormat&);
|
|
32
|
+
|
|
33
|
+
} // namespace GrBackendFormats
|
|
34
|
+
|
|
35
|
+
namespace GrBackendTextures {
|
|
36
|
+
|
|
37
|
+
SK_API GrBackendTexture MakeMock(int width,
|
|
38
|
+
int height,
|
|
39
|
+
skgpu::Mipmapped,
|
|
40
|
+
const GrMockTextureInfo& mockInfo,
|
|
41
|
+
std::string_view label = {});
|
|
42
|
+
|
|
43
|
+
SK_API GrMockTextureInfo GetMockTextureInfo(const GrBackendTexture&);
|
|
44
|
+
|
|
45
|
+
} // namespace GrBackendTextures
|
|
46
|
+
|
|
47
|
+
namespace GrBackendRenderTargets {
|
|
48
|
+
|
|
49
|
+
SK_API GrBackendRenderTarget MakeMock(int width,
|
|
50
|
+
int height,
|
|
51
|
+
int sampleCnt,
|
|
52
|
+
int stencilBits,
|
|
53
|
+
const GrMockRenderTargetInfo& mockInfo);
|
|
54
|
+
|
|
55
|
+
SK_API GrMockRenderTargetInfo GetMockRenderTargetInfo(const GrBackendRenderTarget&);
|
|
56
|
+
|
|
57
|
+
} // namespace GrBackendRenderTargets
|
|
58
|
+
|
|
59
|
+
#endif
|