summaryrefslogtreecommitdiff
path: root/src/radeon_exa.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-07-06 14:45:07 +1000
committerDave Airlie <airlied@redhat.com>2009-07-06 15:11:15 +1000
commitd78d50591851d14543f0935d051a59ef29751bbc (patch)
tree973a85b4d6df847813a50e9dcb4f2fe94e689bc7 /src/radeon_exa.c
parente1200cb89218930d01330ba0114e013438655cce (diff)
radeon: port to new space checking in libdrm interface
This uses a new libdrm interface which shares code with mesa. It also fixes the bo to flush when full instead of never flushing. It survives gtkperf -a here which the driver didn't before now
Diffstat (limited to 'src/radeon_exa.c')
-rw-r--r--src/radeon_exa.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index ca4eda07..e7f1e9ca 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -120,13 +120,11 @@ static __inline__ uint32_t F_TO_DW(float val)
return tmp.l;
}
-static inline void radeon_add_pixmap(struct radeon_cs_space_check *bos, int index, PixmapPtr pPix, int read_domains, int write_domain)
+static inline void radeon_add_pixmap(struct radeon_cs *cs, PixmapPtr pPix, int read_domains, int write_domain)
{
struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(pPix);
- bos[index].bo = driver_priv->bo;
- bos[index].read_domains = read_domains;
- bos[index].write_domain = write_domain;
- bos[index].new_accounted = 0;
+
+ radeon_cs_space_add_persistent_bo(cs, driver_priv->bo, read_domains, write_domain);
}
/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we
@@ -344,7 +342,7 @@ static Bool RADEONPrepareAccess_CS(PixmapPtr pPix, int index)
/* if we have more refs than just the BO then flush */
if (driver_priv->bo->cref > 1)
- radeon_cs_flush_indirect(pScrn);
+ radeon_cs_flush_indirect(pScrn);
radeon_bo_wait(driver_priv->bo);