util: move brw_env_var_as_boolean() to util
authorRob Clark <robclark@freedesktop.org>
Wed, 18 Nov 2015 21:43:31 +0000 (16:43 -0500)
committerRob Clark <robclark@freedesktop.org>
Tue, 24 Nov 2015 15:02:55 +0000 (10:02 -0500)
Kind of a handy function.  And I'll want it available outside of i965
for common nir-pass helpers.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Nicolai Hähnle <nhaehnle@gmail.com>
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_nir.c
src/mesa/drivers/dri/i965/brw_shader.cpp
src/mesa/drivers/dri/i965/intel_debug.c
src/mesa/drivers/dri/i965/intel_debug.h
src/util/debug.c
src/util/debug.h

index 2ea0a9eca923f620b7aab5426239b62828eeff32..7e2fdcbe60ce51cdfc7867a7576cfbe8b9b55c07 100644 (file)
@@ -69,6 +69,7 @@
 #include "tnl/tnl.h"
 #include "tnl/t_pipeline.h"
 #include "util/ralloc.h"
+#include "util/debug.h"
 
 /***************************************
  * Mesa's Driver Functions
@@ -899,8 +900,8 @@ brwCreateContext(gl_api api,
    brw->predicate.state = BRW_PREDICATE_STATE_RENDER;
 
    brw->use_resource_streamer = screen->has_resource_streamer &&
-      (brw_env_var_as_boolean("INTEL_USE_HW_BT", false) ||
-       brw_env_var_as_boolean("INTEL_USE_GATHER", false));
+      (env_var_as_boolean("INTEL_USE_HW_BT", false) ||
+       env_var_as_boolean("INTEL_USE_GATHER", false));
 
    ctx->VertexProgram._MaintainTnlProgram = true;
    ctx->FragmentProgram._MaintainTexEnvProgram = true;
index 91358d8f389ac9be1832be783cdc84fa9e5726ca..5d9a2fedccee8e42f3b9bc20d789057f705c427a 100644 (file)
@@ -171,12 +171,14 @@ brw_nir_lower_outputs(nir_shader *nir, bool is_scalar)
    }
 }
 
+#include "util/debug.h"
+
 static bool
 should_clone_nir()
 {
    static int should_clone = -1;
    if (should_clone < 1)
-      should_clone = brw_env_var_as_boolean("NIR_TEST_CLONE", false);
+      should_clone = env_var_as_boolean("NIR_TEST_CLONE", false);
 
    return should_clone;
 }
index 7a236cd9880deb0675124d3e4f22425d98fd48c2..cf0136ac86b73eda1ce57c87cf37ae2598c7ae76 100644 (file)
@@ -31,6 +31,7 @@
 #include "glsl/ir_optimization.h"
 #include "glsl/glsl_parser_extras.h"
 #include "main/shaderapi.h"
+#include "util/debug.h"
 
 static void
 shader_debug_log_mesa(void *data, const char *fmt, ...)
@@ -87,7 +88,7 @@ brw_compiler_create(void *mem_ctx, const struct brw_device_info *devinfo)
    compiler->scalar_stage[MESA_SHADER_VERTEX] =
       devinfo->gen >= 8 && !(INTEL_DEBUG & DEBUG_VEC4VS);
    compiler->scalar_stage[MESA_SHADER_GEOMETRY] =
-      devinfo->gen >= 8 && brw_env_var_as_boolean("INTEL_SCALAR_GS", false);
+      devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_GS", false);
    compiler->scalar_stage[MESA_SHADER_FRAGMENT] = true;
    compiler->scalar_stage[MESA_SHADER_COMPUTE] = true;
 
index f53c4ab518a66474fffe2c31f66727cbdd57f142..7d8b966185cfcb4c0ca9ffaa3f8883c8b40aa475 100644 (file)
@@ -103,28 +103,3 @@ brw_process_intel_debug_variable(void)
    uint64_t intel_debug = parse_debug_string(getenv("INTEL_DEBUG"), debug_control);
    (void) p_atomic_cmpxchg(&INTEL_DEBUG, 0, intel_debug);
 }
-
-/**
- * Reads an environment variable and interprets its value as a boolean.
- *
- * Recognizes 0/false/no and 1/true/yes.  Other values result in the default value.
- */
-bool
-brw_env_var_as_boolean(const char *var_name, bool default_value)
-{
-   const char *str = getenv(var_name);
-   if (str == NULL)
-      return default_value;
-
-   if (strcmp(str, "1") == 0 ||
-       strcasecmp(str, "true") == 0 ||
-       strcasecmp(str, "yes") == 0) {
-      return true;
-   } else if (strcmp(str, "0") == 0 ||
-              strcasecmp(str, "false") == 0 ||
-              strcasecmp(str, "no") == 0) {
-      return false;
-   } else {
-      return default_value;
-   }
-}
index 9c6030a6d7df38c30b21b6e57d4c6874ef2985fc..175ac68a7c8cdc132b63886c3a11c6e1d09c3223 100644 (file)
@@ -120,5 +120,3 @@ extern uint64_t INTEL_DEBUG;
 extern uint64_t intel_debug_flag_for_shader_stage(gl_shader_stage stage);
 
 extern void brw_process_intel_debug_variable(void);
-
-extern bool brw_env_var_as_boolean(const char *var_name, bool default_value);
index 3729ce85670a41186a2105a38106f1b05a23301e..98b1853325d415e73012d2a19fa8db4b1b0660d9 100644 (file)
@@ -51,3 +51,28 @@ parse_debug_string(const char *debug,
 
    return flag;
 }
+
+/**
+ * Reads an environment variable and interprets its value as a boolean.
+ *
+ * Recognizes 0/false/no and 1/true/yes.  Other values result in the default value.
+ */
+bool
+env_var_as_boolean(const char *var_name, bool default_value)
+{
+   const char *str = getenv(var_name);
+   if (str == NULL)
+      return default_value;
+
+   if (strcmp(str, "1") == 0 ||
+       strcasecmp(str, "true") == 0 ||
+       strcasecmp(str, "yes") == 0) {
+      return true;
+   } else if (strcmp(str, "0") == 0 ||
+              strcasecmp(str, "false") == 0 ||
+              strcasecmp(str, "no") == 0) {
+      return false;
+   } else {
+      return default_value;
+   }
+}
index 801736aafffd714e4ca64c3f85f676c753888ba0..35554179ab079be4e698a693406d8448e8bfd20c 100644 (file)
@@ -38,6 +38,8 @@ struct debug_control {
 uint64_t
 parse_debug_string(const char *debug,
                    const struct debug_control *control);
+bool
+env_var_as_boolean(const char *var_name, bool default_value);
 
 #ifdef __cplusplus
 } /* extern C */