radv: enable out-of-order rasterization by default
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 24 Apr 2018 15:06:19 +0000 (17:06 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 2 May 2018 08:33:24 +0000 (10:33 +0200)
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 <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_device.c

index 03f218fcda8364f1854960031336b826169ca69b..9dda9b6b0c2403b28e6b5886b96bf16fc886e5f6 100644 (file)
@@ -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 {
index 629957afec2376fffd1e4fa6b39d892b5f9954d3..ef32c37464a5d1572a80121dd518ff1a0f8e8044 100644 (file)
@@ -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}
 };