Something in the recent statetracker and/or dri work
Here is some gdb,
I noticed this comment also:
/* DRI co-state tracker currently overrides flush_frontbuffer.
* When this is fixed, will need to pass the drawable in the
* fourth parameter here so that when Mesa calls
* flush_frontbuffer directly (in front-buffer rendering), it
* will have access to the drawable argument:
*/
gdb) r
Starting program: /home/airlied/mesa/progs/trivial/clear
[Thread debugging using libthread_db enabled]
GL_RENDERER = Gallium 0.4 on RV530
GL_VERSION = 2.1 Mesa 7.9-devel
GL_VENDOR = X.Org R300 Project
Program received signal SIGSEGV, Segmentation fault.
dri_flush_frontbuffer (screen=0x805dda8, surf=0x80e9c50, context_private=0x0)
at dri_drawable.c:313
313 __DRIdrawable *dri_drawable = ctx->dPriv;
Missing separate debuginfos, use: debuginfo-install
expat-2.0.1-8.fc12.i686 libICE-1.0.6-1.fc12.i686
libSM-1.1.0-7.fc12.i686 libX11-1.3-1.fc12.i686
libXdamage-1.1.2-1.fc12.i686 libXext-1.1-2.fc12.i686
libXfixes-4.0.4-1.fc12.i686 libXi-1.3-2.fc12.i686
libXmu-1.0.5-1.fc12.i686 libXt-1.0.7-1.fc12.i686
libXxf86vm-1.1.0-1.fc12.i686 libgcc-4.4.3-4.fc12.i686
libstdc++-4.4.3-4.fc12.i686 libuuid-2.16.2-5.fc12.i686
libxcb-1.5-1.fc12.i686
(gdb) print ctx
$1 = (struct dri_context *) 0x0
(gdb) bt
#0 dri_flush_frontbuffer (screen=0x805dda8, surf=0x80e9c50,
context_private=0x0) at dri_drawable.c:313
#1 0xb7cb2029 in display_front_buffer (st=<value optimized out>)
at state_tracker/st_cb_flush.c:81
#2 st_glFlush (st=<value optimized out>) at state_tracker/st_cb_flush.c:140
#3 0xb7cd4b42 in _mesa_flush (ctx=0x8083e30) at main/context.c:1501
#4 0xb7cd4cdd in _mesa_Flush () at main/context.c:1533
#5 0x08048c03 in Draw () at clear.c:74
#6 0xb7fd71be in processWindowWorkList (window=<value optimized out>)
at glut_event.c:1307
#7 0xb7fd81b1 in __glutProcessWindowWorkLists () at glut_event.c:1358
#8 glutMainLoop () at glut_event.c:1379
#9 0x08048bc5 in main (argc=1, argv=0xbffff2d4) at clear.c:126
(gdb) break st_make_current
Breakpoint 1 at 0xb7cb2f2d: file state_tracker/st_context.c, line 277.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/airlied/mesa/progs/trivial/clear
[Thread debugging using libthread_db enabled]
Breakpoint 1, st_make_current (st=0x80c0188, draw=0x80e95c8, read=0x80e95c8,
winsys_drawable_handle=0x0) at state_tracker/st_context.c:277
277 {
(gdb) bt
#0 st_make_current (st=0x80c0188, draw=0x80e95c8, read=0x80e95c8,
winsys_drawable_handle=0x0) at state_tracker/st_context.c:277
#1 0xb7c8b719 in dri_make_current (cPriv=0x8061238, driDrawPriv=0x80e78c8,
driReadPriv=0x80e78c8) at dri_context.c:170
#2 0xb7c86c36 in driBindContext (pcp=0x8061238, pdp=0x80e78c8, prp=0x80e78c8)
at ../common/dri_util.c:187
#3 0xb7f4157c in dri2BindContext (context=0x8055600, draw=0x80e7828,
read=0x80e7828) at dri2_glx.c:112
#4 0xb7f1d1da in MakeContextCurrent (dpy=0x804a048, draw=71303169,
read=71303169, gc=0x8063010) at glxcurrent.c:376
#5 0xb7f1d573 in glXMakeCurrent (dpy=0x804a048, draw=71303169, gc=0x8063010)
at glxcurrent.c:502
#6 0xb7fe1db9 in __glutSetWindow (window=0x8055028) at glut_win.c:157
#7 0xb7fe26a6 in __glutCreateWindow (parent=0x0, x=0, y=0, width=256,
height=256, gameMode=0) at glut_win.c:698
#8 0xb7fe291e in glutCreateWindow (
title=0xbffff46f "/home/airlied/mesa/progs/trivial/clear")
at glut_win.c:731
#9 0x08048aee in main (argc=1, argv=0xbffff2d4) at clear.c:117
(gdb) up
#1 0xb7c8b719 in dri_make_current (cPriv=0x8061238, driDrawPriv=0x80e78c8,
driReadPriv=0x80e78c8) at dri_context.c:170
170 st_make_current(ctx->st, draw->stfb, read->stfb, NULL);
Dave.
|