[Mesa-dev] [PATCH 2/2] radv: enable primitive binning by default

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Nov 15 09:12:58 UTC 2018


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 at gmail.com>
---
 src/amd/vulkan/radv_debug.h  | 5 ++---
 src/amd/vulkan/radv_device.c | 3 +--
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h
index 397d567961..01712bd22c 100644
--- a/src/amd/vulkan/radv_debug.h
+++ b/src/amd/vulkan/radv_debug.h
@@ -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
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index b2078975a8..617886b8d8 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -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}
 };
@@ -1635,7 +1634,7 @@ VkResult radv_CreateDevice(
 	}
 
 	device->pbb_allowed = device->physical_device->rad_info.chip_class >= GFX9 &&
-			((device->instance->perftest_flags & RADV_PERFTEST_BINNING) ||
+			(!(device->instance->debug_flags & RADV_DEBUG_NOBINNING) ||
 			 device->physical_device->rad_info.family == CHIP_RAVEN ||
 			 device->physical_device->rad_info.family == CHIP_RAVEN2);
 
-- 
2.19.1



More information about the mesa-dev mailing list