[Xquartz-dev] Help requested debugging rgl under XQuartz

Duncan Murdoch murdoch.duncan at gmail.com
Tue Feb 23 06:14:22 PST 2021


On 23/02/2021 12:47 a.m., Jeremy Huddleston Sequoia wrote:
> 
> 
>> On Feb 22, 2021, at 14:38, Duncan Murdoch <murdoch.duncan at gmail.com 
>> <mailto:murdoch.duncan at gmail.com>> wrote:
>>
>> I've made a little bit of progress.
>>
>> The message "error: xp_attach_gl_context returned: 2" comes from the 
>> Mesa routine surface_make_current, which calls xp_attach_gl_context. 
>>  I haven't found where xp_attach_gl_context is defined.
> 
> xp_attach_gl_context is in libXplugin (check Xplugin.h in the SDK).
> 
> 2 is XP_BadValue, which is returned if cgl_ctx is NULL... so I'd suggest 
> looking into why mesa is calling xp_attach_gl_context with a NULL context.

Thanks, that's helpful.  The context is not NULL, so I need to think of 
other ways it could be "bad".  Here's what I see with 
LIBGL_DIAGNOSTIC=1.  For a successful open,

 > rgl.open()
function is no-op
Debug     ../src/glx/apple/apple_glx_context.c:205 
apple_glx_create_context(4295810496): apple_glx_create_context: ac 
0x100a10a00 ac->context_obj 0x107cdce00
2021-02-23 08:23:00.041711-0500 R[45754:1283995] 
apple_glx_create_context: ac 0x100a10a00 ac->context_obj 0x107cdce00
Debug     ../src/glx/apple/apple_glx_drawable.c:342 
apple_glx_drawable_create(4295810496): apple_glx_drawable_create: new 
drawable 0x107ce0e00
2021-02-23 08:23:00.042235-0500 R[45754:1283995] 
apple_glx_drawable_create: new drawable 0x107ce0e00
Debug     ../src/glx/apple/apple_glx_surface.c:154 
create_surface(4295810496): create_surface: created a surface for 
drawable 0x600066 with uid 621
2021-02-23 08:23:00.044773-0500 R[45754:1283995] create_surface: created 
a surface for drawable 0x600066 with uid 621
Debug     ../src/glx/apple/apple_glx_surface.c:69 
surface_make_current(4295810496): surface_make_current: ac->context_obj 
0x107cdce00 s->surface_id 9
2021-02-23 08:23:00.044839-0500 R[45754:1283995] surface_make_current: 
ac->context_obj 0x107cdce00 s->surface_id 9
Debug     ../src/glx/apple/apple_glx_surface.c:89 
surface_make_current(4295810496): surface_make_current: drawable 0x600066
2021-02-23 08:23:00.045680-0500 R[45754:1283995] surface_make_current: 
drawable 0x600066
  ... (more lines deleted)

After I run quartz(), I see this:

 > rgl.open()
Debug     ../src/glx/apple/apple_glx_context.c:205 
apple_glx_create_context(4295810496): apple_glx_create_context: ac 
0x10262bb00 ac->context_obj 0x1058c4800
2021-02-23 08:23:35.666675-0500 R[45754:1283995] 
apple_glx_create_context: ac 0x10262bb00 ac->context_obj 0x1058c4800
Debug     ../src/glx/apple/apple_glx_drawable.c:342 
apple_glx_drawable_create(4295810496): apple_glx_drawable_create: new 
drawable 0x107648000
2021-02-23 08:23:35.667040-0500 R[45754:1283995] 
apple_glx_drawable_create: new drawable 0x107648000
Debug     ../src/glx/apple/apple_glx_surface.c:154 
create_surface(4295810496): create_surface: created a surface for 
drawable 0x6000c9 with uid 629
2021-02-23 08:23:35.669119-0500 R[45754:1283995] create_surface: created 
a surface for drawable 0x6000c9 with uid 629
Debug     ../src/glx/apple/apple_glx_surface.c:69 
surface_make_current(4295810496): surface_make_current: ac->context_obj 
0x1058c4800 s->surface_id 13
2021-02-23 08:23:35.669195-0500 R[45754:1283995] surface_make_current: 
ac->context_obj 0x1058c4800 s->surface_id 13
error: xp_attach_gl_context returned: 2
Debug     ../src/glx/applegl_glx.c:60 
applegl_bind_context(4295810496): applegl_bind_context: error YES
2021-02-23 08:23:35.669834-0500 R[45754:1283995] applegl_bind_context: 
error YES

and then I get my own messages from the failure of glXMakeCurrent().  As 
far as I can see, everything appears fine until the call to 
xp_attach_gl_context.


Everything looks very similar up to the failure of xp_attach_gl_context. 
  Any idea I why the value returned a few lines earlier from 
apple_glx_create_context() should be a bad value?

Duncan Murdoch




More information about the Xquartz-dev mailing list