[Bug 792407] Windows: GL context sharing fails in async loading mode.
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sun Jan 14 11:18:33 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=792407
--- Comment #3 from Petros <petroskataras at gmail.com> ---
Thanks for your reply Matthew.
What puzzles me is that as can see from the logs wglCreateContextAttribsARB()
seems to succeed in the case of the sync loading but fails in the async case
where it tries to fallback to wglShareLists().
Relevant parts for sync case:
0:00:00.232938009 3816 000002237BFB9280 DEBUG glwindow
gstglwindow_win32.c:276:gst_gl_window_win32_create_window: gl window created:
5047178
0:00:00.233103134 3816 000002237BFB9280 LOG glwindow
gstglwindow_win32.c:287:gst_gl_window_win32_create_window: Created a win32
window
0:00:00.237788218 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1231:gst_gl_context_create_thread:<glcontextwgl0> Attempting to
create opengl context. user chosen api(s) (any), compiled api support (opengl
opengl3) display api (any)
0:00:00.238253707 3816 000002237BFB9280 DEBUG glcontext
gstglcontext_wgl.c:174:gst_gl_context_wgl_create_context: gl context created:
65537
0:00:00.260883084 3816 000002237BFB9280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.5 context
0:00:00.261583431 3816 000002237BFB9280 LOG glcontext
gstglcontext_wgl.c:261:gst_gl_context_wgl_create_context: gl context id: 131073
0:00:00.261605468 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1242:gst_gl_context_create_thread:<glcontextwgl0> created
context
0:00:00.261623581 3816 000002237BFB9280 DEBUG glcontext
gstglcontext.c:749:gst_gl_context_activate:<glcontextwgl0> activate:1
0:00:00.262248158 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1258:gst_gl_context_create_thread:<glcontextwgl0> available GL
APIs: opengl3
0:00:00.262269591 3816 000002237BFB9280 DEBUG glcontext
gstglcontext.c:1277:gst_gl_context_create_thread:<glcontextwgl0> Filling info
0:00:00.266241648 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1071:_create_context_info:<glcontextwgl0> GL_VERSION: 4.5.0
NVIDIA 382.66
0:00:00.266280892 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1074:_create_context_info:<glcontextwgl0>
GL_SHADING_LANGUAGE_VERSION: 4.50 NVIDIA
0:00:00.266312287 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1076:_create_context_info:<glcontextwgl0> GL_VENDOR: NVIDIA
Corporation
0:00:00.266385038 3816 000002237BFB9280 INFO glcontext
gstglcontext.c:1078:_create_context_info:<glcontextwgl0> GL_RENDERER: GeForce
GTX 1080 Ti/PCIe/SSE2
and for the async case :
0:00:00.175514642 11992 0000022C62A4A280 LOG glwindow
gstglwindow_win32.c:226:gst_gl_window_win32_create_window: Attempting to create
a win32 window
0:00:00.176678366 11992 0000022C62A4A280 TRACE glwindow
gstglwindow_win32.c:394:window_proc: WM_CREATE
0:00:00.176752627 11992 0000022C62A4A280 DEBUG glwindow
gstglwindow_win32.c:276:gst_gl_window_win32_create_window: gl window created:
4131516
0:00:00.176780399 11992 0000022C62A4A280 LOG glwindow
gstglwindow_win32.c:287:gst_gl_window_win32_create_window: Created a win32
window
0:00:00.180643480 11992 0000022C62A4A280 INFO glcontext
gstglcontext.c:1231:gst_gl_context_create_thread:<glcontextwgl0> Attempting to
create opengl context. user chosen api(s) (any), compiled api support (opengl
opengl3) display api (any)
0:00:00.181140969 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:174:gst_gl_context_wgl_create_context: gl context created:
65537
0:00:00.193910840 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.5 context
0:00:00.194472024 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.4 context
0:00:00.194989134 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.3 context
0:00:00.195507149 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.2 context
0:00:00.196016713 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.1 context
0:00:00.196531408 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.0 context
0:00:00.197033122 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 3.3 context
0:00:00.197541176 11992 0000022C62A4A280 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 3.2 context
0:00:00.198905043 11992 0000022C62A4A280 WARN glcontext
gstglcontext.c:1235:gst_gl_context_create_thread:<glcontextwgl0> Failed to
create context
0:00:00.198932815 11992 0000022C5CEBED40 INFO glcontext
gstglcontext.c:1037:gst_gl_context_create:<glcontextwgl0> gl thread created
0:00:00.198963606 11992 0000022C5CEBED40 WARN glbasefilter
gstglbasefilter.c:393:gst_gl_base_filter_decide_allocation:<convert> error:
failed to share contexts through wglShareLists 0xaa
On top of that I tried the same code on Windows VM ( VMware with mesa drivers
and Core Profile support enabled ) and there wglCreateContextAttribsARB() seems
that its working properly for both the sync and the async case. Relevant parts
of the log file :
0:00:00.632404185 7544 0000020741299580 LOG glwindow
gstglwindow_win32.c:226:gst_gl_window_win32_create_window: Attempting to create
a win32 window
0:00:00.643493634 7544 0000020741299580 TRACE glwindow
gstglwindow_win32.c:394:window_proc: WM_CREATE
0:00:00.644985625 7544 0000020741299580 DEBUG glwindow
gstglwindow_win32.c:276:gst_gl_window_win32_create_window: gl window created:
459564
0:00:00.648208861 7544 0000020741299580 LOG glwindow
gstglwindow_win32.c:287:gst_gl_window_win32_create_window: Created a win32
window
0:00:00.650459284 7544 0000020741299580 INFO glcontext
gstglcontext.c:1231:gst_gl_context_create_thread:<glcontextwgl0> Attempting to
create opengl context. user chosen api(s) (any), compiled api support (opengl
opengl3) display api (any)
0:00:00.659322789 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:174:gst_gl_context_wgl_create_context: gl context created:
65537
0:00:00.706056952 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.5 context
0:00:00.707850578 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.4 context
0:00:00.709045276 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.3 context
0:00:00.710477255 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.2 context
0:00:00.768884399 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.1 context
0:00:00.818529503 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 4.0 context
0:00:00.834999435 7544 0000020741299580 DEBUG glcontext
gstglcontext_wgl.c:212:gst_gl_context_wgl_create_context:<glcontextwgl0> trying
to create a GL 3.3 context
0:00:00.871651707 7544 0000020741299580 LOG glcontext
gstglcontext_wgl.c:261:gst_gl_context_wgl_create_context: gl context id: 327681
0:00:00.872887860 7544 0000020741299580 INFO glcontext
gstglcontext.c:1242:gst_gl_context_create_thread:<glcontextwgl0> created
context
0:00:00.873748548 7544 0000020741299580 DEBUG glcontext
gstglcontext.c:749:gst_gl_context_activate:<glcontextwgl0> activate:1
0:00:00.875465581 7544 0000020741299580 INFO glcontext
gstglcontext.c:1258:gst_gl_context_create_thread:<glcontextwgl0> available GL
APIs: opengl3
0:00:00.876377989 7544 0000020741299580 DEBUG glcontext
gstglcontext.c:1277:gst_gl_context_create_thread:<glcontextwgl0> Filling info
0:00:00.885748036 7544 0000020741299580 INFO glcontext
gstglcontext.c:1071:_create_context_info:<glcontextwgl0> GL_VERSION: 3.3 (Core
Profile) Mesa 10.6.0 (git-beb7765)
0:00:00.886978662 7544 0000020741299580 INFO glcontext
gstglcontext.c:1074:_create_context_info:<glcontextwgl0>
GL_SHADING_LANGUAGE_VERSION: 3.30
0:00:00.889731284 7544 0000020741299580 INFO glcontext
gstglcontext.c:1076:_create_context_info:<glcontextwgl0> GL_VENDOR: VMware,
Inc.
0:00:00.891676912 7544 0000020741299580 INFO glcontext
gstglcontext.c:1078:_create_context_info:<glcontextwgl0> GL_RENDERER: Gallium
0.4 on SVGA3D; build: RELEASE; LLVM;
These tests make me wonder if I m hitting some kind of driver issue.
In any case, I would like to provide proper fallback support when
wglCreateContextAttribsARB() fails so my question would be at which point
exactly should one disable and then (re)enable the application context ( in
this case the one coming from Cinder ) on a playbin - appsink based pipeline so
that wglShareLists() doesn't fail when GStreamer tries to setup/share the
context internally ?
Thanks again!
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list