diff --git a/include/vulkan/utility/vk_struct_helper.hpp b/include/vulkan/utility/vk_struct_helper.hpp index fb7d0a2..e95854f 100644 --- a/include/vulkan/utility/vk_struct_helper.hpp +++ b/include/vulkan/utility/vk_struct_helper.hpp @@ -1175,56 +1175,56 @@ template VkObjectType GetObjectType() { return VK_OBJECT_TYPE_UNKNOWN; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_BUFFER; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_IMAGE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_INSTANCE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PHYSICAL_DEVICE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEVICE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_QUEUE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SEMAPHORE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_COMMAND_BUFFER; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_FENCE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEVICE_MEMORY; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_EVENT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_QUERY_POOL; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_BUFFER_VIEW; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_IMAGE_VIEW; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SHADER_MODULE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PIPELINE_CACHE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PIPELINE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_RENDER_PASS; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SAMPLER; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_FRAMEBUFFER; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_COMMAND_POOL; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PRIVATE_DATA_SLOT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SURFACE_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DISPLAY_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DISPLAY_MODE_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_VIDEO_SESSION_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_CU_MODULE_NVX; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_CU_FUNCTION_NVX; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_VALIDATION_CACHE_EXT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_BUFFER; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_IMAGE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_INSTANCE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PHYSICAL_DEVICE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEVICE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_QUEUE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SEMAPHORE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_COMMAND_BUFFER; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_FENCE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEVICE_MEMORY; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_EVENT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_QUERY_POOL; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_BUFFER_VIEW; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_IMAGE_VIEW; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SHADER_MODULE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PIPELINE_CACHE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PIPELINE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_RENDER_PASS; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SAMPLER; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_FRAMEBUFFER; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_COMMAND_POOL; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PRIVATE_DATA_SLOT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SURFACE_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DISPLAY_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DISPLAY_MODE_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_VIDEO_SESSION_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_CU_MODULE_NVX; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_CU_FUNCTION_NVX; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_VALIDATION_CACHE_EXT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR; } #ifdef VK_USE_PLATFORM_FUCHSIA -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA; } #endif // VK_USE_PLATFORM_FUCHSIA -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_MICROMAP_EXT; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV; } -template<> VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SHADER_EXT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_MICROMAP_EXT; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV; } +template<> inline VkObjectType GetObjectType() { return VK_OBJECT_TYPE_SHADER_EXT; } } // namespace vku diff --git a/scripts/generators/struct_helper_generator.py b/scripts/generators/struct_helper_generator.py index f170ca3..c886326 100644 --- a/scripts/generators/struct_helper_generator.py +++ b/scripts/generators/struct_helper_generator.py @@ -129,7 +129,7 @@ template VkObjectType GetObjectType() { ''') for handle in self.vk.handles.values(): out.extend([f'#ifdef {handle.protect}\n'] if handle.protect else []) - out.append(f'template<> VkObjectType GetObjectType<{handle.name}>() {{ return {handle.type}; }}\n') + out.append(f'template<> inline VkObjectType GetObjectType<{handle.name}>() {{ return {handle.type}; }}\n') out.extend([f'#endif // {handle.protect}\n'] if handle.protect else []) out.append(''' } // namespace vku