On 15/09/17 22:27, Jason Ekstrand wrote:
On Fri, Sep 15, 2017 at 7:10 AM, Lionel Landwerlin
<lionel.g.landwer...@intel.com <mailto:lionel.g.landwer...@intel.com>>
wrote:
It will be used to store extension numbers as well.
Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com
<mailto:lionel.g.landwer...@intel.com>>
---
src/vulkan/util/gen_enum_to_str.py | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/vulkan/util/gen_enum_to_str.py
b/src/vulkan/util/gen_enum_to_str.py
index d09e256965f..28bfbfde235 100644
--- a/src/vulkan/util/gen_enum_to_str.py
+++ b/src/vulkan/util/gen_enum_to_str.py
@@ -98,19 +98,18 @@ H_TEMPLATE = Template(textwrap.dedent(u"""\
#endif"""),
output_encoding='utf-8')
-
-class EnumFactory(object):
+class NamedFactory(object):
"""Factory for creating enums."""
def __init__(self, type_):
self.registry = {}
self.type = type_
- def __call__(self, name):
+ def __call__(self, *args):
try:
- return self.registry[name]
+ return self.registry[args[0]]
except KeyError:
- n = self.registry[name] = self.type(name)
+ n = self.registry[args[0]] = self.type(*args)
return n
@@ -128,7 +127,7 @@ def xml_parser(filename):
This parser is a memory efficient iterative XML parser that
returns a list
of VkEnum objects.
"""
- efactory = EnumFactory(VkEnum)
+ enum_factory = NamedFactory(VkEnum)
with open(filename, 'rb') as f:
context = iter(et.iterparse(f, events=('start', 'end')))
@@ -142,19 +141,19 @@ def xml_parser(filename):
if event == 'end' and elem.tag == 'enums':
type_ = elem.attrib.get('type')
if type_ == 'enum':
- enum = efactory(elem.attrib['name'])
+ enum = enum_factory(elem.attrib['name'])
enum.values.extend([e.attrib['name'] for e in
elem
if e.tag == 'enum'])
elif event == 'end' and elem.tag == 'extension':
if elem.attrib['supported'] != 'vulkan':
continue
for e in elem.findall('.//enum[@extends][@offset]'):
- enum = efactory(e.attrib['extends'])
- enum.values.append(e.attrib['name'])
+ enum = enum_factory(e.attrib['extends'])
+ enum.values.append(e.attrib['name'],)
There's an extra comma here I don't think you need.
Fixed locally.
root.clear()
- return efactory.registry.values()
+ return enum_factory.registry.values()
def main():
--
2.14.1
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org <mailto:mesa-dev@lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
<https://lists.freedesktop.org/mailman/listinfo/mesa-dev>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev