From bd7a217b54b256c4019a8f2876c4deda80939bbc Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Fri, 21 Jul 2023 09:31:31 -0700 Subject: [PATCH] build: Update to header 1.3.258 - Update known-good - Generate source --- CMakeLists.txt | 2 +- loader/generated/vk_layer_dispatch_table.h | 15 +- loader/generated/vk_loader_extensions.c | 205 ++++++++++++++++++--- loader/loader.rc | 4 +- scripts/known_good.json | 2 +- 5 files changed, 191 insertions(+), 37 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 47015724..0d2cd68c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ # ~~~ cmake_minimum_required(VERSION 3.17.2) -project(VULKAN_LOADER VERSION 1.3.257) +project(VULKAN_LOADER VERSION 1.3.258) add_subdirectory(scripts) diff --git a/loader/generated/vk_layer_dispatch_table.h b/loader/generated/vk_layer_dispatch_table.h index e662eb14..07b272ba 100644 --- a/loader/generated/vk_layer_dispatch_table.h +++ b/loader/generated/vk_layer_dispatch_table.h @@ -852,6 +852,13 @@ typedef struct VkLayerDispatchTable_ { PFN_vkCmdSetStencilTestEnableEXT CmdSetStencilTestEnableEXT; PFN_vkCmdSetStencilOpEXT CmdSetStencilOpEXT; + // ---- VK_EXT_host_image_copy extension commands + PFN_vkCopyMemoryToImageEXT CopyMemoryToImageEXT; + PFN_vkCopyImageToMemoryEXT CopyImageToMemoryEXT; + PFN_vkCopyImageToImageEXT CopyImageToImageEXT; + PFN_vkTransitionImageLayoutEXT TransitionImageLayoutEXT; + PFN_vkGetImageSubresourceLayout2EXT GetImageSubresourceLayout2EXT; + // ---- VK_EXT_swapchain_maintenance1 extension commands PFN_vkReleaseSwapchainImagesEXT ReleaseSwapchainImagesEXT; @@ -893,9 +900,6 @@ typedef struct VkLayerDispatchTable_ { // ---- VK_NV_fragment_shading_rate_enums extension commands PFN_vkCmdSetFragmentShadingRateEnumNV CmdSetFragmentShadingRateEnumNV; - // ---- VK_EXT_image_compression_control extension commands - PFN_vkGetImageSubresourceLayout2EXT GetImageSubresourceLayout2EXT; - // ---- VK_EXT_device_fault extension commands PFN_vkGetDeviceFaultInfoEXT GetDeviceFaultInfoEXT; @@ -997,6 +1001,11 @@ typedef struct VkLayerDispatchTable_ { PFN_vkCmdDecompressMemoryNV CmdDecompressMemoryNV; PFN_vkCmdDecompressMemoryIndirectCountNV CmdDecompressMemoryIndirectCountNV; + // ---- VK_NV_device_generated_commands_compute extension commands + PFN_vkGetPipelineIndirectMemoryRequirementsNV GetPipelineIndirectMemoryRequirementsNV; + PFN_vkCmdUpdatePipelineIndirectBuffer CmdUpdatePipelineIndirectBuffer; + PFN_vkGetPipelineIndirectDeviceAddressNV GetPipelineIndirectDeviceAddressNV; + // ---- VK_EXT_extended_dynamic_state3 extension commands PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT; PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT; diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 7b89d7b0..77eea720 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c @@ -890,6 +890,13 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo table->CmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)gdpa(dev, "vkCmdSetStencilTestEnableEXT"); table->CmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)gdpa(dev, "vkCmdSetStencilOpEXT"); + // ---- VK_EXT_host_image_copy extension commands + table->CopyMemoryToImageEXT = (PFN_vkCopyMemoryToImageEXT)gdpa(dev, "vkCopyMemoryToImageEXT"); + table->CopyImageToMemoryEXT = (PFN_vkCopyImageToMemoryEXT)gdpa(dev, "vkCopyImageToMemoryEXT"); + table->CopyImageToImageEXT = (PFN_vkCopyImageToImageEXT)gdpa(dev, "vkCopyImageToImageEXT"); + table->TransitionImageLayoutEXT = (PFN_vkTransitionImageLayoutEXT)gdpa(dev, "vkTransitionImageLayoutEXT"); + table->GetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)gdpa(dev, "vkGetImageSubresourceLayout2EXT"); + // ---- VK_EXT_swapchain_maintenance1 extension commands table->ReleaseSwapchainImagesEXT = (PFN_vkReleaseSwapchainImagesEXT)gdpa(dev, "vkReleaseSwapchainImagesEXT"); @@ -931,9 +938,6 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo // ---- VK_NV_fragment_shading_rate_enums extension commands table->CmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)gdpa(dev, "vkCmdSetFragmentShadingRateEnumNV"); - // ---- VK_EXT_image_compression_control extension commands - table->GetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)gdpa(dev, "vkGetImageSubresourceLayout2EXT"); - // ---- VK_EXT_device_fault extension commands table->GetDeviceFaultInfoEXT = (PFN_vkGetDeviceFaultInfoEXT)gdpa(dev, "vkGetDeviceFaultInfoEXT"); @@ -1035,6 +1039,11 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo table->CmdDecompressMemoryNV = (PFN_vkCmdDecompressMemoryNV)gdpa(dev, "vkCmdDecompressMemoryNV"); table->CmdDecompressMemoryIndirectCountNV = (PFN_vkCmdDecompressMemoryIndirectCountNV)gdpa(dev, "vkCmdDecompressMemoryIndirectCountNV"); + // ---- VK_NV_device_generated_commands_compute extension commands + table->GetPipelineIndirectMemoryRequirementsNV = (PFN_vkGetPipelineIndirectMemoryRequirementsNV)gdpa(dev, "vkGetPipelineIndirectMemoryRequirementsNV"); + table->CmdUpdatePipelineIndirectBuffer = (PFN_vkCmdUpdatePipelineIndirectBuffer)gdpa(dev, "vkCmdUpdatePipelineIndirectBuffer"); + table->GetPipelineIndirectDeviceAddressNV = (PFN_vkGetPipelineIndirectDeviceAddressNV)gdpa(dev, "vkGetPipelineIndirectDeviceAddressNV"); + // ---- VK_EXT_extended_dynamic_state3 extension commands table->CmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT)gdpa(dev, "vkCmdSetTessellationDomainOriginEXT"); table->CmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)gdpa(dev, "vkCmdSetDepthClampEnableEXT"); @@ -2013,6 +2022,13 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis if (!strcmp(name, "CmdSetStencilTestEnableEXT")) return (void *)table->CmdSetStencilTestEnableEXT; if (!strcmp(name, "CmdSetStencilOpEXT")) return (void *)table->CmdSetStencilOpEXT; + // ---- VK_EXT_host_image_copy extension commands + if (!strcmp(name, "CopyMemoryToImageEXT")) return (void *)table->CopyMemoryToImageEXT; + if (!strcmp(name, "CopyImageToMemoryEXT")) return (void *)table->CopyImageToMemoryEXT; + if (!strcmp(name, "CopyImageToImageEXT")) return (void *)table->CopyImageToImageEXT; + if (!strcmp(name, "TransitionImageLayoutEXT")) return (void *)table->TransitionImageLayoutEXT; + if (!strcmp(name, "GetImageSubresourceLayout2EXT")) return (void *)table->GetImageSubresourceLayout2EXT; + // ---- VK_EXT_swapchain_maintenance1 extension commands if (!strcmp(name, "ReleaseSwapchainImagesEXT")) return (void *)table->ReleaseSwapchainImagesEXT; @@ -2054,9 +2070,6 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis // ---- VK_NV_fragment_shading_rate_enums extension commands if (!strcmp(name, "CmdSetFragmentShadingRateEnumNV")) return (void *)table->CmdSetFragmentShadingRateEnumNV; - // ---- VK_EXT_image_compression_control extension commands - if (!strcmp(name, "GetImageSubresourceLayout2EXT")) return (void *)table->GetImageSubresourceLayout2EXT; - // ---- VK_EXT_device_fault extension commands if (!strcmp(name, "GetDeviceFaultInfoEXT")) return (void *)table->GetDeviceFaultInfoEXT; @@ -2158,6 +2171,11 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis if (!strcmp(name, "CmdDecompressMemoryNV")) return (void *)table->CmdDecompressMemoryNV; if (!strcmp(name, "CmdDecompressMemoryIndirectCountNV")) return (void *)table->CmdDecompressMemoryIndirectCountNV; + // ---- VK_NV_device_generated_commands_compute extension commands + if (!strcmp(name, "GetPipelineIndirectMemoryRequirementsNV")) return (void *)table->GetPipelineIndirectMemoryRequirementsNV; + if (!strcmp(name, "CmdUpdatePipelineIndirectBuffer")) return (void *)table->CmdUpdatePipelineIndirectBuffer; + if (!strcmp(name, "GetPipelineIndirectDeviceAddressNV")) return (void *)table->GetPipelineIndirectDeviceAddressNV; + // ---- VK_EXT_extended_dynamic_state3 extension commands if (!strcmp(name, "CmdSetTessellationDomainOriginEXT")) return (void *)table->CmdSetTessellationDomainOriginEXT; if (!strcmp(name, "CmdSetDepthClampEnableEXT")) return (void *)table->CmdSetDepthClampEnableEXT; @@ -6112,6 +6130,77 @@ VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT( } +// ---- VK_EXT_host_image_copy extension trampoline/terminators + +VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT( + VkDevice device, + const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCopyMemoryToImageEXT: Invalid device " + "[VUID-vkCopyMemoryToImageEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->CopyMemoryToImageEXT(device, pCopyMemoryToImageInfo); +} + +VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemoryEXT( + VkDevice device, + const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCopyImageToMemoryEXT: Invalid device " + "[VUID-vkCopyImageToMemoryEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->CopyImageToMemoryEXT(device, pCopyImageToMemoryInfo); +} + +VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImageEXT( + VkDevice device, + const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCopyImageToImageEXT: Invalid device " + "[VUID-vkCopyImageToImageEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->CopyImageToImageEXT(device, pCopyImageToImageInfo); +} + +VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayoutEXT( + VkDevice device, + uint32_t transitionCount, + const VkHostImageLayoutTransitionInfoEXT* pTransitions) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkTransitionImageLayoutEXT: Invalid device " + "[VUID-vkTransitionImageLayoutEXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->TransitionImageLayoutEXT(device, transitionCount, pTransitions); +} + +VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT( + VkDevice device, + VkImage image, + const VkImageSubresource2EXT* pSubresource, + VkSubresourceLayout2EXT* pLayout) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetImageSubresourceLayout2EXT: Invalid device " + "[VUID-vkGetImageSubresourceLayout2EXT-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->GetImageSubresourceLayout2EXT(device, image, pSubresource, pLayout); +} + + // ---- VK_EXT_swapchain_maintenance1 extension trampoline/terminators VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT( @@ -6560,24 +6649,6 @@ VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV( } -// ---- VK_EXT_image_compression_control extension trampoline/terminators - -VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT( - VkDevice device, - VkImage image, - const VkImageSubresource2EXT* pSubresource, - VkSubresourceLayout2EXT* pLayout) { - const VkLayerDispatchTable *disp = loader_get_dispatch(device); - if (NULL == disp) { - loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, - "vkGetImageSubresourceLayout2EXT: Invalid device " - "[VUID-vkGetImageSubresourceLayout2EXT-device-parameter]"); - abort(); /* Intentionally fail so user can correct issue. */ - } - disp->GetImageSubresourceLayout2EXT(device, image, pSubresource, pLayout); -} - - // ---- VK_EXT_device_fault extension trampoline/terminators VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultInfoEXT( @@ -7390,6 +7461,50 @@ VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV( } +// ---- VK_NV_device_generated_commands_compute extension trampoline/terminators + +VKAPI_ATTR void VKAPI_CALL GetPipelineIndirectMemoryRequirementsNV( + VkDevice device, + const VkComputePipelineCreateInfo* pCreateInfo, + VkMemoryRequirements2* pMemoryRequirements) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetPipelineIndirectMemoryRequirementsNV: Invalid device " + "[VUID-vkGetPipelineIndirectMemoryRequirementsNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->GetPipelineIndirectMemoryRequirementsNV(device, pCreateInfo, pMemoryRequirements); +} + +VKAPI_ATTR void VKAPI_CALL CmdUpdatePipelineIndirectBuffer( + VkCommandBuffer commandBuffer, + VkPipelineBindPoint pipelineBindPoint, + VkPipeline pipeline) { + const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCmdUpdatePipelineIndirectBuffer: Invalid commandBuffer " + "[VUID-vkCmdUpdatePipelineIndirectBuffer-commandBuffer-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->CmdUpdatePipelineIndirectBuffer(commandBuffer, pipelineBindPoint, pipeline); +} + +VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV( + VkDevice device, + const VkPipelineIndirectDeviceAddressInfoNV* pInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetPipelineIndirectDeviceAddressNV: Invalid device " + "[VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetPipelineIndirectDeviceAddressNV(device, pInfo); +} + + // ---- VK_EXT_extended_dynamic_state3 extension trampoline/terminators VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT( @@ -9594,6 +9709,28 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } + // ---- VK_EXT_host_image_copy extension commands + if (!strcmp("vkCopyMemoryToImageEXT", name)) { + *addr = (void *)CopyMemoryToImageEXT; + return true; + } + if (!strcmp("vkCopyImageToMemoryEXT", name)) { + *addr = (void *)CopyImageToMemoryEXT; + return true; + } + if (!strcmp("vkCopyImageToImageEXT", name)) { + *addr = (void *)CopyImageToImageEXT; + return true; + } + if (!strcmp("vkTransitionImageLayoutEXT", name)) { + *addr = (void *)TransitionImageLayoutEXT; + return true; + } + if (!strcmp("vkGetImageSubresourceLayout2EXT", name)) { + *addr = (void *)GetImageSubresourceLayout2EXT; + return true; + } + // ---- VK_EXT_swapchain_maintenance1 extension commands if (!strcmp("vkReleaseSwapchainImagesEXT", name)) { *addr = (void *)ReleaseSwapchainImagesEXT; @@ -9724,12 +9861,6 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } - // ---- VK_EXT_image_compression_control extension commands - if (!strcmp("vkGetImageSubresourceLayout2EXT", name)) { - *addr = (void *)GetImageSubresourceLayout2EXT; - return true; - } - // ---- VK_EXT_device_fault extension commands if (!strcmp("vkGetDeviceFaultInfoEXT", name)) { *addr = (void *)GetDeviceFaultInfoEXT; @@ -9986,6 +10117,20 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } + // ---- VK_NV_device_generated_commands_compute extension commands + if (!strcmp("vkGetPipelineIndirectMemoryRequirementsNV", name)) { + *addr = (void *)GetPipelineIndirectMemoryRequirementsNV; + return true; + } + if (!strcmp("vkCmdUpdatePipelineIndirectBuffer", name)) { + *addr = (void *)CmdUpdatePipelineIndirectBuffer; + return true; + } + if (!strcmp("vkGetPipelineIndirectDeviceAddressNV", name)) { + *addr = (void *)GetPipelineIndirectDeviceAddressNV; + return true; + } + // ---- VK_EXT_extended_dynamic_state3 extension commands if (!strcmp("vkCmdSetTessellationDomainOriginEXT", name)) { *addr = (void *)CmdSetTessellationDomainOriginEXT; diff --git a/loader/loader.rc b/loader/loader.rc index fccf98e8..288388c2 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, 257, 0 -#define VER_FILE_DESCRIPTION_STR "1.3.257.Dev Build" +#define VER_FILE_VERSION 1, 3, 258, 0 +#define VER_FILE_DESCRIPTION_STR "1.3.258.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 d5517c53..06591c85 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.257" + "commit": "v1.3.258" }, { "name": "googletest", -- 2.34.1