From 32cd102c36c6fca2679904aa9e59fdffc64ded59 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Thu, 13 Apr 2017 08:36:18 -0600 Subject: scripts: Convert ugly case statment to nice array Since this was codegen'd, we can just create a static array for the object type conversion and do away with all of the switch statement mess. Change-Id: I5fb20778d64f0675afa9c1563e2d44d22d5b4a02 --- scripts/helper_file_generator.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'scripts') diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py index 2dcb7d9f..f4f555c0 100644 --- a/scripts/helper_file_generator.py +++ b/scripts/helper_file_generator.py @@ -560,32 +560,25 @@ class HelperFileOutputGenerator(OutputGenerator): # Output a conversion routine from the layer object definitions to the debug report definitions object_types_header += '\n' - object_types_header += '// Helper function to get Official Vulkan object type enum from the internal layers version\n' - object_types_header += 'VkDebugReportObjectTypeEXT GetDebugReportEnum(VulkanObjectType object_type) {\n\n' - object_types_header += ' switch (object_type) {\n' - object_types_header += ' case kVulkanObjectTypeUnknown:\n' - object_types_header += ' return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;\n\n' + object_types_header += '// Helper array to get Official Vulkan object type enum from the internal layers version\n' + object_types_header += 'const VkDebugReportObjectTypeEXT GetDebugReportEnum[] = {\n' for object_type in type_list: done = False - object_types_header += ' case %s:\n' % object_type search_type = object_type.replace("kVulkanObjectType", "").lower() for vk_object_type in self.debug_report_object_types: target_type = vk_object_type.replace("VK_DEBUG_REPORT_OBJECT_TYPE_", "").lower() target_type = target_type[:-4] target_type = target_type.replace("_", "") if search_type == target_type: - object_types_header += ' return %s;\n\n' % vk_object_type + object_types_header += ' %s, // %s\n' % (vk_object_type, object_type) done = True break if done == False: if object_type == 'kVulkanObjectTypeDebugReportCallbackEXT': - object_types_header += ' return VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT;\n\n' + object_types_header += ' VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT, // kVulkanObjectTypeDebugReportCallbackEXT\n' else: - object_types_header += ' return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;\n\n' - object_types_header += ' default:\n' - object_types_header += ' return VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT;\n\n' - object_types_header += ' }\n' - object_types_header += '}\n' + object_types_header += ' VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT; // No Match\n' + object_types_header += '};\n' return object_types_header # # Determine if a structure needs a safe_struct helper function -- cgit v1.2.3