diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f11cb216..3de128d21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ # ~~~ cmake_minimum_required(VERSION 3.22.1) -project(VULKAN_LOADER VERSION 1.4.346 LANGUAGES C) +project(VULKAN_LOADER VERSION 1.4.347 LANGUAGES C) option(CODE_COVERAGE "Enable Code Coverage" OFF) if (CODE_COVERAGE) diff --git a/loader/generated/vk_layer_dispatch_table.h b/loader/generated/vk_layer_dispatch_table.h index b7b7ae78c..e75a1c6f5 100644 --- a/loader/generated/vk_layer_dispatch_table.h +++ b/loader/generated/vk_layer_dispatch_table.h @@ -788,6 +788,10 @@ typedef struct VkLayerDispatchTable_ { PFN_vkCmdCopyMemoryIndirectKHR CmdCopyMemoryIndirectKHR; PFN_vkCmdCopyMemoryToImageIndirectKHR CmdCopyMemoryToImageIndirectKHR; + // ---- VK_KHR_device_fault extension commands + PFN_vkGetDeviceFaultReportsKHR GetDeviceFaultReportsKHR; + PFN_vkGetDeviceFaultDebugInfoKHR GetDeviceFaultDebugInfoKHR; + // ---- VK_KHR_maintenance10 extension commands PFN_vkCmdEndRendering2KHR CmdEndRendering2KHR; diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 3f7c30a1d..61b2920a5 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c @@ -829,6 +829,10 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo table->CmdCopyMemoryIndirectKHR = (PFN_vkCmdCopyMemoryIndirectKHR)gdpa(dev, "vkCmdCopyMemoryIndirectKHR"); table->CmdCopyMemoryToImageIndirectKHR = (PFN_vkCmdCopyMemoryToImageIndirectKHR)gdpa(dev, "vkCmdCopyMemoryToImageIndirectKHR"); + // ---- VK_KHR_device_fault extension commands + table->GetDeviceFaultReportsKHR = (PFN_vkGetDeviceFaultReportsKHR)gdpa(dev, "vkGetDeviceFaultReportsKHR"); + table->GetDeviceFaultDebugInfoKHR = (PFN_vkGetDeviceFaultDebugInfoKHR)gdpa(dev, "vkGetDeviceFaultDebugInfoKHR"); + // ---- VK_KHR_maintenance10 extension commands table->CmdEndRendering2KHR = (PFN_vkCmdEndRendering2KHR)gdpa(dev, "vkCmdEndRendering2KHR"); @@ -2883,6 +2887,10 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis if (!strcmp(name, "CmdCopyMemoryIndirectKHR")) return (void *)table->CmdCopyMemoryIndirectKHR; if (!strcmp(name, "CmdCopyMemoryToImageIndirectKHR")) return (void *)table->CmdCopyMemoryToImageIndirectKHR; + // ---- VK_KHR_device_fault extension commands + if (!strcmp(name, "GetDeviceFaultReportsKHR")) return (void *)table->GetDeviceFaultReportsKHR; + if (!strcmp(name, "GetDeviceFaultDebugInfoKHR")) return (void *)table->GetDeviceFaultDebugInfoKHR; + // ---- VK_KHR_maintenance10 extension commands if (!strcmp(name, "CmdEndRendering2KHR")) return (void *)table->CmdEndRendering2KHR; @@ -6036,6 +6044,37 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectKHR( } +// ---- VK_KHR_device_fault extension trampoline/terminators + +VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultReportsKHR( + VkDevice device, + uint64_t timeout, + uint32_t* pFaultCounts, + VkDeviceFaultInfoKHR* pFaultInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetDeviceFaultReportsKHR: Invalid device " + "[VUID-vkGetDeviceFaultReportsKHR-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetDeviceFaultReportsKHR(device, timeout, pFaultCounts, pFaultInfo); +} + +VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultDebugInfoKHR( + VkDevice device, + VkDeviceFaultDebugInfoKHR* pDebugInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetDeviceFaultDebugInfoKHR: Invalid device " + "[VUID-vkGetDeviceFaultDebugInfoKHR-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetDeviceFaultDebugInfoKHR(device, pDebugInfo); +} + + // ---- VK_KHR_maintenance10 extension trampoline/terminators VKAPI_ATTR void VKAPI_CALL CmdEndRendering2KHR( @@ -13031,6 +13070,16 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } + // ---- VK_KHR_device_fault extension commands + if (!strcmp("vkGetDeviceFaultReportsKHR", name)) { + *addr = (void *)GetDeviceFaultReportsKHR; + return true; + } + if (!strcmp("vkGetDeviceFaultDebugInfoKHR", name)) { + *addr = (void *)GetDeviceFaultDebugInfoKHR; + return true; + } + // ---- VK_KHR_maintenance10 extension commands if (!strcmp("vkCmdEndRendering2KHR", name)) { *addr = (void *)CmdEndRendering2KHR; diff --git a/loader/loader.rc b/loader/loader.rc index 29c3c2082..b46d94be0 100644 --- a/loader/loader.rc +++ b/loader/loader.rc @@ -22,8 +22,8 @@ #include "winres.h" // All set through CMake -#define VER_FILE_VERSION 1, 4, 346, 0 -#define VER_FILE_DESCRIPTION_STR "1.4.346.Dev Build" +#define VER_FILE_VERSION 1, 4, 347, 0 +#define VER_FILE_DESCRIPTION_STR "1.4.347.Dev Build" #define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build" #define VER_COPYRIGHT_STR "Copyright (C) 2015-2026" diff --git a/scripts/known_good.json b/scripts/known_good.json index f10aa21b1..9fb1c0622 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.4.346" + "commit": "v1.4.347" }, { "name": "googletest", diff --git a/tests/framework/layer/generated/vk_dispatch_table_helper.h b/tests/framework/layer/generated/vk_dispatch_table_helper.h index 502ee3f94..63a3c897f 100644 --- a/tests/framework/layer/generated/vk_dispatch_table_helper.h +++ b/tests/framework/layer/generated/vk_dispatch_table_helper.h @@ -394,6 +394,8 @@ static inline void layer_init_device_dispatch_table(VkDevice device, VkLayerDisp table->CmdBindDescriptorBufferEmbeddedSamplers2EXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)gpa(device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT"); table->CmdCopyMemoryIndirectKHR = (PFN_vkCmdCopyMemoryIndirectKHR)gpa(device, "vkCmdCopyMemoryIndirectKHR"); table->CmdCopyMemoryToImageIndirectKHR = (PFN_vkCmdCopyMemoryToImageIndirectKHR)gpa(device, "vkCmdCopyMemoryToImageIndirectKHR"); + table->GetDeviceFaultReportsKHR = (PFN_vkGetDeviceFaultReportsKHR)gpa(device, "vkGetDeviceFaultReportsKHR"); + table->GetDeviceFaultDebugInfoKHR = (PFN_vkGetDeviceFaultDebugInfoKHR)gpa(device, "vkGetDeviceFaultDebugInfoKHR"); table->CmdEndRendering2KHR = (PFN_vkCmdEndRendering2KHR)gpa(device, "vkCmdEndRendering2KHR"); table->DebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)gpa(device, "vkDebugMarkerSetObjectTagEXT"); table->DebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)gpa(device, "vkDebugMarkerSetObjectNameEXT");