mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-16 05:28:14 +02:00
radv: Improve spilling on discrete GPUs.
The linked bug gets better performance and I personally verified
better spilling performance on HZD so let us make this step for now.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3183
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3698
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6833>
(cherry picked from commit 862b6a9a97)
This commit is contained in:
parent
0ea5fe87ae
commit
a1248b811e
2 changed files with 11 additions and 3 deletions
|
|
@ -1975,7 +1975,7 @@
|
|||
"description": "radv: Improve spilling on discrete GPUs.",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -445,9 +445,17 @@ radv_amdgpu_winsys_bo_create(struct radeon_winsys *_ws,
|
|||
* GTT(RAM) usage, which is shared with the OS, allow VRAM
|
||||
* placements too. The idea is not to use VRAM usefully, but
|
||||
* to use it so that it's not unused and wasted.
|
||||
*
|
||||
* Furthermore, even on discrete GPUs this is beneficial. If
|
||||
* both GTT and VRAM are set then AMDGPU still prefers VRAM
|
||||
* for the initial placement, but it makes the buffers
|
||||
* spillable. Otherwise AMDGPU tries to place the buffers in
|
||||
* VRAM really hard to the extent that we are getting a lot
|
||||
* of unnecessary movement. This helps significantly when
|
||||
* e.g. Horizon Zero Dawn allocates more memory than we have
|
||||
* VRAM.
|
||||
*/
|
||||
if (!ws->info.has_dedicated_vram)
|
||||
request.preferred_heap |= AMDGPU_GEM_DOMAIN_GTT;
|
||||
request.preferred_heap |= AMDGPU_GEM_DOMAIN_GTT;
|
||||
}
|
||||
|
||||
if (initial_domain & RADEON_DOMAIN_GTT)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue