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>
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py
index e0d215d..047405d 100644
--- a/scripts/parameter_validation_generator.py
+++ b/scripts/parameter_validation_generator.py
@@ -150,6 +150,7 @@
         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 @@
         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 @@
                 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 @@
             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')