diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-06-02 06:25:02 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-06-02 06:26:15 +0200 |
commit | bb45a15168e6c6678776fea5d8d0085454089260 (patch) | |
tree | 99f05d1a7b7829e8f57e04945e42c8c453c04a8e /src/gallium/winsys/radeon/drm/radeon_drm_buffer.c | |
parent | 19498be935328e284c7f0e456fc04cca8d465d4c (diff) |
r300g: use r300_buffer_domain everywhere
Diffstat (limited to 'src/gallium/winsys/radeon/drm/radeon_drm_buffer.c')
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_drm_buffer.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c b/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c index efe82026b4..ee1b9ede25 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_buffer.c @@ -339,27 +339,45 @@ void radeon_drm_bufmgr_set_tiling(struct pb_buffer *_buf, } } +static uint32_t gem_domain(enum r300_buffer_domain dom) +{ + uint32_t res = 0; + + if (dom & R300_DOMAIN_GTT) + res |= RADEON_GEM_DOMAIN_GTT; + if (dom & R300_DOMAIN_VRAM) + res |= RADEON_GEM_DOMAIN_VRAM; + return res; +} + boolean radeon_drm_bufmgr_add_buffer(struct pb_buffer *_buf, - uint32_t rd, uint32_t wd) + enum r300_buffer_domain rd, + enum r300_buffer_domain wd) { struct radeon_drm_buffer *buf = get_drm_buffer(_buf); + uint32_t gem_rd = gem_domain(rd); + uint32_t gem_wd = gem_domain(wd); + radeon_cs_space_add_persistent_bo(buf->mgr->rws->cs, buf->bo, - rd, wd); + gem_rd, gem_wd); return TRUE; } void radeon_drm_bufmgr_write_reloc(struct pb_buffer *_buf, - uint32_t rd, uint32_t wd, + enum r300_buffer_domain rd, + enum r300_buffer_domain wd, uint32_t flags) { struct radeon_drm_buffer *buf = get_drm_buffer(_buf); int retval; + uint32_t gem_rd = gem_domain(rd); + uint32_t gem_wd = gem_domain(wd); retval = radeon_cs_write_reloc(buf->mgr->rws->cs, - buf->bo, rd, wd, flags); + buf->bo, gem_rd, gem_wd, flags); if (retval) { debug_printf("radeon: Relocation of %p (%d, %d, %d) failed!\n", - buf, rd, wd, flags); + buf, gem_rd, gem_wd, flags); } } |