From: Mark Lobodzinski Date: Mon, 24 Jul 2017 22:14:16 +0000 (-0600) Subject: scripts: Add PDevFeature index print helper X-Git-Tag: submit/tizen/20181227.054638~877 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6c0e3a293a98a94a2d75820e5ce979171e87abb;p=platform%2Fupstream%2FVulkan-Tools.git scripts: Add PDevFeature index print helper In the Enum string helper header, tack on a routine to convert an index into a VkPhysicalDeviceFeatures structure into its corresponding feature string. Change-Id: I8fbfb6fcbfa63361a851ffc93ffd832696050d51 --- diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py index 7d00e6d6..f486a8d7 100644 --- a/scripts/helper_file_generator.py +++ b/scripts/helper_file_generator.py @@ -364,6 +364,23 @@ class HelperFileOutputGenerator(OutputGenerator): outstring += '}\n' return outstring # + # Tack on a helper which, given an index into a VkPhysicalDeviceFeatures structure, will print the corresponding feature name + def DeIndexPhysDevFeatures(self): + pdev_members = None + for name, members, ifdef in self.structMembers: + if name == 'VkPhysicalDeviceFeatures': + pdev_members = members + break + deindex = '\n' + deindex += 'static const char * GetPhysDevFeatureString(uint32_t index) {\n' + deindex += ' const char * IndexToPhysDevFeatureString[] = {\n' + for feature in pdev_members: + deindex += ' "%s",\n' % feature.name + deindex += ' };\n\n' + deindex += ' return IndexToPhysDevFeatureString[index];\n' + deindex += '}\n' + return deindex + # # Combine enum string helper header file preamble with body text and return def GenerateEnumStringHelperHeader(self): enum_string_helper_header = '\n' @@ -375,6 +392,7 @@ class HelperFileOutputGenerator(OutputGenerator): enum_string_helper_header += '#include \n' enum_string_helper_header += '\n' enum_string_helper_header += self.enum_output + enum_string_helper_header += self.DeIndexPhysDevFeatures() return enum_string_helper_header # # struct_size_header: build function prototypes for header file