Dear All,
Hello.
When transferring an image to the texture which was created by using glTexDirectVIV(), DMA can transfer it by using glTexDirectVIVMap().
When using a texture and rendering a polygon, the contents of the texture are always updated (i.e.using DMA transfer), in case of calling glTexDirectVIVMap() and DMA transfer's being set.
(When setting a camera image by the DMA transfer in glTexDirectVIVMap(), after that, the contents of the texture are always updated.)
[Question]
Is there a way of not making always update the contents of the texture?
BSP : L3.14.28_1.0.0
Best Regards,
Keita
Solved! Go to Solution.
Hi Keita,
Are you using glTexDirectInvalidateVIV ?
glTexDirectVIV() − Driver reserves memory for texture, and return pointer
glTexDirectVIVMap() − User reserves logical (and physical) continuous memory, then driver map the memory as a texture memory.
glTexDirectInvalidateVIV() − Tell GPU texture memory is updated
One example could be:
First, call glTexDirectVIV to get a pointer.
Second, copy the texture data to this memory address
Then, call glTexDirectInvalidateVIV to apply the texture before you draw something with that texture
Hope this helps
Hi Keita,
Are you using glTexDirectInvalidateVIV ?
glTexDirectVIV() − Driver reserves memory for texture, and return pointer
glTexDirectVIVMap() − User reserves logical (and physical) continuous memory, then driver map the memory as a texture memory.
glTexDirectInvalidateVIV() − Tell GPU texture memory is updated
One example could be:
First, call glTexDirectVIV to get a pointer.
Second, copy the texture data to this memory address
Then, call glTexDirectInvalidateVIV to apply the texture before you draw something with that texture
Hope this helps
Hi All,
This thread seems to discuss exactly what I want to accomplish - direct V4L2 video buffers to OpenGL Textures via DMA.
Is there any simple, yet complete, example application in the imx BSP?
Thank you very much,
Phil