On Tue, 2002-07-02 at 00:32, Tim Smith wrote: > Here it is. It'll need cleaning up if it works, but it'll do as a test.
Took me quite some fiddling to get it working here, but that's mostly due to the non-standard and not-quite-finished agpgart implementation for Macs. Nothing to worry about, works great now (just played a couple minutes of bzflag with it :). Comments: > + fprintf( stderr, "%s( %d )\n", __FUNCTION__, clear ); s/clear/frame/ - typo, I presume. > @@ -1189,7 +1188,11 @@ drm_buf_t *radeon_freelist_get( drm_devi > start = dev_priv->last_buf; > > for ( t = 0 ; t < dev_priv->usec_timeout ; t++ ) { > + /* Testing scratch register writeback > u32 done_age = RADEON_READ( RADEON_LAST_DISPATCH_REG ); > + */ > + u32 done_age = dev_priv->scratch[1]; > + DRM_DEBUG("done_age = %d\n",done_age); > for ( i = start ; i < dma->buf_count ; i++ ) { > buf = dma->buflist[i]; > buf_priv = buf->dev_private; [...] > Index: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/radeon_state.c > =================================================================== > RCS file: >/cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/radeon_state.c,v > retrieving revision 1.17 > diff -u -3 -p -r1.17 radeon_state.c > --- xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/radeon_state.c 27 Jun >2002 17:56:39 -0000 1.17 > +++ xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/radeon_state.c 1 Jul >2002 21:36:58 -0000 > @@ -1878,6 +1878,15 @@ int radeon_cp_getparam( struct inode *in > case RADEON_PARAM_AGP_BUFFER_OFFSET: > value = dev_priv->agp_buffers_offset; > break; > + case RADEON_PARAM_LAST_FRAME: > + value = dev_priv->scratch[0]; > + break; > + case RADEON_PARAM_LAST_DISPATCH: > + value = dev_priv->scratch[1]; > + break; > + case RADEON_PARAM_LAST_CLEAR: > + value = dev_priv->scratch[2]; > + break; > default: > return -EINVAL; > } The scratch register values need to be read with DRM_READ32(), which accounts both for endianness and memory barriers. So it would be u32 done_age = DRM_READ32(&dev_priv->scratch[1]); etc. Nice work! -- Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer XFree86 and DRI project member / CS student, Free Software enthusiast ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek We have stuff for geeks like you. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel