summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/radeon/drm/radeon_drm_bo.c')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_bo.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
index e61e9fd..9518e53 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
@@ -822,17 +822,12 @@ radeon_winsys_bo_create(struct radeon_winsys *rws,
desc.flags = flags;
/* Assign a buffer manager. */
+ assert(flags < RADEON_NUM_CACHE_MANAGERS);
if (use_reusable_pool) {
- if (domain == RADEON_DOMAIN_VRAM) {
- if (flags & RADEON_FLAG_GTT_WC)
- provider = ws->cman_vram_gtt_wc;
- else
- provider = ws->cman_vram;
- } else if (flags & RADEON_FLAG_GTT_WC) {
- provider = ws->cman_gtt_wc;
- } else {
- provider = ws->cman_gtt;
- }
+ if (domain == RADEON_DOMAIN_VRAM)
+ provider = ws->cman_vram[flags];
+ else
+ provider = ws->cman_gtt[flags];
} else {
provider = ws->kman;
}