summaryrefslogtreecommitdiff
path: root/shared/radeon_cp.c
diff options
context:
space:
mode:
authorRoland Scheidegger <rscheidegger_lists@hispeed.ch>2004-12-08 16:43:00 +0000
committerRoland Scheidegger <rscheidegger_lists@hispeed.ch>2004-12-08 16:43:00 +0000
commitc4a87c6883ede7bbf486743efe3e9325d96f8e54 (patch)
treeb5006f47de9c3acf0db8e5dff7e2c772e871ab79 /shared/radeon_cp.c
parent98d01f9542d7f70aa10d68c0e41e631b5f156770 (diff)
(Stephane Marchesin, me) add hyperz support to radeon drm. Only fast z
clear and z buffer compression are working correctly, hierarchical-z is not.
Diffstat (limited to 'shared/radeon_cp.c')
-rw-r--r--shared/radeon_cp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/shared/radeon_cp.c b/shared/radeon_cp.c
index 75a7bd52..5d13f479 100644
--- a/shared/radeon_cp.c
+++ b/shared/radeon_cp.c
@@ -2017,6 +2017,18 @@ int radeon_preinit( struct drm_device *dev, unsigned long flags )
dev->dev_private = (void *)dev_priv;
dev_priv->flags = flags;
+ switch (flags & CHIP_FAMILY_MASK) {
+ case CHIP_R100:
+ case CHIP_RV200:
+ case CHIP_R200:
+ case CHIP_R300:
+ dev_priv->flags |= CHIP_HAS_HIERZ;
+ break;
+ default:
+ /* all other chips have no hierarchical z buffer */
+ break;
+ }
+
/* registers */
if( (ret = DRM(initmap)( dev, pci_resource_start( dev->pdev, 2 ),
pci_resource_len( dev->pdev, 2 ), _DRM_REGISTERS, 0 )))