From 9e33cfc66f88c863e9a13492b8045ca28118ebbf Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Fri, 29 Sep 2023 07:59:43 -0700 Subject: build: Update to header 1.3.266 - Update known-good - Generate source --- CMakeLists.txt | 2 +- loader/generated/vk_layer_dispatch_table.h | 7 ++ loader/generated/vk_loader_extensions.c | 109 +++++++++++++++++++++++++++++ loader/loader.rc | 4 +- scripts/known_good.json | 2 +- 5 files changed, 120 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 955f3d60..5b7a4303 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ # ~~~ cmake_minimum_required(VERSION 3.17.2) -project(VULKAN_LOADER VERSION 1.3.265) +project(VULKAN_LOADER VERSION 1.3.266) add_subdirectory(scripts) diff --git a/loader/generated/vk_layer_dispatch_table.h b/loader/generated/vk_layer_dispatch_table.h index bdd6aae6..7c775c51 100644 --- a/loader/generated/vk_layer_dispatch_table.h +++ b/loader/generated/vk_layer_dispatch_table.h @@ -1088,6 +1088,13 @@ typedef struct VkLayerDispatchTable_ { PFN_vkGetFramebufferTilePropertiesQCOM GetFramebufferTilePropertiesQCOM; PFN_vkGetDynamicRenderingTilePropertiesQCOM GetDynamicRenderingTilePropertiesQCOM; + // ---- VK_NV_low_latency2 extension commands + PFN_vkSetLatencySleepModeNV SetLatencySleepModeNV; + PFN_vkLatencySleepNV LatencySleepNV; + PFN_vkSetLatencyMarkerNV SetLatencyMarkerNV; + PFN_vkGetLatencyTimingsNV GetLatencyTimingsNV; + PFN_vkQueueNotifyOutOfBandNV QueueNotifyOutOfBandNV; + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT CmdSetAttachmentFeedbackLoopEnableEXT; diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 411f9729..4fd702f9 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c @@ -1126,6 +1126,13 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)gdpa(dev, "vkGetFramebufferTilePropertiesQCOM"); table->GetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)gdpa(dev, "vkGetDynamicRenderingTilePropertiesQCOM"); + // ---- VK_NV_low_latency2 extension commands + table->SetLatencySleepModeNV = (PFN_vkSetLatencySleepModeNV)gdpa(dev, "vkSetLatencySleepModeNV"); + table->LatencySleepNV = (PFN_vkLatencySleepNV)gdpa(dev, "vkLatencySleepNV"); + table->SetLatencyMarkerNV = (PFN_vkSetLatencyMarkerNV)gdpa(dev, "vkSetLatencyMarkerNV"); + table->GetLatencyTimingsNV = (PFN_vkGetLatencyTimingsNV)gdpa(dev, "vkGetLatencyTimingsNV"); + table->QueueNotifyOutOfBandNV = (PFN_vkQueueNotifyOutOfBandNV)gdpa(dev, "vkQueueNotifyOutOfBandNV"); + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands table->CmdSetAttachmentFeedbackLoopEnableEXT = (PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)gdpa(dev, "vkCmdSetAttachmentFeedbackLoopEnableEXT"); @@ -2851,6 +2858,13 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis if (!strcmp(name, "GetFramebufferTilePropertiesQCOM")) return (void *)table->GetFramebufferTilePropertiesQCOM; if (!strcmp(name, "GetDynamicRenderingTilePropertiesQCOM")) return (void *)table->GetDynamicRenderingTilePropertiesQCOM; + // ---- VK_NV_low_latency2 extension commands + if (!strcmp(name, "SetLatencySleepModeNV")) return (void *)table->SetLatencySleepModeNV; + if (!strcmp(name, "LatencySleepNV")) return (void *)table->LatencySleepNV; + if (!strcmp(name, "SetLatencyMarkerNV")) return (void *)table->SetLatencyMarkerNV; + if (!strcmp(name, "GetLatencyTimingsNV")) return (void *)table->GetLatencyTimingsNV; + if (!strcmp(name, "QueueNotifyOutOfBandNV")) return (void *)table->QueueNotifyOutOfBandNV; + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands if (!strcmp(name, "CmdSetAttachmentFeedbackLoopEnableEXT")) return (void *)table->CmdSetAttachmentFeedbackLoopEnableEXT; @@ -8962,6 +8976,79 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDynamicRenderingTilePropertiesQCOM( } +// ---- VK_NV_low_latency2 extension trampoline/terminators + +VKAPI_ATTR VkResult VKAPI_CALL SetLatencySleepModeNV( + VkDevice device, + VkSwapchainKHR swapchain, + VkLatencySleepModeInfoNV* pSleepModeInfo) { + 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, + "vkSetLatencySleepModeNV: Invalid device " + "[VUID-vkSetLatencySleepModeNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->SetLatencySleepModeNV(device, swapchain, pSleepModeInfo); +} + +VKAPI_ATTR VkResult VKAPI_CALL LatencySleepNV( + VkDevice device, + VkSwapchainKHR swapchain, + VkLatencySleepInfoNV* pSleepInfo) { + 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, + "vkLatencySleepNV: Invalid device " + "[VUID-vkLatencySleepNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->LatencySleepNV(device, swapchain, pSleepInfo); +} + +VKAPI_ATTR void VKAPI_CALL SetLatencyMarkerNV( + VkDevice device, + VkSwapchainKHR swapchain, + VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo) { + 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, + "vkSetLatencyMarkerNV: Invalid device " + "[VUID-vkSetLatencyMarkerNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->SetLatencyMarkerNV(device, swapchain, pLatencyMarkerInfo); +} + +VKAPI_ATTR void VKAPI_CALL GetLatencyTimingsNV( + VkDevice device, + VkSwapchainKHR swapchain, + uint32_t* pTimingCount, + VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo) { + 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, + "vkGetLatencyTimingsNV: Invalid device " + "[VUID-vkGetLatencyTimingsNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->GetLatencyTimingsNV(device, swapchain, pTimingCount, pLatencyMarkerInfo); +} + +VKAPI_ATTR void VKAPI_CALL QueueNotifyOutOfBandNV( + VkQueue queue, + VkOutOfBandQueueTypeInfoNV pQueueTypeInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(queue); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkQueueNotifyOutOfBandNV: Invalid queue " + "[VUID-vkQueueNotifyOutOfBandNV-queue-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->QueueNotifyOutOfBandNV(queue, pQueueTypeInfo); +} + + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension trampoline/terminators VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT( @@ -11198,6 +11285,28 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } + // ---- VK_NV_low_latency2 extension commands + if (!strcmp("vkSetLatencySleepModeNV", name)) { + *addr = (void *)SetLatencySleepModeNV; + return true; + } + if (!strcmp("vkLatencySleepNV", name)) { + *addr = (void *)LatencySleepNV; + return true; + } + if (!strcmp("vkSetLatencyMarkerNV", name)) { + *addr = (void *)SetLatencyMarkerNV; + return true; + } + if (!strcmp("vkGetLatencyTimingsNV", name)) { + *addr = (void *)GetLatencyTimingsNV; + return true; + } + if (!strcmp("vkQueueNotifyOutOfBandNV", name)) { + *addr = (void *)QueueNotifyOutOfBandNV; + return true; + } + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands if (!strcmp("vkCmdSetAttachmentFeedbackLoopEnableEXT", name)) { *addr = (void *)CmdSetAttachmentFeedbackLoopEnableEXT; diff --git a/loader/loader.rc b/loader/loader.rc index dbb57fd0..40c760b0 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, 3, 265, 0 -#define VER_FILE_DESCRIPTION_STR "1.3.265.Dev Build" +#define VER_FILE_VERSION 1, 3, 266, 0 +#define VER_FILE_DESCRIPTION_STR "1.3.266.Dev Build" #define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build" #define VER_COPYRIGHT_STR "Copyright (C) 2015-2023" diff --git a/scripts/known_good.json b/scripts/known_good.json index e06d25b4..1e5f65e1 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -6,7 +6,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.3.265" + "commit": "v1.3.266" }, { "name": "googletest", -- cgit v1.2.3