From: Marek Olšák Date: Mon, 23 Jan 2017 22:41:47 +0000 (+0100) Subject: gallium/radeon: allow VRAM-only placements again on APUs & recent amdgpu X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cecc0687744428c62139dab2aa28d944285dfd91;p=mesa.git gallium/radeon: allow VRAM-only placements again on APUs & recent amdgpu Reviewed-by: Nicolai Hähnle --- 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;