From aaf2105be967ad7f99c643b4be09cf6d3d063b65 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 26 Jul 2003 03:25:40 +0000 Subject: 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. --- shared-core/r128_cce.c | 51 -------------------------------------------------- 1 file changed, 51 deletions(-) (limited to 'shared-core/r128_cce.c') diff --git a/shared-core/r128_cce.c b/shared-core/r128_cce.c index 1549e683..3cc0ff54 100644 --- a/shared-core/r128_cce.c +++ b/shared-core/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); } -- cgit v1.2.3