After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 749728 - glimagesink doesn't work on nvidia OSX
glimagesink doesn't work on nvidia OSX
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Mac OS
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-05-22 12:49 UTC by Vivia Nikolaidou
Modified: 2016-05-28 20:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Debug log with gl*:6 (64.09 KB, text/plain)
2015-05-22 12:54 UTC, Vivia Nikolaidou
Details
debug log (29.88 KB, text/plain)
2016-05-28 20:09 UTC, Håvard Graff (hgr)
Details

Description Vivia Nikolaidou 2015-05-22 12:49:48 UTC
glimagesink doesn't work at all.
gst-launch-1.0 videotestsrc ! glimagesink gives the following error message:

vivia@eve ~/c/d/d/bin> ./gst-launch-1.0 videotestsrc ! glimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0";
0:00:00.516269000 43398 0x7fbc22560d60 ERROR                default gstglcaopengllayer.m:130:-[GstGLCAOpenGLLayer copyCGLContextForPixelFormat:]: failed to fill wrapped context information: An opengl3 context created but the required ES2 compatibility was not found
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

And then the image is just black.
Comment 1 Vivia Nikolaidou 2015-05-22 12:54:16 UTC
Created attachment 303817 [details]
Debug log with gl*:6
Comment 2 Sebastian Dröge (slomo) 2015-05-22 12:56:41 UTC
0:00:00.499664000 [331m43410[00m 0x7fba30e15c90 [37mDEBUG  [00m [00m           glcontext gstglcontext.c:1468:gst_gl_context_fill_info:<glwrappedcontext0>[00m GL_EXTENSIONS: 

Is the problem here. The context we created has all required extensions, so maybe we just have to query the wrapped context?
Comment 3 Matthew Waters (ystreet00) 2015-05-22 14:02:51 UTC
The wrapped context doesn't seem to have any extensions listed however the original context has the GL_ARB_ES2_compatibility extension listed :/

glcontext gstglcontext.c:1468:gst_gl_context_fill_info:<glwrappedcontext0> GL_EXTENSIONS: 
default gstglcaopengllayer.m:130:-[GstGLCAOpenGLLayer copyCGLContextForPixelFormat:]: failed to fill wrapped context information: An opengl3 context created but the required ES2 compatibility was not found
Comment 4 Matthew Waters (ystreet00) 2015-05-22 14:04:43 UTC
(In reply to Sebastian Dröge (slomo) from comment #2)
> Is the problem here. The context we created has all required extensions, so
> maybe we just have to query the wrapped context?

That is precisely what should be happening already and is taken care of by gst_gl_context_fill_info().
Comment 5 Matthew Waters (ystreet00) 2015-05-22 14:16:40 UTC
This all works on my Intel OS X box.
Comment 6 Robert Swain 2015-05-22 14:42:02 UTC
This breaks in the same way on my 2014 MacBook Pro with NVIDIA GPU.
Comment 7 Matthew Waters (ystreet00) 2015-05-22 15:27:30 UTC
commit 6586d32443d7f136c598294304abd26dc333f288
Author: Matthew Waters <matthew@centricular.com>
Date:   Sat May 23 01:00:18 2015 +1000

    gl/calayer: provide the exact GL api version for the wrapped context
    
    Otherwise we could end up being mistaken for the diference between a
    gl3 and a gl2 context resulting in a failure getting the list of
    extensions from the wrapped context due to the difference between
    glGetString and glGetStringi for the GL_EXTENSIONS token.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=749728
Comment 8 Vivia Nikolaidou 2015-05-22 16:01:35 UTC
Yep, I can confirm that it works :) Thanks a lot!
Comment 9 Håvard Graff (hgr) 2016-05-28 20:09:46 UTC
Created attachment 328680 [details]
debug log

I am getting the exact same problem as the initial bug-description, running from master. Attached is output from GST_DEBUG=*gl:6