radeonsi: add enable_sisched driconf option
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 28 Jun 2017 15:37:53 +0000 (17:37 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 2 Aug 2017 07:50:59 +0000 (09:50 +0200)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/driinfo_radeonsi.h
src/gallium/drivers/radeonsi/si_pipe.c
src/util/xmlpool/t_options.h

index a358f0263e4671ef8685f27bb954c57a682208a3..af6284a7787a08d59c2a37f14baeefbf3c5e31aa 100644 (file)
@@ -1 +1,4 @@
 // DriConf options specific to radeonsi
+DRI_CONF_SECTION_PERFORMANCE
+    DRI_CONF_RADEONSI_ENABLE_SISCHED("false")
+DRI_CONF_SECTION_END
index d276b885c112591d91d508f2b63a6e670725924f..ae87d7feeca006251145d9dd847df717628ad221 100644 (file)
@@ -31,6 +31,7 @@
 #include "util/u_memory.h"
 #include "util/u_suballoc.h"
 #include "util/u_tests.h"
+#include "util/xmlconfig.h"
 #include "vl/vl_decoder.h"
 #include "../ddebug/dd_util.h"
 
@@ -992,6 +993,9 @@ struct pipe_screen *radeonsi_screen_create(struct radeon_winsys *ws,
                return NULL;
        }
 
+       if (driQueryOptionb(config->options, "radeonsi_enable_sisched"))
+               sscreen->b.debug_flags |= DBG_SI_SCHED;
+
        /* Only enable as many threads as we have target machines, but at most
         * the number of CPUs - 1 if there is more than one.
         */
index e308839aa78e0ff6fc72eae48b587360e8f6649a..d3f31fc94b12f9f6ae677e382970f839e442cc57 100644 (file)
@@ -429,3 +429,12 @@ DRI_CONF_OPT_END
 DRI_CONF_OPT_BEGIN(csmt_force, int, def) \
         DRI_CONF_DESC(en,gettext("If set to 1, force gallium nine CSMT. If set to 0, disable it. By default (-1) CSMT is enabled on known thread-safe drivers.")) \
 DRI_CONF_OPT_END
+
+/**
+ * \brief radeonsi specific configuration options
+ */
+
+#define DRI_CONF_RADEONSI_ENABLE_SISCHED(def) \
+DRI_CONF_OPT_BEGIN_B(radeonsi_enable_sisched, def) \
+        DRI_CONF_DESC(en,gettext("Use the LLVM sisched option for shader compiles")) \
+DRI_CONF_OPT_END