diff options
| author | Chris Forbes <chrisforbes@google.com> | 2016-11-28 11:14:17 +1300 |
|---|---|---|
| committer | Chris Forbes <chrisforbes@google.com> | 2016-11-28 11:14:17 +1300 |
| commit | 20083d1770a0766ce68016b3ca2fad482291a100 (patch) | |
| tree | 10f2e104b6e837ada7cc6feb23632521a7ec6018 /scripts/parameter_validation_generator.py | |
| parent | 23cc2186d10d953bfcdfcb9bb73757bc6316893e (diff) | |
| download | usermoji-20083d1770a0766ce68016b3ca2fad482291a100.tar.xz | |
layers: Tweak PV generator to track newly introduced enums separately
Within each feature block, we need to generate a helper value for 'all
valid bits'. This worked fine; however, across features blocks an enum
may be used -- for example, core eums used in extension functions.
Previously, we'd clear out all the enums we know about at the feature
boundary, which left various fields unvalidated.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Diffstat (limited to 'scripts/parameter_validation_generator.py')
| -rw-r--r-- | scripts/parameter_validation_generator.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py index e0d215da..047405d9 100644 --- a/scripts/parameter_validation_generator.py +++ b/scripts/parameter_validation_generator.py @@ -150,6 +150,7 @@ class ParamCheckerOutputGenerator(OutputGenerator): self.enumRanges = dict() # Map of enum name to BEGIN/END range values self.flags = set() # Map of flags typenames self.flagBits = dict() # Map of flag bits typename to list of values + self.newFlags = set() # Map of flags typenames /defined in the current feature/ # Named tuples to store struct and command data self.StructType = namedtuple('StructType', ['name', 'value']) self.CommandParam = namedtuple('CommandParam', ['type', 'name', 'ispointer', 'isstaticarray', 'isbool', 'israngedenum', @@ -228,9 +229,7 @@ class ParamCheckerOutputGenerator(OutputGenerator): self.commands = [] self.structMembers = [] self.validatedStructs = dict() - self.enumRanges = dict() - self.flags = set() - self.flagBits = dict() + self.newFlags = set() def endFeature(self): # C-specific # Actually write the interface to the output file. @@ -250,7 +249,7 @@ class ParamCheckerOutputGenerator(OutputGenerator): write('const uint32_t GeneratedHeaderVersion = {};'.format(self.headerVersion), file=self.outFile) self.newline() # Write the declarations for the VkFlags values combining all flag bits - for flag in sorted(self.flags): + for flag in sorted(self.newFlags): flagBits = flag.replace('Flags', 'FlagBits') if flagBits in self.flagBits: bits = self.flagBits[flagBits] @@ -292,6 +291,7 @@ class ParamCheckerOutputGenerator(OutputGenerator): self.handleTypes.add(name) elif (category == 'bitmask'): self.flags.add(name) + self.newFlags.add(name) elif (category == 'define'): if name == 'VK_HEADER_VERSION': nameElem = typeElem.find('name') |
