Revision: 271 http://trac.macosforge.org/projects/xquartz/changeset/271 Author: gstaplin@apple.com Date: 2009-02-27 00:33:31 -0800 (Fri, 27 Feb 2009) Log Message: ----------- Add more diagnostics to try to figure out what is causing Togl/Chimera problems, beyond the CGL display list incompatibilities. Modified Paths: -------------- AppleSGLX/trunk/apple_glx_context.c AppleSGLX/trunk/apple_glx_surface.c Modified: AppleSGLX/trunk/apple_glx_context.c =================================================================== --- AppleSGLX/trunk/apple_glx_context.c 2009-02-27 08:00:42 UTC (rev 270) +++ AppleSGLX/trunk/apple_glx_context.c 2009-02-27 08:33:31 UTC (rev 271) @@ -180,10 +180,13 @@ ac->next = context_list; context_list = ac; + *ptr = ac; + + apple_glx_diagnostic("%s: ac %p ac->context_obj %p\n", + __func__, (void *)ac, (void *)ac->context_obj); + unlock_context_list(); - *ptr = ac; - return false; } @@ -193,7 +196,13 @@ if(NULL == ac) return; + apple_glx_diagnostic("%s: ac %p ac->context_obj %p\n", + __func__, (void *)ac, (void *)ac->context_obj); + if(apple_cgl.get_current_context() == ac->context_obj) { + apple_glx_diagnostic("%s: context ac->context_obj %p " + "is still current!\n", __func__, + (void *)ac->context_obj); if(apple_cgl.set_current_context(NULL)) { abort(); } @@ -258,6 +267,15 @@ CGLError cglerr; bool same_drawable = false; + apple_glx_diagnostic("%s: oldac %p ac %p drawable 0x%lx\n", + __func__, (void *)oldac, (void *)ac, + drawable); + + apple_glx_diagnostic("%s: oldac->context_obj %p ac->context_obj %p\n", + __func__, + (void *)(oldac ? oldac->context_obj : NULL), + (void *)(ac ? ac->context_obj : NULL)); + assert(NULL != dpy); /* Reset the is_current state of the old context, if non-NULL. */ @@ -341,8 +359,10 @@ * context is already current. */ - if(same_drawable && ac->is_current) + if(same_drawable && ac->is_current) { + apple_glx_diagnostic("%s: same_drawable and ac->is_current\n"); return false; + } cglerr = apple_cgl.set_current_context(ac->context_obj); Modified: AppleSGLX/trunk/apple_glx_surface.c =================================================================== --- AppleSGLX/trunk/apple_glx_surface.c 2009-02-27 08:00:42 UTC (rev 270) +++ AppleSGLX/trunk/apple_glx_surface.c 2009-02-27 08:33:31 UTC (rev 271) @@ -62,6 +62,9 @@ assert(APPLE_GLX_DRAWABLE_SURFACE == d->type); + apple_glx_diagnostic("%s: ac->context_obj %p s->surface_id %u\n", + __func__, (void *)ac->context_obj, s->surface_id); + error = xp_attach_gl_context(ac->context_obj, s->surface_id); if(error) {