radv: enable primitive binning by default
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 15 Nov 2018 08:58:52 +0000 (09:58 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 16 Nov 2018 16:51:15 +0000 (17:51 +0100)
After doing a bunch of benchmarks, primitive binning helps
some games like The Talos Principle (+5%) or Serious Sam 2017
(+3%). For other titles, either it doesn't change anything or
it hurts very few (less than 1%).

This only affects GFX9.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_device.c

index 397d5679610eb58876f0cfaa1a47693e3d1ff160..01712bd22ceb49e160803afa2e76adabfedfc482 100644 (file)
@@ -57,9 +57,8 @@ enum {
        RADV_PERFTEST_NO_BATCHCHAIN  =   0x1,
        RADV_PERFTEST_SISCHED        =   0x2,
        RADV_PERFTEST_LOCAL_BOS      =   0x4,
-       RADV_PERFTEST_BINNING     =   0x8,
-       RADV_PERFTEST_OUT_OF_ORDER   =  0x10,
-       RADV_PERFTEST_DCC_MSAA       =  0x20,
+       RADV_PERFTEST_OUT_OF_ORDER   =   0x8,
+       RADV_PERFTEST_DCC_MSAA       =  0x10,
 };
 
 bool
index 33ef6867fd05b053ce83f8c2be280e36e69f3cd8..70084a2b6056d1aad3f03d18187ebb5d67e7ca1d 100644 (file)
@@ -466,7 +466,6 @@ static const struct debug_control radv_perftest_options[] = {
        {"nobatchchain", RADV_PERFTEST_NO_BATCHCHAIN},
        {"sisched", RADV_PERFTEST_SISCHED},
        {"localbos", RADV_PERFTEST_LOCAL_BOS},
-       {"binning", RADV_PERFTEST_BINNING},
        {"dccmsaa", RADV_PERFTEST_DCC_MSAA},
        {NULL, 0}
 };
@@ -1633,9 +1632,7 @@ VkResult radv_CreateDevice(
        }
 
        device->pbb_allowed = device->physical_device->rad_info.chip_class >= GFX9 &&
-                       ((device->instance->perftest_flags & RADV_PERFTEST_BINNING) ||
-                        device->physical_device->rad_info.family == CHIP_RAVEN ||
-                        device->physical_device->rad_info.family == CHIP_RAVEN2);
+                             !(device->instance->debug_flags & RADV_DEBUG_NOBINNING);
 
        /* Disabled and not implemented for now. */
        device->dfsm_allowed = device->pbb_allowed &&