summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_bo_legacy.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-01-23 02:47:15 +1000
committerDave Airlie <airlied@redhat.com>2009-01-23 02:47:15 +1000
commit014c52eb6bc2fc0edb69d1ef063eb6c9735b3833 (patch)
tree782001a460cc48c328d2f24fd9f3bfd8a5914a4c /src/mesa/drivers/dri/radeon/radeon_bo_legacy.c
parent4ca76586c23200b66cb4f85afb21ea02853779ea (diff)
radeon: add r100/r200 workarounds for legacy aging
Diffstat (limited to 'src/mesa/drivers/dri/radeon/radeon_bo_legacy.c')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_bo_legacy.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_bo_legacy.c b/src/mesa/drivers/dri/radeon/radeon_bo_legacy.c
index e378b118e0..32b452d636 100644
--- a/src/mesa/drivers/dri/radeon/radeon_bo_legacy.c
+++ b/src/mesa/drivers/dri/radeon/radeon_bo_legacy.c
@@ -163,14 +163,17 @@ static void legacy_get_current_age(struct bo_manager_legacy *boml)
drm_radeon_getparam_t gp;
int r;
- gp.param = RADEON_PARAM_LAST_CLEAR;
- gp.value = (int *)&boml->current_age;
- r = drmCommandWriteRead(boml->base.fd, DRM_RADEON_GETPARAM,
- &gp, sizeof(gp));
- if (r) {
- fprintf(stderr, "%s: drmRadeonGetParam: %d\n", __FUNCTION__, r);
- exit(1);
- }
+ if (IS_R300_CLASS(boml->screen)) {
+ gp.param = RADEON_PARAM_LAST_CLEAR;
+ gp.value = (int *)&boml->current_age;
+ r = drmCommandWriteRead(boml->base.fd, DRM_RADEON_GETPARAM,
+ &gp, sizeof(gp));
+ if (r) {
+ fprintf(stderr, "%s: drmRadeonGetParam: %d\n", __FUNCTION__, r);
+ exit(1);
+ }
+ } else
+ boml->current_age = boml->screen->scratch[3];
}
static int legacy_is_pending(struct radeon_bo *bo)