diff options
Diffstat (limited to 'vulkan/scripts/driver_generator.py')
-rw-r--r-- | vulkan/scripts/driver_generator.py | 118 |
1 files changed, 6 insertions, 112 deletions
diff --git a/vulkan/scripts/driver_generator.py b/vulkan/scripts/driver_generator.py index 6a73023193..a64a7026db 100644 --- a/vulkan/scripts/driver_generator.py +++ b/vulkan/scripts/driver_generator.py @@ -40,10 +40,6 @@ _KNOWN_EXTENSIONS = _INTERCEPTED_EXTENSIONS + [ 'VK_ANDROID_external_memory_android_hardware_buffer', 'VK_KHR_bind_memory2', 'VK_KHR_get_physical_device_properties2', - 'VK_KHR_device_group_creation', - 'VK_KHR_external_memory_capabilities', - 'VK_KHR_external_semaphore_capabilities', - 'VK_KHR_external_fence_capabilities', ] # Functions needed at vulkan::driver level. @@ -75,41 +71,12 @@ _NEEDED_COMMANDS = [ 'vkDestroyImage', 'vkGetPhysicalDeviceProperties', + 'vkGetPhysicalDeviceProperties2', + 'vkGetPhysicalDeviceProperties2KHR', # VK_KHR_swapchain v69 requirement 'vkBindImageMemory2', 'vkBindImageMemory2KHR', - - # For promoted VK_KHR_device_group_creation - 'vkEnumeratePhysicalDeviceGroupsKHR', - - # For promoted VK_KHR_get_physical_device_properties2 - 'vkGetPhysicalDeviceFeatures2', - 'vkGetPhysicalDeviceFeatures2KHR', - 'vkGetPhysicalDeviceProperties2', - 'vkGetPhysicalDeviceProperties2KHR', - 'vkGetPhysicalDeviceFormatProperties2', - 'vkGetPhysicalDeviceFormatProperties2KHR', - 'vkGetPhysicalDeviceImageFormatProperties2', - 'vkGetPhysicalDeviceImageFormatProperties2KHR', - 'vkGetPhysicalDeviceQueueFamilyProperties2', - 'vkGetPhysicalDeviceQueueFamilyProperties2KHR', - 'vkGetPhysicalDeviceMemoryProperties2', - 'vkGetPhysicalDeviceMemoryProperties2KHR', - 'vkGetPhysicalDeviceSparseImageFormatProperties2', - 'vkGetPhysicalDeviceSparseImageFormatProperties2KHR', - - # For promoted VK_KHR_external_memory_capabilities - 'vkGetPhysicalDeviceExternalBufferProperties', - 'vkGetPhysicalDeviceExternalBufferPropertiesKHR', - - # For promoted VK_KHR_external_semaphore_capabilities - 'vkGetPhysicalDeviceExternalSemaphoreProperties', - 'vkGetPhysicalDeviceExternalSemaphorePropertiesKHR', - - # For promoted VK_KHR_external_fence_capabilities - 'vkGetPhysicalDeviceExternalFenceProperties', - 'vkGetPhysicalDeviceExternalFencePropertiesKHR', ] # Functions intercepted at vulkan::driver level. @@ -139,24 +106,6 @@ _INTERCEPTED_COMMANDS = [ # VK_KHR_swapchain v69 requirement 'vkBindImageMemory2', 'vkBindImageMemory2KHR', - - # For promoted VK_KHR_get_physical_device_properties2 - 'vkGetPhysicalDeviceFeatures2', - 'vkGetPhysicalDeviceProperties2', - 'vkGetPhysicalDeviceFormatProperties2', - 'vkGetPhysicalDeviceImageFormatProperties2', - 'vkGetPhysicalDeviceQueueFamilyProperties2', - 'vkGetPhysicalDeviceMemoryProperties2', - 'vkGetPhysicalDeviceSparseImageFormatProperties2', - - # For promoted VK_KHR_external_memory_capabilities - 'vkGetPhysicalDeviceExternalBufferProperties', - - # For promoted VK_KHR_external_semaphore_capabilities - 'vkGetPhysicalDeviceExternalSemaphoreProperties', - - # For promoted VK_KHR_external_fence_capabilities - 'vkGetPhysicalDeviceExternalFenceProperties', ] @@ -213,8 +162,6 @@ def gen_h(): #include <vulkan/vulkan.h> #include <bitset> -#include <optional> -#include <vector> namespace vulkan { namespace driver { @@ -282,12 +229,6 @@ bool InitDriverTable(VkDevice dev, PFN_vkGetDeviceProcAddr get_proc, const std::bitset<ProcHook::EXTENSION_COUNT>& extensions); -std::optional<uint32_t> GetInstanceExtensionPromotedVersion(const char* name); -uint32_t CountPromotedInstanceExtensions(uint32_t begin_version, - uint32_t end_version); -std::vector<const char*> GetPromotedInstanceExtensions(uint32_t begin_version, - uint32_t end_version); - } // namespace driver } // namespace vulkan @@ -523,9 +464,10 @@ const ProcHook g_proc_hooks[] = { } // namespace const ProcHook* GetProcHook(const char* name) { - auto begin = std::cbegin(g_proc_hooks); - auto end = std::cend(g_proc_hooks); - auto hook = std::lower_bound( + const auto& begin = g_proc_hooks; + const auto& end = + g_proc_hooks + sizeof(g_proc_hooks) / sizeof(g_proc_hooks[0]); + const auto hook = std::lower_bound( begin, end, name, [](const ProcHook& e, const char* n) { return strcmp(e.name, n) < 0; }); return (hook < end && strcmp(hook->name, name) == 0) ? hook : nullptr; @@ -597,54 +539,6 @@ bool InitDriverTable(VkDevice dev, return success; } -const std::pair<const char*, uint32_t> g_promoted_instance_extensions[] = { - // clang-format off\n""") - - for key, value in sorted(gencom.promoted_inst_ext_dict.items()): - f.write(gencom.indent(1) + 'std::make_pair("' + key + '", ' + value + '),\n') - - f.write("""\ - // clang-format on -}; - -std::optional<uint32_t> GetInstanceExtensionPromotedVersion(const char* name) { - auto begin = std::cbegin(g_promoted_instance_extensions); - auto end = std::cend(g_promoted_instance_extensions); - auto iter = - std::lower_bound(begin, end, name, - [](const std::pair<const char*, uint32_t>& e, - const char* n) { return strcmp(e.first, n) < 0; }); - return (iter < end && strcmp(iter->first, name) == 0) - ? std::optional<uint32_t>(iter->second) - : std::nullopt; -} - -uint32_t CountPromotedInstanceExtensions(uint32_t begin_version, - uint32_t end_version) { - auto begin = std::cbegin(g_promoted_instance_extensions); - auto end = std::cend(g_promoted_instance_extensions); - uint32_t count = 0; - - for (auto iter = begin; iter != end; iter++) - if (iter->second > begin_version && iter->second <= end_version) - count++; - - return count; -} - -std::vector<const char*> GetPromotedInstanceExtensions(uint32_t begin_version, - uint32_t end_version) { - auto begin = std::cbegin(g_promoted_instance_extensions); - auto end = std::cend(g_promoted_instance_extensions); - std::vector<const char*> extensions; - - for (auto iter = begin; iter != end; iter++) - if (iter->second > begin_version && iter->second <= end_version) - extensions.emplace_back(iter->first); - - return extensions; -} - } // namespace driver } // namespace vulkan\n""") |