Michael wrote:
> I've been trying to track down one of the hangs on the radeon at the mo.
> 
> Tuxkart draws, amongst other things, a course map with 2 GL_LINE_LOOPS
> and a quad for each racer.
> 
> If I either (a) remove the function to draw that from tuxkart
> 
> or (b) force tcl_render_line_loop_verts to use the
> tcl_render_line_strip_verts path at the bottom of that function (which
> uses EMIT_PRIM() rather than ALLOC_ELTS et al), it doesn't hang. i.e I
> put "if (0 && (flags & PRIM_END)) {" at line 215 in t_dd_dmatmp2.h
> 
> The only thing that looks odd is that the call to radeonEmitAOS it uses
> in this path is the one that's part of ALLOC_ELTS that always uses 0 as
> an offset, so you see the 4: value below is the same for all 3
> primitives - I wondered if that was it?
> 
> Here's a short extract running it in debug.
> 
> basically it's flush_prims radeon_vtxfmt.c
>       -> tcl_render_line_loop_verts
>               -> emit_contiguous_verts (x2)
>                       ALLOC_ELTS (which does radeonEmitAOS, and AllocEltsOpenEnded)
>                       etc
> 
> The hang does always trigger, sometimes it's a couple of seconds into
> the level, sometimes you can get 1/2-way around the track but I've
> played for significantly longer without a prob, with the kludge above.

Wow, good work...  How did you track this down?  It looks like it would have 
taken ages...

Keith





_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

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

Reply via email to