Mesa (master): radv: Disable dfsm by default even on Raven.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Sep 18 22:29:13 UTC 2019


Module: Mesa
Branch: master
Commit: 0fa2740059a05e47854240ff8a6782d879389525
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fa2740059a05e47854240ff8a6782d879389525

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sun Sep 15 15:57:52 2019 +0200

radv: Disable dfsm by default even on Raven.

When actually implementing it, Talos on low is still 3% slower.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

---

 src/amd/vulkan/radv_debug.h  | 1 +
 src/amd/vulkan/radv_device.c | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h
index 0e22e1663aa..6276589d025 100644
--- a/src/amd/vulkan/radv_debug.h
+++ b/src/amd/vulkan/radv_debug.h
@@ -69,6 +69,7 @@ enum {
 	RADV_PERFTEST_CS_WAVE_32     = 0x100,
 	RADV_PERFTEST_PS_WAVE_32     = 0x200,
 	RADV_PERFTEST_GE_WAVE_32     = 0x400,
+	RADV_PERFTEST_DFSM           = 0x800,
 };
 
 bool
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 567fe00ac0f..af8607c1559 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -499,6 +499,7 @@ static const struct debug_control radv_perftest_options[] = {
 	{"cswave32", RADV_PERFTEST_CS_WAVE_32},
 	{"pswave32", RADV_PERFTEST_PS_WAVE_32},
 	{"gewave32", RADV_PERFTEST_GE_WAVE_32},
+	{"dfsm", RADV_PERFTEST_DFSM},
 	{NULL, 0}
 };
 
@@ -1960,10 +1961,9 @@ VkResult radv_CreateDevice(
 	device->pbb_allowed = device->physical_device->rad_info.chip_class >= GFX9 &&
 			      !(device->instance->debug_flags & RADV_DEBUG_NOBINNING);
 
+	/* Disable DFSM by default. As of 2019-09-15 Talos on Low is still 3% slower on Raven. */
 	device->dfsm_allowed = device->pbb_allowed &&
-	                       (device->physical_device->rad_info.family == CHIP_RAVEN ||
-	                        device->physical_device->rad_info.family == CHIP_RAVEN2 ||
-	                        device->physical_device->rad_info.family == CHIP_RENOIR);
+	                       (device->instance->perftest_flags & RADV_PERFTEST_DFSM);
 
 #ifdef ANDROID
 	device->always_use_syncobj = device->physical_device->rad_info.has_syncobj_wait_for_submit;




More information about the mesa-commit mailing list