Brian Paul wrote:

 > The DRI trunk code has a few problems with thread safety and
 > swapbuffers (all drivers but tdfx, probably).  I've fixed this on
 > the 3.5 branch.  You might try that.

 hmm... I picked the branch on a bad day it seems...

#1  0x81ff980 in ?? ()
#2  0x406ccc7a in _tnl_run_pipeline (ctx=0x814ac00) at t_pipeline.c:155
#3  0x40728db0 in radeonWrapRunPipeline (ctx=0x814ac00) at radeon_tris.c:435
#4  0x406c0f5e in _tnl_DrawArrays (mode=7, start=8, count=4) at t_array_api.c:222
[...]

 my application is calling:

    glDrawArrays(GL_QUADS, i*4, 4);

 at this point.  Looking at t_pipeline.c:

151           if (s->active && running) {
152              if (s->changed_inputs)
153                 changed_inputs |= s->outputs;
154     
155              running = s->run( ctx, s );
156     
157              s->changed_inputs = 0;
158              VB->importable_data &= ~s->outputs;
159           }

 (gdb) print *s
 $7 = {name = 0x0, check_state = 0, run_state = 0, active = 0 '\000', 
   inputs = 0, outputs = 0, changed_inputs = 0, privatePtr = 0x0,
   destroy = 0, check = 0, run = 0}

 But my original problem is solved, I can use two threads with each of
 them rendering to their own window. :-)

-- 
Marcelo

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to