From: Bas Nieuwenhuizen Date: Sat, 27 Feb 2021 19:16:21 +0000 (+0100) Subject: radv: Add sam option. X-Git-Tag: upstream/21.2.3~7122 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3c9452c3aef4560a5ed1da4ebad7cbe3e7f4941e;p=platform%2Fupstream%2Fmesa.git radv: Add sam option. So that people without large BAR can try this out. Reviewed-by: Samuel Pitoiset Part-of: --- diff --git a/docs/envvars.rst b/docs/envvars.rst index ef0aac4..09621c2 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 4193afb..511bbee 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 8d828aa..735064a 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 5d4031a..ce492a0 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} };