From 221a6f06f2c6d6899878338e0139a66436d9084a Mon Sep 17 00:00:00 2001 From: y00656910 Date: Thu, 7 Aug 2025 17:48:35 +0800 Subject: [PATCH] add dma usage BUFFER_USAGE_ALLOC_NO_IPC Signed-off-by: y00656910 Change-Id: I54f08fbfde256339ec9a7b679565fca345f123c9 Signed-off-by: y00656910 --- frameworks/innerkitsimpl/codec/src/image_source.cpp | 2 +- frameworks/innerkitsimpl/common/src/pixel_map.cpp | 2 +- plugins/common/libs/image/libextplugin/src/ext_decoder.cpp | 2 +- plugins/common/libs/image/libsvgplugin/src/svg_decoder.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/innerkitsimpl/codec/src/image_source.cpp b/frameworks/innerkitsimpl/codec/src/image_source.cpp index 30514e7cb..19a62c35d 100644 --- a/frameworks/innerkitsimpl/codec/src/image_source.cpp +++ b/frameworks/innerkitsimpl/codec/src/image_source.cpp @@ -3575,7 +3575,7 @@ static bool ReadFileAndResoveAstc(size_t fileSize, size_t astcSize, unique_ptr

GetPixelFormat()}; if (ImageSystemProperties::GetNoPaddingEnabled()) { - memoryData.usage = BUFFER_USAGE_PREFER_NO_PADDING; + memoryData.usage = BUFFER_USAGE_PREFER_NO_PADDING | BUFFER_USAGE_ALLOC_NO_IPC; } ImageInfo pixelAstcInfo; pixelAstc->GetImageInfo(pixelAstcInfo); diff --git a/frameworks/innerkitsimpl/common/src/pixel_map.cpp b/frameworks/innerkitsimpl/common/src/pixel_map.cpp index 8fb43e94b..18d795be9 100644 --- a/frameworks/innerkitsimpl/common/src/pixel_map.cpp +++ b/frameworks/innerkitsimpl/common/src/pixel_map.cpp @@ -4717,7 +4717,7 @@ uint64_t PixelMap::GetNoPaddingUsage() } SurfaceBuffer* sbBuffer = reinterpret_cast(GetFd()); if (sbBuffer->GetUsage() & BUFFER_USAGE_PREFER_NO_PADDING) { - return BUFFER_USAGE_PREFER_NO_PADDING; + return BUFFER_USAGE_PREFER_NO_PADDING | BUFFER_USAGE_ALLOC_NO_IPC; } return 0; #else diff --git a/plugins/common/libs/image/libextplugin/src/ext_decoder.cpp b/plugins/common/libs/image/libextplugin/src/ext_decoder.cpp index bee449264..e9b599d3f 100644 --- a/plugins/common/libs/image/libextplugin/src/ext_decoder.cpp +++ b/plugins/common/libs/image/libextplugin/src/ext_decoder.cpp @@ -314,7 +314,7 @@ uint32_t ExtDecoder::DmaMemAlloc(DecodeContext &context, uint64_t count, SkImage BufferRequestConfig requestConfig = CreateDmaRequestConfig(dstInfo, count, context.info.pixelFormat); if (context.useNoPadding) { IMAGE_LOGI("%{public}s no padding enabled", __func__); - requestConfig.usage |= BUFFER_USAGE_PREFER_NO_PADDING; + requestConfig.usage |= BUFFER_USAGE_PREFER_NO_PADDING | BUFFER_USAGE_ALLOC_NO_IPC; } return DmaAlloc(context, count, requestConfig); #endif diff --git a/plugins/common/libs/image/libsvgplugin/src/svg_decoder.cpp b/plugins/common/libs/image/libsvgplugin/src/svg_decoder.cpp index bd929e03c..ab502c7a7 100644 --- a/plugins/common/libs/image/libsvgplugin/src/svg_decoder.cpp +++ b/plugins/common/libs/image/libsvgplugin/src/svg_decoder.cpp @@ -138,7 +138,7 @@ bool AllocDmaBuffer(DecodeContext &context, uint64_t byteCount, SkSize &svgSize) .transform = GraphicTransformType::GRAPHIC_ROTATE_NONE, }; if (context.useNoPadding) { - requestConfig.usage |= BUFFER_USAGE_PREFER_NO_PADDING; + requestConfig.usage |= BUFFER_USAGE_PREFER_NO_PADDING | BUFFER_USAGE_ALLOC_NO_IPC; } GSError ret = sb->Alloc(requestConfig); cond = (ret != GSERROR_OK); -- Gitee