diff options
author | Marek Olšák <[email protected]> | 2017-01-23 23:41:47 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-01-30 13:27:14 +0100 |
commit | cecc0687744428c62139dab2aa28d944285dfd91 (patch) | |
tree | 06f7e15565b1577772eef2d54386c1b8775267db | |
parent | 0d0f357de627409ab167df9dd748bf312c49d916 (diff) |
gallium/radeon: allow VRAM-only placements again on APUs & recent amdgpu
Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeon/r600_buffer_common.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c index c6f4d0d86ec..da6f0206d78 100644 --- a/src/gallium/drivers/radeon/r600_buffer_common.c +++ b/src/gallium/drivers/radeon/r600_buffer_common.c @@ -170,8 +170,12 @@ void r600_init_resource_fields(struct r600_common_screen *rscreen, /* If VRAM is just stolen system memory, allow both VRAM and * GTT, whichever has free space. If a buffer is evicted from * VRAM to GTT, it will stay there. + * + * DRM 3.6.0 has good BO move throttling, so we can allow VRAM-only + * placements even with a low amount of stolen VRAM. */ if (!rscreen->info.has_dedicated_vram && + (rscreen->info.drm_major < 3 || rscreen->info.drm_minor < 6) && res->domains == RADEON_DOMAIN_VRAM) res->domains = RADEON_DOMAIN_VRAM_GTT; |