radeonsi: always put persistent buffers into GTT on radeon

This improves performance for certain games.

Cc: 18.1 <mesa-stable@lists.freedesktop.org>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
(cherry picked from commit 9322974ec7)
This commit is contained in:
Marek Olšák 2018-06-08 21:48:23 -04:00 committed by Dylan Baker
parent e979b79cec
commit decb031bd8

View file

@ -150,8 +150,12 @@ void si_init_resource_fields(struct si_screen *sscreen,
* Write-combined CPU mappings are fine, the kernel
* ensures all CPU writes finish before the GPU
* executes a command stream.
*
* radeon doesn't have good BO move throttling, so put all
* persistent buffers into GTT to prevent VRAM CPU page faults.
*/
if (!sscreen->info.kernel_flushes_hdp_before_ib)
if (!sscreen->info.kernel_flushes_hdp_before_ib ||
sscreen->info.drm_major == 2)
res->domains = RADEON_DOMAIN_GTT;
}