diff options
| author | 2024-11-25 23:39:49 +0000 | |
|---|---|---|
| committer | 2024-11-25 23:39:49 +0000 | |
| commit | d3ca472da613f281eb09b0ca07b44ce85a35ecfb (patch) | |
| tree | 8339c5a2457859bee7fd55e928d44a19e9d77036 /vulkan/libvulkan/driver.cpp | |
| parent | 3a57dcd789d1531443398617342586cadae0ac6a (diff) | |
| parent | 4d74653b0e9b4cc04015294a92e2511da01ed0dc (diff) | |
Merge changes from topic "vulkan-1.4" into main
* changes:
Update libvulkan linker map for 1.4
Add feature xml for Vulkan version 1.4
Add support for Vulkan 1.4 core entrypoints to nulldrv
Allow vkjson to report on 1.4 instances
Add support for vulkan api level 1.4 in loader
Regenerate vulkan-loader for 1.4
Diffstat (limited to 'vulkan/libvulkan/driver.cpp')
| -rw-r--r-- | vulkan/libvulkan/driver.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp index 01436db4ae..7d0f545774 100644 --- a/vulkan/libvulkan/driver.cpp +++ b/vulkan/libvulkan/driver.cpp @@ -398,7 +398,7 @@ CreateInfoWrapper::CreateInfoWrapper(const VkInstanceCreateInfo& create_info, const VkAllocationCallbacks& allocator) : is_instance_(true), allocator_(allocator), - loader_api_version_(VK_API_VERSION_1_3), + loader_api_version_(flags::vulkan_1_4_instance_api() ? VK_API_VERSION_1_4 : VK_API_VERSION_1_3), icd_api_version_(icd_api_version), physical_dev_(VK_NULL_HANDLE), instance_info_(create_info), @@ -410,7 +410,7 @@ CreateInfoWrapper::CreateInfoWrapper(VkPhysicalDevice physical_dev, const VkAllocationCallbacks& allocator) : is_instance_(false), allocator_(allocator), - loader_api_version_(VK_API_VERSION_1_3), + loader_api_version_(flags::vulkan_1_4_instance_api() ? VK_API_VERSION_1_4 : VK_API_VERSION_1_3), icd_api_version_(icd_api_version), physical_dev_(physical_dev), dev_info_(create_info), @@ -552,6 +552,10 @@ VkResult CreateInfoWrapper::SanitizeExtensions() { is_instance_ ? loader_api_version_ : std::min(icd_api_version_, loader_api_version_); switch (api_version) { + case VK_API_VERSION_1_4: + hook_extensions_.set(ProcHook::EXTENSION_CORE_1_4); + hal_extensions_.set(ProcHook::EXTENSION_CORE_1_4); + [[clang::fallthrough]]; case VK_API_VERSION_1_3: hook_extensions_.set(ProcHook::EXTENSION_CORE_1_3); hal_extensions_.set(ProcHook::EXTENSION_CORE_1_3); @@ -701,6 +705,7 @@ void CreateInfoWrapper::FilterExtension(const char* name) { case ProcHook::EXTENSION_CORE_1_1: case ProcHook::EXTENSION_CORE_1_2: case ProcHook::EXTENSION_CORE_1_3: + case ProcHook::EXTENSION_CORE_1_4: case ProcHook::EXTENSION_COUNT: // Device and meta extensions. If we ever get here it's a bug in // our code. But enumerating them lets us avoid having a default @@ -766,6 +771,7 @@ void CreateInfoWrapper::FilterExtension(const char* name) { case ProcHook::EXTENSION_CORE_1_1: case ProcHook::EXTENSION_CORE_1_2: case ProcHook::EXTENSION_CORE_1_3: + case ProcHook::EXTENSION_CORE_1_4: case ProcHook::EXTENSION_COUNT: // Instance and meta extensions. If we ever get here it's a bug // in our code. But enumerating them lets us avoid having a |