This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5728:基于像素图创建 EGL 图像

Guru**** 2551310 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/606575/linux-am5728-egl-image-creation-based-on-pixmap

器件型号:AM5728

工具/软件:Linux

您好!
我的 EGL 图像有问题。 UM DDK 版本为1.14.3699939 (https://git.ti.com/graphics/omap5-sgx-ddk-um-linux/commit/d184140aa5c17e13e1bf21151f1a7bc068bdf8bf)
我想使用 EGLImage 呈现图像(aRGB)、但现在它似乎仅支持 nv12、YUY2。
我找到了这个答案(https://e2e.ti.com/support/embedded/linux/f/354/p/563420/2066253#2066253)
1.将 DMABUF 导入为 GBM BO
2.利用它创建像素图表面
3.根据像素图创建 EGL 图像

但是、创建 EGL 图像时会发生错误。 以下是源代码。

struct omapbo* lpapBo = omap_bo_new (omap_device_new (m_DrmFd)、Width * Height * 4、3);
struct GBM_import_FD_DATA GBM importData;
int IDX = 0;
GbmImportData.STRIDE = omap_dbo_gmabuf (GBM_import_gm)

;

gmGbps Import_gm = gm_gm Data = gm_gm_gm_gm_gm 和 gm_gm_gm_gm

GBM_BO_USE_Rendering | GBM_BO_USE_SCANOUT );
EGLSurface lpEglSurface = eglCreatePixmapSurface (m_lpContext->GetEglDisplay(),
m_lpContext->GetEglConfig(),
lpBo, NULL );

eglCreateImageKHR (m_EglDisplay、EGL_NO_Context、EGL_NATE_PIXMAP_KHR、lpEglSurface、NULL);
eglGetError(); 

PVR:(错误):[ 1222->1231]< GBM_PVR_surface_create_common ():422|error>条件[宽度!= 0]失败[0、]
PVR:(错误):[ 1222->1231]< WSEGL_CreatePixmapDrawable():1018|ERROR>条件[ SURF!= NULL]失败[0、]
ERR[3D]:EGL 错误0x300C (EGL_BAD_PARAMETER)

-扩展列表中缺少 EGL_KHR_IMAGE_PIXMAP (eglQueryString (EGL_EXTENSIONS))、这可能是原因。 
- writeback 流(v4l2 YUy2)可与 eglCreateImageKHR( m_EglDisplay、EGL_NO_Context、EGL_Linux_DMA_BUF_EXT、NULL、Atribs )正常工作;  

如何以 aRGB 格式创建 EGL 图像? 是否有任何示例代码?  感谢你的帮助。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    解决了
    eglCreateImageKHR (m_EglDisplay、EGL_NO_Context、EGL_NATE_PIXMAP_KHR、lpBo、NULL)
    无需创建像素图表面