diff --git a/frameworks/innerkitsimpl/codec/src/image_source.cpp b/frameworks/innerkitsimpl/codec/src/image_source.cpp index 30514e7cb2f7ed5fd07f313c28da22540c5319b3..19a62c35d237337513b6b2d1a363a4981b1e1a71 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 8fb43e94b3dda8f4d02d66dd42cca7a11ef0e45a..18d795be96b4a92c331a38f2eb22602a39ac3169 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 bee4492642ffb751e973377a7a2ef497e74c5e54..e9b599d3fc55327c030c3634a90ebfcfd1378e3b 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 bd929e03c64f27add686415aa761a8a8cf6c5813..ab502c7a74382e57ebd0c42304a4ee6b9072e986 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);