i965: add a debug option to disable oa config loading
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 29 Aug 2017 09:41:27 +0000 (10:41 +0100)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 28 Nov 2017 13:34:04 +0000 (13:34 +0000)
This provides a good way to verify we haven't broken using the perf
driver on older kernels (which don't have the oa config loading
mechanism).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/common/gen_debug.c
src/intel/common/gen_debug.h
src/mesa/drivers/dri/i965/brw_performance_query.c

index f58c593c44cd75538d24f5414f636b1d1b35c5e3..a978f2f5818f917b14688330a1a770fedd386ac8 100644 (file)
@@ -69,6 +69,7 @@ static const struct debug_control debug_control[] = {
    { "optimizer",   DEBUG_OPTIMIZER },
    { "ann",         DEBUG_ANNOTATION },
    { "no8",         DEBUG_NO8 },
+   { "no-oaconfig", DEBUG_NO_OACONFIG },
    { "spill_fs",    DEBUG_SPILL_FS },
    { "spill_vec4",  DEBUG_SPILL_VEC4 },
    { "cs",          DEBUG_CS },
index e418e3fb166b33858fb2093aced39872840f3a0e..ad62054ff2ac4d62f86c0e8f56c53177d68af052 100644 (file)
@@ -69,7 +69,7 @@ extern uint64_t INTEL_DEBUG;
 #define DEBUG_OPTIMIZER           (1ull << 25)
 #define DEBUG_ANNOTATION          (1ull << 26)
 #define DEBUG_NO8                 (1ull << 27)
-/* Hole - feel free to reuse      (1ull << 28) */
+#define DEBUG_NO_OACONFIG         (1ull << 28)
 #define DEBUG_SPILL_FS            (1ull << 29)
 #define DEBUG_SPILL_VEC4          (1ull << 30)
 #define DEBUG_CS                  (1ull << 31)
index cdae18c627538c131432069aa7845a34a38d1018..9a5117c46c60033eb0aac00b63af420625de9ca1 100644 (file)
@@ -2144,7 +2144,8 @@ brw_init_perf_query_info(struct gl_context *ctx)
        */
       oa_register(brw);
 
-      if (kernel_has_dynamic_config_support(brw, sysfs_dev_dir))
+      if (likely((INTEL_DEBUG & DEBUG_NO_OACONFIG) == 0) &&
+          kernel_has_dynamic_config_support(brw, sysfs_dev_dir))
          init_oa_configs(brw, sysfs_dev_dir);
       else
          enumerate_sysfs_metrics(brw, sysfs_dev_dir);