Using the following code in lib/GL/mesa/src/drv/radeon_ioctl.c

static int radeonWaitForFrameCompletion( radeonContextPtr rmesa )
{
   unsigned char *RADEONMMIO = rmesa->radeonScreen->mmio.map;
   RADEONSAREAPrivPtr sarea = rmesa->sarea;
   CARD32 max_outstanding;
   int wait = 0;

   max_outstanding = sarea->last_frame - RADEON_MAX_OUTSTANDING;
   if ( INREG( RADEON_LAST_FRAME_REG ) >= max_outstanding ) return 0;
     fprintf(stderr, "Was Not Idle!\n");

   while ( INREG( RADEON_LAST_FRAME_REG ) >= max_outstanding ) {
      wait++;
      fprintf(stderr, "Incroment %d!\n", wait);

      if ( wait == 0xffff ) break;
   }

   fprintf(stderr, "Return %d\n", wait);
   return 1;
}

During a game of quake3 I get...

Incroment 260!
Incroment 261!
Incroment 262!
Incroment 2Was Not Idle!
Return 0
Was Not Idle!
Return 0

I did remove a pause that prevented hammering the bus. I'm going to do more
testing on this with this pause back in.

This is a list of things I changed:
TCL-0-0-branch
-O3 -march=i686 -malign-functions=4 /* Taken from kernel makefile for Athlon
CPUs */
In the above code...
     In the original equation:
          Multiply both sides by -1 (changing the < as in algebra class)
          Adding sarea->last_frame to both sides.
          Moving the Right side (A constant now) ought of the loop.
     Added if ( wait == 0xffff ) break;
     I'll put the pause back in and see what happens :/
I have a Athlon 1700, AMD 761, 256MB DDR
ATI Radeon 7500 QW rev 0
Mode "1024x768": 94.5 MHz, 68.7 kHz, 85.0 Hz
Quake3 UrbanTerror 32bpp 32bpt Triliner... (I.E. Everything I can turn is set
to  best quality)
The problem is less noticeable in vanilla quake3.

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com

_______________________________________________________________
Hundreds of nodes, one monster rendering program.
Now that's a super model! Visit http://clustering.foundries.sf.net/

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

Reply via email to