【求助】XTS 5.0 ActsNativeBufferTest模块报错failed

日志分析:OH_NativeBuffer_MapPlanes返回1001,预期50007000
系统:arm64,版本:5.0.2
您需要先 登录 才能评论/回答

全部评论(4)
int32_t OH_NativeBuffer_MapPlanes(OH_NativeBuffer *buffer, void **virAddr, OH_NativeBuffer_Planes *outPlanes)
{
if (buffer == nullptr || virAddr == nullptr || outPlanes == nullptr) {
return OHOS::SURFACE_ERROR_INVALID_PARAM;
}
sptr<SurfaceBuffer> sbuffer = OH_NativeBufferToSurfaceBuffer(buffer);
int32_t ret = sbuffer->Map();
if (ret == OHOS::SURFACE_ERROR_OK) {
*virAddr = sbuffer->GetVirAddr();
} else {
BLOGE("Map failed, %{public}d", ret);
return ret;
}
OH_NativeBuffer_Planes *planes = nullptr;
GSError retVal = sbuffer->GetPlanesInfo(reinterpret_cast<void**>(&planes));
if (retVal != OHOS::SURFACE_ERROR_OK) {
BLOGE("GetPlanesInfo failed, retVal:%{public}d", retVal);
return retVal;
}
outPlanes->planeCount = planes->planeCount;
for (uint32_t i = 0; i < planes->planeCount && i < 4; i++) { // 4: max plane count
outPlanes->planes[i].offset = planes->planes[i].offset;
outPlanes->planes[i].rowStride = planes->planes[i].rowStride;
outPlanes->planes[i].columnStride = planes->planes[i].columnStride;
}
return OHOS::SURFACE_ERROR_OK;
}
都不会返回1001,单独测试一下试试。

2025-06-05 14:29:24
预期 50007000 NATIVEBUFFER_SUCCESS
实际 1001 NATIVEBUFFER_ERROR_INVALID_VALUE(参数无效)
说明调用 OH_NativeBuffer_MapPlanes 时传入的某个参数有问题,或 native buffer 未初始化成功。
/vendor/lib64/chipsetsdk/libGLESv1_impl.so、libGLESv2_impl.so、libGLESv3_impl.so、/system/lib64/libiGraphicsCore.z.so 不存在
OpenGLWrapper 报 invalid display pointer、EGLDisplay is invalid、eglSetBlobCacheFuncsANDROID not found
RS(Render Service)日志反复打印 gfx composition can not support the type 0
最可能的是 图形/显示系统未正确初始化,NativeBuffer 无法分配 GPU buffer,导致 MapPlanes 调用失败

2025-06-04 17:57:27