From 0737c1e3a603e13ce9764ff5432e332b233c4b9d Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 24 Apr 2018 17:06:19 +0200 Subject: [PATCH] radv: enable out-of-order rasterization by default As the implementation is conservative, we can now enable it by default. It can be disabled with RADV_DEBUG=nooutoforder. Don't expect much more than 1% of improvements, but the gain seems consistent. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_debug.h | 1 + src/amd/vulkan/radv_device.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index 03f218f..9dda9b6 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -44,6 +44,7 @@ enum { RADV_DEBUG_NO_SISCHED = 0x4000, RADV_DEBUG_PREOPTIR = 0x8000, RADV_DEBUG_NO_DYNAMIC_BOUNDS = 0x10000, + RADV_DEBUG_NO_OUT_OF_ORDER = 0x20000, }; enum { diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 629957a..ef32c37 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -315,7 +315,7 @@ radv_physical_device_init(struct radv_physical_device *device, device->has_out_of_order_rast = device->rad_info.chip_class >= VI && device->rad_info.max_se >= 2; device->out_of_order_rast_allowed = device->has_out_of_order_rast && - (device->instance->perftest_flags & RADV_PERFTEST_OUT_OF_ORDER); + !(device->instance->debug_flags & RADV_DEBUG_NO_OUT_OF_ORDER); device->dcc_msaa_allowed = device->rad_info.chip_class == VI && (device->instance->perftest_flags & RADV_PERFTEST_DCC_MSAA); @@ -390,6 +390,7 @@ static const struct debug_control radv_debug_options[] = { {"nosisched", RADV_DEBUG_NO_SISCHED}, {"preoptir", RADV_DEBUG_PREOPTIR}, {"nodynamicbounds", RADV_DEBUG_NO_DYNAMIC_BOUNDS}, + {"nooutoforder", RADV_DEBUG_NO_OUT_OF_ORDER}, {NULL, 0} }; @@ -405,7 +406,6 @@ static const struct debug_control radv_perftest_options[] = { {"sisched", RADV_PERFTEST_SISCHED}, {"localbos", RADV_PERFTEST_LOCAL_BOS}, {"binning", RADV_PERFTEST_BINNING}, - {"outoforderrast", RADV_PERFTEST_OUT_OF_ORDER}, {"dccmsaa", RADV_PERFTEST_DCC_MSAA}, {NULL, 0} }; -- 2.7.4