radv: Disable dfsm by default even on Raven.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 15 Sep 2019 13:57:52 +0000 (15:57 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 18 Sep 2019 21:28:51 +0000 (21:28 +0000)
When actually implementing it, Talos on low is still 3% slower.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_device.c

index 0e22e1663aa7523769660c8aab4a35608370b633..6276589d02565dfb837687da4e15212276c6faf0 100644 (file)
@@ -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
index 567fe00ac0f97f3ef64138643bbb09c2b896c93f..af8607c1559318159144964d0c21a805896e094a 100644 (file)
@@ -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;