Tiled direct textures with glTexDirectTiledMapVIV - possible? Or is EGLImage an option?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Tiled direct textures with glTexDirectTiledMapVIV - possible? Or is EGLImage an option?

713 Views
crg7475
Contributor III

I noticed that the gl2ext.h header from the Vivante GPU userspace package contains additional symbols such as glTexDirectTiledMapVIV, indicating support for tiled frames.

I do know that the tile format used by the i.MX8m Hantro decoder and the Vivante GPU are compatible. So, tiled frames produced by the decoder could be directly used by the GPU. In theory, this would yield a performance gain, since the (de)tiling stages would not be necessary.

However, the documentations do not mention any tiled frame support. Also, the additional definitions in gl2ext.h indicate support for tiled I420 frames, not tiled NV12 ones, which is bad, because it seems to me that the Hantro decoder cannot produce tiled I420 frames, only tiled NV12 ones.

Is it still possible to combine VPU and GPU like this? Is there documentation about tiling support in the VIV direct textures available anywhere? And could the GPU also handle tiled NV12 frames? Or is it perhaps possible to make the Hantro decoder produced tiled I420 frames?

Also, should I even use direct textures for this? Or should I rather go the DMABUF + EGLImage way (together with the EGL_EXT_image_dma_buf_import_modifiers extension)? Is the latter supported even by the Vivante drivers?

Finally, the whole reason I am asking this is the performance gain. What degree of performance gain could I expect from using tiled frames? Minor, or significant? If it is only minor, it may not be worth the effort.

0 Kudos
2 Replies

196 Views
ricsky
Contributor I

Hi, I'm looking for the same problem for i.MX8 QM using malone VPU that produce NV12 Tiled format.

In gl2ext.h I found GL_VIV_YUV420_TILE_ST  and GL_VIV_YUV420_TILE_10_ST for glTexDirectVIVMap or glTexDirectMapVIV or glTexDirectTiledMapVIV. 

Can I use it to import VPU decoded frame like a texture ?

 

Regards

0 Kudos

654 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Carlos,

Yes, its possible to combine the VPU and GPU, but the VPU only produced the I420 frame, you must do the EGL_EXT_image_dma_buf_import_modifiers. The performance depend of your image, it is a 4096x4096 you should expect Significant effort of the GPU.

Regards

0 Kudos