Running on an iMX.8QuadMax, I am trying to deploy a Gstreamer pipeline that decodes HEVC frames that are then passed to "glupload", a Gstreamer element capable of producing EGL_image-backed GL textures.
glupload appears to be setting the correct parameters when creating the EGL image from the DMA buffer, based on its debug and logging output.
However, when I attempt to render the decoded frame inside GLES, sampling from the EGL_image-backed texture, I get the error:
[ 1] ES30: some draw get error and skipped during validation
Also, it will occasionally SEGFAULT during the draw which samples from the texture. The call stack is:
#0 0x0000fffff5a48e68 in ?? () from /usr/lib/libGAL.so
#1 0x0000fffff59edcb4 in gcoSURF_DisableTileStatus () from /usr/lib/libGAL.so
#2 0x0000fffff5a036e8 in gco3D_SetTarget () from /usr/lib/libGAL.so
Can I get some help figuring out what is wrong?
解決済! 解決策の投稿を見る。
I solved the issue. The Gstreamer plugins were using their own GL context instead of sharing my render context, so the texture IDs I was getting, despite being valid texture IDs in the render context, were not actually the same objects. Hence, attempting to sample those textures as EGLImage external backed textures was an error.
I solved the issue. The Gstreamer plugins were using their own GL context instead of sharing my render context, so the texture IDs I was getting, despite being valid texture IDs in the render context, were not actually the same objects. Hence, attempting to sample those textures as EGLImage external backed textures was an error.
Hello,
For supported formats one can refer to the Release Notes, and the graphics user guide.
pay attention to Table 15. i.MX GStreamer 1.0 plugins.
Also if you are receiving segmentation fault is due to your don't have enough memory to run the graphics check this part.
Regards
I really don't think it's a memory space limitation. The texture is 200x200 RGBA. The video stream I'm playing back has 3 frames in it. That is only 160KB total.
I've read the Gstreamer guide. It mostly talks about constructing pipelines with gst-launch and isn't helpful here.
What does "some draw get error and skipped during validation" mean? How do I get more details on the actual *error*?
I also tried VIV_DEBUG=-MSG_LEVEL:WARNING and that didn't print anything new.