summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorTim Rowley <[email protected]>2016-04-06 12:30:14 -0600
committerTim Rowley <[email protected]>2016-04-22 18:48:47 -0500
commit2c4c3c9c71a7ec7cb4aac5c8ee8bf3a479a00153 (patch)
treeb83466977ac284d0e9df3dddd22c78dd2a219d09 /src/gallium
parentef293ee9c0034bce980c978e0e41a8ab2a9730d7 (diff)
swr: [rasterizer scripts] Knob scripts tweaks
Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/swr/rasterizer/scripts/knob_defs.py4
-rw-r--r--src/gallium/drivers/swr/rasterizer/scripts/templates/knobs.template25
2 files changed, 27 insertions, 2 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/scripts/knob_defs.py b/src/gallium/drivers/swr/rasterizer/scripts/knob_defs.py
index 3832b91d93e..ab6ec565804 100644
--- a/src/gallium/drivers/swr/rasterizer/scripts/knob_defs.py
+++ b/src/gallium/drivers/swr/rasterizer/scripts/knob_defs.py
@@ -239,4 +239,6 @@ KNOBS = [
'NOTE: Requires KNOB_ENABLE_TOSS_POINTS to be enabled in core/knobs.h'],
'category' : 'perf',
'advanced' : 'true',
- }],]
+ }],
+
+ ]
diff --git a/src/gallium/drivers/swr/rasterizer/scripts/templates/knobs.template b/src/gallium/drivers/swr/rasterizer/scripts/templates/knobs.template
index 521346ca833..9b34592aaad 100644
--- a/src/gallium/drivers/swr/rasterizer/scripts/templates/knobs.template
+++ b/src/gallium/drivers/swr/rasterizer/scripts/templates/knobs.template
@@ -8,6 +8,20 @@
def space_knob(knob):
knob_len = len('KNOB_' + knob)
return ' '*(max_len - knob_len)
+
+ def calc_max_name_len(choices_array):
+ _max_len = 0
+ for choice in choices_array:
+ if len(choice['name']) > _max_len: _max_len = len(choice['name'])
+
+ if _max_len % 4: _max_len += 4 - (_max_len % 4)
+ return _max_len
+
+ def space_name(name, max_len):
+ name_len = len(name)
+ return ' '*(max_len - name_len)
+
+
%>/******************************************************************************
*
* Copyright 2015-2016
@@ -77,6 +91,15 @@ struct GlobalKnobs
% for line in knob[1]['desc']:
// ${line}
% endfor
+ % if knob[1].get('choices'):
+ <%
+ choices = knob[1].get('choices')
+ _max_len = calc_max_name_len(choices) %>//
+ % for i in range(len(choices)):
+ // ${choices[i]['name']}${space_name(choices[i]['name'], _max_len)} = ${format(choices[i]['value'], '#010x')}
+ % endfor
+ % endif
+ //
% if knob[1]['type'] == 'std::string':
DEFINE_KNOB(${knob[0]}, ${knob[1]['type']}, "${repr(knob[1]['default'])[1:-1]}");
% else:
@@ -90,7 +113,7 @@ struct GlobalKnobs
extern GlobalKnobs g_GlobalKnobs;
% for knob in knobs:
-#define KNOB_${knob[0]}${space_knob(knob[0])}GET_KNOB(${knob[0]})
+#define KNOB_${knob[0]}${space_knob(knob[0])} GET_KNOB(${knob[0]})
% endfor