diff options
author | Eric Anholt <anholt@freebsd.org> | 2003-07-26 03:25:40 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2003-07-26 03:25:40 +0000 |
commit | aaf2105be967ad7f99c643b4be09cf6d3d063b65 (patch) | |
tree | 31226a19a8db37d2fd0e65c8be1e7df86a49c35e /shared/r128_cce.c | |
parent | 983db58a26c37237acf54af60f28a4243467079a (diff) |
Add Rage 128 pageflipping support, defaults to off. DRM version bump to
2.5.0. It still has some issues, including a flicker in the fps meter
in tuxracer and I've seen garbage left behind after moving/closing
windows. However, it's usable. Add the Option "EnablePageFlip" "YES" to
use it.
Diffstat (limited to 'shared/r128_cce.c')
-rw-r--r-- | shared/r128_cce.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/shared/r128_cce.c b/shared/r128_cce.c index 1549e683c..3cc0ff549 100644 --- a/shared/r128_cce.c +++ b/shared/r128_cce.c @@ -782,59 +782,8 @@ int r128_engine_reset( DRM_IOCTL_ARGS ) return r128_do_engine_reset( dev ); } - -/* ================================================================ - * Fullscreen mode - */ - -static int r128_do_init_pageflip( drm_device_t *dev ) -{ - drm_r128_private_t *dev_priv = dev->dev_private; - DRM_DEBUG( "\n" ); - - dev_priv->crtc_offset = R128_READ( R128_CRTC_OFFSET ); - dev_priv->crtc_offset_cntl = R128_READ( R128_CRTC_OFFSET_CNTL ); - - R128_WRITE( R128_CRTC_OFFSET, dev_priv->front_offset ); - R128_WRITE( R128_CRTC_OFFSET_CNTL, - dev_priv->crtc_offset_cntl | R128_CRTC_OFFSET_FLIP_CNTL ); - - dev_priv->page_flipping = 1; - dev_priv->current_page = 0; - - return 0; -} - -int r128_do_cleanup_pageflip( drm_device_t *dev ) -{ - drm_r128_private_t *dev_priv = dev->dev_private; - DRM_DEBUG( "\n" ); - - R128_WRITE( R128_CRTC_OFFSET, dev_priv->crtc_offset ); - R128_WRITE( R128_CRTC_OFFSET_CNTL, dev_priv->crtc_offset_cntl ); - - dev_priv->page_flipping = 0; - dev_priv->current_page = 0; - - return 0; -} - int r128_fullscreen( DRM_IOCTL_ARGS ) { - DRM_DEVICE; - drm_r128_fullscreen_t fs; - - LOCK_TEST_WITH_RETURN( dev, filp ); - - DRM_COPY_FROM_USER_IOCTL( fs, (drm_r128_fullscreen_t *)data, sizeof(fs) ); - - switch ( fs.func ) { - case R128_INIT_FULLSCREEN: - return r128_do_init_pageflip( dev ); - case R128_CLEANUP_FULLSCREEN: - return r128_do_cleanup_pageflip( dev ); - } - return DRM_ERR(EINVAL); } |