GPU error attempting to render with EGL_image_external

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

GPU error attempting to render with EGL_image_external

Jump to solution
1,180 Views
Brainsnacks
Contributor II

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?

0 Kudos
Reply
1 Solution
1,107 Views
Brainsnacks
Contributor II

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. 

View solution in original post

3 Replies
1,108 Views
Brainsnacks
Contributor II

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. 

1,147 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

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

 

0 Kudos
Reply
1,144 Views
Brainsnacks
Contributor II

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.

0 Kudos
Reply