scripts: Add object type string helper func
authorMark Lobodzinski <mark@lunarg.com>
Tue, 11 Apr 2017 21:31:51 +0000 (15:31 -0600)
committerMark Lobodzinski <mark@lunarg.com>
Thu, 13 Apr 2017 15:46:17 +0000 (09:46 -0600)
Also fixed a bug with the object type names.

Change-Id: Iea3c89a2e53266704aff0727296cce0e460195ce

scripts/helper_file_generator.py

index a4afbe9..2dcb7d9 100644 (file)
@@ -547,10 +547,19 @@ class HelperFileOutputGenerator(OutputGenerator):
             enum_num += 1
             type_list.append(enum_entry)
         object_types_header += '    kVulkanObjectTypeMax = %d,\n' % enum_num
-        object_types_header += '} VulkanObjectType;\n'
+        object_types_header += '} VulkanObjectType;\n\n'
+
+        # Output name string helper
+        object_types_header += '// Array of object name strings for OBJECT_TYPE enum conversion\n'
+        object_types_header += 'static const char *object_string[kVulkanObjectTypeMax] = {\n'
+        object_types_header += '    "Unknown",\n'
+        for item in self.object_types:
+            fixup_name = item[2:]
+            object_types_header += '    "%s",\n' % fixup_name
+        object_types_header += '};\n'
 
         # Output a conversion routine from the layer object definitions to the debug report definitions
-        object_types_header += '\n\n'
+        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'
@@ -569,6 +578,9 @@ class HelperFileOutputGenerator(OutputGenerator):
                     done = True
                     break
             if done == False:
+                if object_type == 'kVulkanObjectTypeDebugReportCallbackEXT':
+                    object_types_header += '            return VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT;\n\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'