Toybrick

标题: 有关在3588开发板上opengl的问题 [打印本页]

作者: MadDog    时间: 2023-3-27 17:07
标题: 有关在3588开发板上opengl的问题
我在3588的开发板上,用opengles做一些图像处理,遇到一些问题:
1:3588的显卡,是否支持DRM_FORMAT_RG88格式的纹理?
2:在3588上,是否支持多目标渲染?

作者: jefferyzhang    时间: 2023-3-27 17:53
1. Toybrick支持,其他板子可能不支持
2. 支持
作者: MadDog    时间: 2023-3-28 09:41
1:通过glGetString(GL_EXTENSIONS);返回的扩展中有:GL_EXT_texture_rg,我理解就是支持RG88格式的纹理。但是通过eglCreateImageKHR函数基于dma的fd创建DRM_FORMAT_RG88格式的eglImage时,返回错误。
你的回复中,说Toybrick支持,其他板子可能不支持,我不太理解,这不是mali的驱动支持的吗?
2:在3588上,是否支持多目标渲染?
我遇到的问题是,FBO的attachement0给的是一个NV12格式的纹理,attachment1个的是R8格式的纹理,通过glDrawBuffers指定了attachment0和attachment1,深度检测也打开了。但是渲染结果是:attachment0对应的NV12有效果,attachment1对应的R8没有结果。

作者: jefferyzhang    时间: 2023-3-28 09:46
MadDog 发表于 2023-3-28 09:41
1:通过glGetString(GL_EXTENSIONS);返回的扩展中有:GL_EXT_texture_rg,我理解就是支持RG88格式的纹理。 ...

1. RK买断了Mali的驱动源码,自行维护
2. 第二个我不知道你在说什么,你写egl不写shader的吗?自己写shader要什么效果还不都是自己写的。
作者: MadDog    时间: 2023-3-28 10:02
1: "Toybrick支持,其他板子可能不支持",我是不了解为什么会有其它板子可能不支持这一个说法,不都是RK那边出来的驱动吗?
2: 现在我遇到的问题是,用eglCreateImgeKHR函数基于dma的fd创建的NV12格式纹理,放到shader中,通过sampler2D获取到的yuv值是错误的,通过samplerExternalOES获取的yuv值是 0.
我现在的shader,两个Input纹理,都是NV12格式的,我想一次渲染出一个NV12格式的目标纹理,一个R8格式的mask。遇到的问题两个:
a: NV12格式作为纹理源的时候,sampler获取的yuv值不对
b: FBO无法实现多目标渲染,attachment0中绑定的NV12格式纹理可以得到内容,而attachment1中绑定的R8纹理,里面得不到内容;
作者: jefferyzhang    时间: 2023-3-28 11:16
MadDog 发表于 2023-3-28 10:02
1: "Toybrick支持,其他板子可能不支持",我是不了解为什么会有其它板子可能不支持这一个说法,不都是RK那 ...

1. 这个是Toybrick论坛,我只负责toybrick,RK修复没我们社区快,他们还要测试和发布
2. 建议你先了解下shader,采样想要nv12是需要YUV_EXT的,这些是需要shader里写代码的。我已经回答过你了,你说的都是支持的。




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3