我希望获得内存的双缓冲渲染以获得读取结果、并尝试后续步骤:
1) 1)创建 OMAP-bo 并将其获取 dmabuf
2) 2)从 dmabuf 创建 eglImage
3) 3)使用限制数据创建纹理
4) 4)创建带纹理附件的帧缓冲区
两个错误中的问题:
1) 1)带 EGL_Linux_DMA_BUF_EXT 的 eglCreateImageKHR 只允许来自测试格式列表的 DRM_FORMAT_YUV 格式:
DRM_FORMAT_C8、
DRM_FORMAT_R8、
DRM_FORMAT_RG88、
DRM_FORMAT_GR88、
DRM_FORMAT_XRGB4444、
DRM_FORMAT_XBGR4444、
DRM_FORMAT_RGBX4444、
DRM_FORMAT_BGRX4444、
DRM_FORMAT_ARGB4444、
DRM_FORMAT_ABGR4444、
DRM_FORMAT_RGBA4444、
DRM_FORMAT_BGRA4444、
DRM_FORMAT_RGB565、
DRM_FORMAT_BGR565、
DRM_FORMAT_RGB888、
DRM_FORMAT_BGR888、
DRM_FORMAT_XRGB8888、
DRM_FORMAT_XBGR8888、
DRM_FORMAT_RGBX8888、
DRM_FORMAT_BGRX8888、
DRM_FORMAT_ARGB8888、
DRM_FORMAT_ABGR8888、
DRM_FORMAT_RGBA8888、
DRM_FORMAT_BGRA8888、
DRM_FORMAT_UYVY、
DRM_FORMAT_VYUY、
DRM_FORMAT_YUV、
对于此格式、eglCreateImageKHR 返回 EGL_BAD_MATCH 错误
该扩展允许使用任何 RGB 或灰度格式?
2) 2)当我创建 YUYV EGL 图像时、将其附加到纹理、创建帧缓冲剂尝试将纹理附加到它有错误:
PVR:(错误):ComputeFrameBufferCompleteness:未知纹理格式[0、]
分段故障(转储内核)
它是呈现到某些缓冲区的正确方法还是存在更好的方法?
我使用 ti-processor-sdk-linux-am57xx-evm-03.02.00.05