diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2021-02-27 20:16:21 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-03-01 14:42:41 +0000 |
commit | 3c9452c3aef4560a5ed1da4ebad7cbe3e7f4941e (patch) | |
tree | 016f39cdbd3a1731a1d5e9dd4356f4792c87967b | |
parent | 8a60bde0cf3ff88bd98e21f9b354999b449dd475 (diff) |
radv: Add sam option.
So that people without large BAR can try this out.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9318>
-rw-r--r-- | docs/envvars.rst | 2 | ||||
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 8 | ||||
-rw-r--r-- | src/amd/vulkan/radv_debug.h | 1 | ||||
-rw-r--r-- | src/amd/vulkan/radv_device.c | 1 |
4 files changed, 8 insertions, 4 deletions
diff --git a/docs/envvars.rst b/docs/envvars.rst index ef0aac47862..09621c2d3a9 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -636,6 +636,8 @@ RADV driver environment variables disable optimizations that get enabled when all VRAM is CPU visible. ``pswave32`` enable wave32 for pixel shaders (GFX10+) + ``sam`` + enable optimizations to move more driver internal objects to VRAM. ``tccompatcmask`` enable TC-compat cmask for MSAA images diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 4193afb5d80..511bbeeb2c1 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -486,10 +486,10 @@ radv_reset_cmd_buffer(struct radv_cmd_buffer *cmd_buffer) enum radeon_bo_domain radv_cmdbuffer_domain(const struct radeon_info *info, uint32_t perftest) { - return (info->all_vram_visible && - info->has_dedicated_vram && - !(perftest & RADV_PERFTEST_NO_SAM)) ? - RADEON_DOMAIN_VRAM : RADEON_DOMAIN_GTT; + bool use_sam = (info->all_vram_visible && info->has_dedicated_vram && + !(perftest & RADV_PERFTEST_NO_SAM)) || + (perftest & RADV_PERFTEST_SAM); + return use_sam ? RADEON_DOMAIN_VRAM : RADEON_DOMAIN_GTT; } static bool diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index 8d828aaa28a..735064ad1ff 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -72,6 +72,7 @@ enum { RADV_PERFTEST_GE_WAVE_32 = 1u << 6, RADV_PERFTEST_DFSM = 1u << 7, RADV_PERFTEST_NO_SAM = 1u << 8, + RADV_PERFTEST_SAM = 1u << 9, }; bool diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 5d4031aaab7..ce492a0d309 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -816,6 +816,7 @@ static const struct debug_control radv_perftest_options[] = { {"gewave32", RADV_PERFTEST_GE_WAVE_32}, {"dfsm", RADV_PERFTEST_DFSM}, {"nosam", RADV_PERFTEST_NO_SAM}, + {"sam", RADV_PERFTEST_SAM}, {NULL, 0} }; |