From: Alok Hota Date: Fri, 24 Aug 2018 00:25:39 +0000 (-0500) Subject: swr/rast: Move knob defaults to generated cpp file X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dc7b3c95a45078fcbf32e68bf6b2c972c6df41c9;p=mesa.git swr/rast: Move knob defaults to generated cpp file Reduces amount of compile churn when testing different default values Reviewed-by: Bruce Cherniak --- diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp index 9375569ebeb..ba1ad5effee 100644 --- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp +++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp @@ -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; //======================================================== 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 71dbdacfd1d..8b88a11706c 100644 --- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h +++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.h @@ -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