swr/rast: Move knob defaults to generated cpp file
authorAlok Hota <alok.hota@intel.com>
Fri, 24 Aug 2018 00:25:39 +0000 (19:25 -0500)
committerAlok Hota <alok.hota@intel.com>
Fri, 15 Feb 2019 20:54:04 +0000 (14:54 -0600)
Reduces amount of compile churn when testing different default values

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h

index 9375569ebeb131e04bdd9163bbaef9c76c230712..ba1ad5effeec38e9c9ba6b7d39bbb92a20809965 100644 (file)
@@ -95,6 +95,13 @@ void KnobBase::autoExpandEnvironmentVariables(std::string& text)
 //========================================================
 // Static Data Members
 //========================================================
+% for knob in knobs:
+% if knob[1]['type'] == 'std::string':
+${knob[1]['type']} GlobalKnobs::Knob_${knob[0]}::m_default = "${repr(knob[1]['default'])[1:-1]}";
+% else:
+${knob[1]['type']} GlobalKnobs::Knob_${knob[0]}::m_default = ${knob[1]['default']};
+% endif
+% endfor
 GlobalKnobs g_GlobalKnobs;
 
 //========================================================
index 71dbdacfd1d4bbb7783b68e3c07eb3222f39c6ad..8b88a11706c6bc8e7720efdc852c812796d3ba08 100644 (file)
@@ -72,7 +72,7 @@ private:
     T m_Value;
 };
 
-#define DEFINE_KNOB(_name, _type, _default)                     \\
+#define DEFINE_KNOB(_name, _type)                               \\
 
     struct Knob_##_name : Knob<_type>                           \\
 
@@ -80,7 +80,11 @@ private:
 
         static const char* Name() { return "KNOB_" #_name; }    \\
 
-        static _type DefaultValue() { return (_default); }      \\
+        static _type DefaultValue() { return (m_default); }     \\
+
+    private:                                                    \\
+
+        static _type m_default;                                 \\
 
     } _name;
 
@@ -105,11 +109,7 @@ struct GlobalKnobs
     % endfor
     % endif
     //
-    % if knob[1]['type'] == 'std::string':
-    DEFINE_KNOB(${knob[0]}, ${knob[1]['type']}, "${repr(knob[1]['default'])[1:-1]}");
-    % else:
-    DEFINE_KNOB(${knob[0]}, ${knob[1]['type']}, ${knob[1]['default']});
-    % endif
+    DEFINE_KNOB(${knob[0]}, ${knob[1]['type']});
 
     % endfor