Mesa (master): swr/rast: simplify knob default value setup

Tim Rowley torowley at kemper.freedesktop.org
Wed Aug 2 16:40:39 UTC 2017


Module: Mesa
Branch: master
Commit: c8fe4c13b23d11b3ef980969dea80de9da1fd105
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8fe4c13b23d11b3ef980969dea80de9da1fd105

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Mon Jul 31 17:22:54 2017 -0500

swr/rast: simplify knob default value setup

Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>

---

 .../drivers/swr/rasterizer/codegen/templates/gen_knobs.h    | 13 ++++---------
 src/gallium/drivers/swr/rasterizer/core/knobs_init.h        | 12 +++++++-----
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h
index b02870be46..d81f7d019e 100644
--- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h
+++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h
@@ -67,12 +67,6 @@ public:
         return Value();
     }
 
-protected:
-    Knob(T const &defaultValue) :
-        m_Value(expandEnvironmentVariables(defaultValue))
-    {
-    }
-
 private:
     T m_Value;
 };
@@ -83,10 +77,10 @@ private:
 
     {                                                           \\
 
-        Knob_##_name() : Knob<_type>(_default) { }              \\
-
         static const char* Name() { return "KNOB_" #_name; }    \\
 
+        static _type DefaultValue() { return (_default); }      \\
+
     } _name;
 
 #define GET_KNOB(_name)             g_GlobalKnobs._name.Value()
@@ -117,8 +111,9 @@ struct GlobalKnobs
     % endif
 
     % endfor
-    GlobalKnobs();
+
     std::string ToString(const char* optPerLinePrefix="");
+    GlobalKnobs();
 };
 extern GlobalKnobs g_GlobalKnobs;
 
diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs_init.h b/src/gallium/drivers/swr/rasterizer/core/knobs_init.h
index ba2df2292f..12c2a3031e 100644
--- a/src/gallium/drivers/swr/rasterizer/core/knobs_init.h
+++ b/src/gallium/drivers/swr/rasterizer/core/knobs_init.h
@@ -91,16 +91,18 @@ static inline void ConvertEnvToKnob(const char* pOverride, std::string& knobValu
 template <typename T>
 static inline void InitKnob(T& knob)
 {
-
-    // TODO, read registry first
-
-    // Second, read environment variables
+    // Read environment variables
     const char* pOverride = getenv(knob.Name());
 
     if (pOverride)
     {
-        auto knobValue = knob.Value();
+        auto knobValue = knob.DefaultValue();
         ConvertEnvToKnob(pOverride, knobValue);
         knob.Value(knobValue);
     }
+    else
+    {
+        // Set default value
+        knob.Value(knob.DefaultValue());
+    }
 }




More information about the mesa-commit mailing list