From 1cbc67905e65107dc02aa390d70efb96785b9a71 Mon Sep 17 00:00:00 2001 From: Mike Schuchardt Date: Fri, 20 Jun 2025 11:30:49 -0700 Subject: [PATCH] build: Update to header 1.4.319 --- CMakeLists.txt | 2 +- loader/generated/vk_layer_dispatch_table.h | 15 + loader/generated/vk_loader_extensions.c | 283 ++++++++++++++++++ loader/generated/vk_loader_extensions.h | 4 + loader/generated/vk_object_types.h | 12 +- loader/loader.rc | 4 +- scripts/generate_source.py | 3 - scripts/known_good.json | 2 +- .../generated/vk_dispatch_table_helper.h | 11 + 9 files changed, 325 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d5d25fc95..ea8098d3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ # ~~~ cmake_minimum_required(VERSION 3.22.1) -project(VULKAN_LOADER VERSION 1.4.318 LANGUAGES C) +project(VULKAN_LOADER VERSION 1.4.319 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 4aef5e933..ce2a6ddeb 100644 --- a/loader/generated/vk_layer_dispatch_table.h +++ b/loader/generated/vk_layer_dispatch_table.h @@ -298,6 +298,10 @@ typedef struct VkLayerInstanceDispatchTable_ { // ---- VK_NV_cooperative_vector extension commands PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV; + // ---- VK_ARM_data_graph extension commands + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; + // ---- VK_OHOS_surface extension commands #if defined(VK_USE_PLATFORM_OHOS) PFN_vkCreateSurfaceOHOS CreateSurfaceOHOS; @@ -1211,6 +1215,17 @@ typedef struct VkLayerDispatchTable_ { PFN_vkGetLatencyTimingsNV GetLatencyTimingsNV; PFN_vkQueueNotifyOutOfBandNV QueueNotifyOutOfBandNV; + // ---- VK_ARM_data_graph extension commands + PFN_vkCreateDataGraphPipelinesARM CreateDataGraphPipelinesARM; + PFN_vkCreateDataGraphPipelineSessionARM CreateDataGraphPipelineSessionARM; + PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM GetDataGraphPipelineSessionBindPointRequirementsARM; + PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM GetDataGraphPipelineSessionMemoryRequirementsARM; + PFN_vkBindDataGraphPipelineSessionMemoryARM BindDataGraphPipelineSessionMemoryARM; + PFN_vkDestroyDataGraphPipelineSessionARM DestroyDataGraphPipelineSessionARM; + PFN_vkCmdDispatchDataGraphARM CmdDispatchDataGraphARM; + PFN_vkGetDataGraphPipelineAvailablePropertiesARM GetDataGraphPipelineAvailablePropertiesARM; + PFN_vkGetDataGraphPipelinePropertiesARM GetDataGraphPipelinePropertiesARM; + // ---- 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 66443a7c5..1afd2efa9 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c @@ -319,6 +319,10 @@ VKAPI_ATTR bool VKAPI_CALL loader_icd_init_entries(struct loader_instance* inst, // ---- VK_NV_cooperative_vector extension commands LOOKUP_GIPA(GetPhysicalDeviceCooperativeVectorPropertiesNV); + // ---- VK_ARM_data_graph extension commands + LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM); + LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM); + // ---- VK_OHOS_surface extension commands #if defined(VK_USE_PLATFORM_OHOS) LOOKUP_GIPA(CreateSurfaceOHOS); @@ -1249,6 +1253,17 @@ VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct lo table->GetLatencyTimingsNV = (PFN_vkGetLatencyTimingsNV)gdpa(dev, "vkGetLatencyTimingsNV"); table->QueueNotifyOutOfBandNV = (PFN_vkQueueNotifyOutOfBandNV)gdpa(dev, "vkQueueNotifyOutOfBandNV"); + // ---- VK_ARM_data_graph extension commands + table->CreateDataGraphPipelinesARM = (PFN_vkCreateDataGraphPipelinesARM)gdpa(dev, "vkCreateDataGraphPipelinesARM"); + table->CreateDataGraphPipelineSessionARM = (PFN_vkCreateDataGraphPipelineSessionARM)gdpa(dev, "vkCreateDataGraphPipelineSessionARM"); + table->GetDataGraphPipelineSessionBindPointRequirementsARM = (PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)gdpa(dev, "vkGetDataGraphPipelineSessionBindPointRequirementsARM"); + table->GetDataGraphPipelineSessionMemoryRequirementsARM = (PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)gdpa(dev, "vkGetDataGraphPipelineSessionMemoryRequirementsARM"); + table->BindDataGraphPipelineSessionMemoryARM = (PFN_vkBindDataGraphPipelineSessionMemoryARM)gdpa(dev, "vkBindDataGraphPipelineSessionMemoryARM"); + table->DestroyDataGraphPipelineSessionARM = (PFN_vkDestroyDataGraphPipelineSessionARM)gdpa(dev, "vkDestroyDataGraphPipelineSessionARM"); + table->CmdDispatchDataGraphARM = (PFN_vkCmdDispatchDataGraphARM)gdpa(dev, "vkCmdDispatchDataGraphARM"); + table->GetDataGraphPipelineAvailablePropertiesARM = (PFN_vkGetDataGraphPipelineAvailablePropertiesARM)gdpa(dev, "vkGetDataGraphPipelineAvailablePropertiesARM"); + table->GetDataGraphPipelinePropertiesARM = (PFN_vkGetDataGraphPipelinePropertiesARM)gdpa(dev, "vkGetDataGraphPipelinePropertiesARM"); + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands table->CmdSetAttachmentFeedbackLoopEnableEXT = (PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)gdpa(dev, "vkCmdSetAttachmentFeedbackLoopEnableEXT"); @@ -1590,6 +1605,10 @@ VKAPI_ATTR void VKAPI_CALL loader_init_instance_extension_dispatch_table(VkLayer // ---- VK_NV_cooperative_vector extension commands table->GetPhysicalDeviceCooperativeVectorPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)gpa(inst, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV"); + // ---- VK_ARM_data_graph extension commands + table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)gpa(inst, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); + table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)gpa(inst, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); + // ---- VK_OHOS_surface extension commands #if defined(VK_USE_PLATFORM_OHOS) table->CreateSurfaceOHOS = (PFN_vkCreateSurfaceOHOS)gpa(inst, "vkCreateSurfaceOHOS"); @@ -3193,6 +3212,17 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDis if (!strcmp(name, "GetLatencyTimingsNV")) return (void *)table->GetLatencyTimingsNV; if (!strcmp(name, "QueueNotifyOutOfBandNV")) return (void *)table->QueueNotifyOutOfBandNV; + // ---- VK_ARM_data_graph extension commands + if (!strcmp(name, "CreateDataGraphPipelinesARM")) return (void *)table->CreateDataGraphPipelinesARM; + if (!strcmp(name, "CreateDataGraphPipelineSessionARM")) return (void *)table->CreateDataGraphPipelineSessionARM; + if (!strcmp(name, "GetDataGraphPipelineSessionBindPointRequirementsARM")) return (void *)table->GetDataGraphPipelineSessionBindPointRequirementsARM; + if (!strcmp(name, "GetDataGraphPipelineSessionMemoryRequirementsARM")) return (void *)table->GetDataGraphPipelineSessionMemoryRequirementsARM; + if (!strcmp(name, "BindDataGraphPipelineSessionMemoryARM")) return (void *)table->BindDataGraphPipelineSessionMemoryARM; + if (!strcmp(name, "DestroyDataGraphPipelineSessionARM")) return (void *)table->DestroyDataGraphPipelineSessionARM; + if (!strcmp(name, "CmdDispatchDataGraphARM")) return (void *)table->CmdDispatchDataGraphARM; + if (!strcmp(name, "GetDataGraphPipelineAvailablePropertiesARM")) return (void *)table->GetDataGraphPipelineAvailablePropertiesARM; + if (!strcmp(name, "GetDataGraphPipelinePropertiesARM")) return (void *)table->GetDataGraphPipelinePropertiesARM; + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands if (!strcmp(name, "CmdSetAttachmentFeedbackLoopEnableEXT")) return (void *)table->CmdSetAttachmentFeedbackLoopEnableEXT; @@ -3539,6 +3569,10 @@ VKAPI_ATTR void* VKAPI_CALL loader_lookup_instance_dispatch_table(const VkLayerI // ---- VK_NV_cooperative_vector extension commands if (!strcmp(name, "GetPhysicalDeviceCooperativeVectorPropertiesNV")) return (void *)table->GetPhysicalDeviceCooperativeVectorPropertiesNV; + // ---- VK_ARM_data_graph extension commands + if (!strcmp(name, "GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM")) return (void *)table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; + if (!strcmp(name, "GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM")) return (void *)table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; + // ---- VK_OHOS_surface extension commands #if defined(VK_USE_PLATFORM_OHOS) if (!strcmp(name, "CreateSurfaceOHOS")) return (void *)table->CreateSurfaceOHOS; @@ -10119,6 +10153,205 @@ VKAPI_ATTR void VKAPI_CALL QueueNotifyOutOfBandNV( } +// ---- VK_ARM_data_graph extension trampoline/terminators + +VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelinesARM( + VkDevice device, + VkDeferredOperationKHR deferredOperation, + VkPipelineCache pipelineCache, + uint32_t createInfoCount, + const VkDataGraphPipelineCreateInfoARM* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkPipeline* pPipelines) { + 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, + "vkCreateDataGraphPipelinesARM: Invalid device " + "[VUID-vkCreateDataGraphPipelinesARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->CreateDataGraphPipelinesARM(device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); +} + +VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelineSessionARM( + VkDevice device, + const VkDataGraphPipelineSessionCreateInfoARM* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDataGraphPipelineSessionARM* pSession) { + 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, + "vkCreateDataGraphPipelineSessionARM: Invalid device " + "[VUID-vkCreateDataGraphPipelineSessionARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->CreateDataGraphPipelineSessionARM(device, pCreateInfo, pAllocator, pSession); +} + +VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineSessionBindPointRequirementsARM( + VkDevice device, + const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* pInfo, + uint32_t* pBindPointRequirementCount, + VkDataGraphPipelineSessionBindPointRequirementARM* pBindPointRequirements) { + 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, + "vkGetDataGraphPipelineSessionBindPointRequirementsARM: Invalid device " + "[VUID-vkGetDataGraphPipelineSessionBindPointRequirementsARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetDataGraphPipelineSessionBindPointRequirementsARM(device, pInfo, pBindPointRequirementCount, pBindPointRequirements); +} + +VKAPI_ATTR void VKAPI_CALL GetDataGraphPipelineSessionMemoryRequirementsARM( + VkDevice device, + const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* pInfo, + VkMemoryRequirements2* pMemoryRequirements) { + 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, + "vkGetDataGraphPipelineSessionMemoryRequirementsARM: Invalid device " + "[VUID-vkGetDataGraphPipelineSessionMemoryRequirementsARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->GetDataGraphPipelineSessionMemoryRequirementsARM(device, pInfo, pMemoryRequirements); +} + +VKAPI_ATTR VkResult VKAPI_CALL BindDataGraphPipelineSessionMemoryARM( + VkDevice device, + uint32_t bindInfoCount, + const VkBindDataGraphPipelineSessionMemoryInfoARM* pBindInfos) { + 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, + "vkBindDataGraphPipelineSessionMemoryARM: Invalid device " + "[VUID-vkBindDataGraphPipelineSessionMemoryARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->BindDataGraphPipelineSessionMemoryARM(device, bindInfoCount, pBindInfos); +} + +VKAPI_ATTR void VKAPI_CALL DestroyDataGraphPipelineSessionARM( + VkDevice device, + VkDataGraphPipelineSessionARM session, + const VkAllocationCallbacks* pAllocator) { + 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, + "vkDestroyDataGraphPipelineSessionARM: Invalid device " + "[VUID-vkDestroyDataGraphPipelineSessionARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->DestroyDataGraphPipelineSessionARM(device, session, pAllocator); +} + +VKAPI_ATTR void VKAPI_CALL CmdDispatchDataGraphARM( + VkCommandBuffer commandBuffer, + VkDataGraphPipelineSessionARM session, + const VkDataGraphPipelineDispatchInfoARM* pInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCmdDispatchDataGraphARM: Invalid commandBuffer " + "[VUID-vkCmdDispatchDataGraphARM-commandBuffer-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->CmdDispatchDataGraphARM(commandBuffer, session, pInfo); +} + +VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineAvailablePropertiesARM( + VkDevice device, + const VkDataGraphPipelineInfoARM* pPipelineInfo, + uint32_t* pPropertiesCount, + VkDataGraphPipelinePropertyARM* pProperties) { + 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, + "vkGetDataGraphPipelineAvailablePropertiesARM: Invalid device " + "[VUID-vkGetDataGraphPipelineAvailablePropertiesARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetDataGraphPipelineAvailablePropertiesARM(device, pPipelineInfo, pPropertiesCount, pProperties); +} + +VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelinePropertiesARM( + VkDevice device, + const VkDataGraphPipelineInfoARM* pPipelineInfo, + uint32_t propertiesCount, + VkDataGraphPipelinePropertyQueryResultARM* pProperties) { + 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, + "vkGetDataGraphPipelinePropertiesARM: Invalid device " + "[VUID-vkGetDataGraphPipelinePropertiesARM-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->GetDataGraphPipelinePropertiesARM(device, pPipelineInfo, propertiesCount, pProperties); +} + +VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + VkPhysicalDevice physicalDevice, + uint32_t queueFamilyIndex, + uint32_t* pQueueFamilyDataGraphPropertyCount, + VkQueueFamilyDataGraphPropertiesARM* pQueueFamilyDataGraphProperties) { + const VkLayerInstanceDispatchTable *disp; + VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); + if (VK_NULL_HANDLE == unwrapped_phys_dev) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM: Invalid physicalDevice " + "[VUID-vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM-physicalDevice-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp = loader_get_instance_layer_dispatch(physicalDevice); + return disp->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(unwrapped_phys_dev, queueFamilyIndex, pQueueFamilyDataGraphPropertyCount, pQueueFamilyDataGraphProperties); +} + +VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM( + VkPhysicalDevice physicalDevice, + uint32_t queueFamilyIndex, + uint32_t* pQueueFamilyDataGraphPropertyCount, + VkQueueFamilyDataGraphPropertiesARM* pQueueFamilyDataGraphProperties) { + struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice; + struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; + if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM) { + loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0, + "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(phys_dev_term->phys_dev, queueFamilyIndex, pQueueFamilyDataGraphPropertyCount, pQueueFamilyDataGraphProperties); +} + +VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo, + VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties) { + const VkLayerInstanceDispatchTable *disp; + VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); + if (VK_NULL_HANDLE == unwrapped_phys_dev) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM: Invalid physicalDevice " + "[VUID-vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM-physicalDevice-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp = loader_get_instance_layer_dispatch(physicalDevice); + disp->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(unwrapped_phys_dev, pQueueFamilyDataGraphProcessingEngineInfo, pQueueFamilyDataGraphProcessingEngineProperties); +} + +VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo, + VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties) { + struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice; + struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; + if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM) { + loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0, + "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); + abort(); /* Intentionally fail so user can correct issue. */ + } + icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(phys_dev_term->phys_dev, pQueueFamilyDataGraphProcessingEngineInfo, pQueueFamilyDataGraphProcessingEngineProperties); +} + + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension trampoline/terminators VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT( @@ -12957,6 +13190,52 @@ bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *na return true; } + // ---- VK_ARM_data_graph extension commands + if (!strcmp("vkCreateDataGraphPipelinesARM", name)) { + *addr = (void *)CreateDataGraphPipelinesARM; + return true; + } + if (!strcmp("vkCreateDataGraphPipelineSessionARM", name)) { + *addr = (void *)CreateDataGraphPipelineSessionARM; + return true; + } + if (!strcmp("vkGetDataGraphPipelineSessionBindPointRequirementsARM", name)) { + *addr = (void *)GetDataGraphPipelineSessionBindPointRequirementsARM; + return true; + } + if (!strcmp("vkGetDataGraphPipelineSessionMemoryRequirementsARM", name)) { + *addr = (void *)GetDataGraphPipelineSessionMemoryRequirementsARM; + return true; + } + if (!strcmp("vkBindDataGraphPipelineSessionMemoryARM", name)) { + *addr = (void *)BindDataGraphPipelineSessionMemoryARM; + return true; + } + if (!strcmp("vkDestroyDataGraphPipelineSessionARM", name)) { + *addr = (void *)DestroyDataGraphPipelineSessionARM; + return true; + } + if (!strcmp("vkCmdDispatchDataGraphARM", name)) { + *addr = (void *)CmdDispatchDataGraphARM; + return true; + } + if (!strcmp("vkGetDataGraphPipelineAvailablePropertiesARM", name)) { + *addr = (void *)GetDataGraphPipelineAvailablePropertiesARM; + return true; + } + if (!strcmp("vkGetDataGraphPipelinePropertiesARM", name)) { + *addr = (void *)GetDataGraphPipelinePropertiesARM; + return true; + } + if (!strcmp("vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM", name)) { + *addr = (void *)GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; + return true; + } + if (!strcmp("vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM", name)) { + *addr = (void *)GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; + return true; + } + // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands if (!strcmp("vkCmdSetAttachmentFeedbackLoopEnableEXT", name)) { *addr = (void *)CmdSetAttachmentFeedbackLoopEnableEXT; @@ -13700,6 +13979,10 @@ const VkLayerInstanceDispatchTable instance_disp = { // ---- VK_NV_cooperative_vector extension commands .GetPhysicalDeviceCooperativeVectorPropertiesNV = terminator_GetPhysicalDeviceCooperativeVectorPropertiesNV, + // ---- VK_ARM_data_graph extension commands + .GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = terminator_GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM, + .GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = terminator_GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM, + // ---- VK_OHOS_surface extension commands #if defined(VK_USE_PLATFORM_OHOS) .CreateSurfaceOHOS = terminator_CreateSurfaceOHOS, diff --git a/loader/generated/vk_loader_extensions.h b/loader/generated/vk_loader_extensions.h index 154672b47..9bb6d3b41 100644 --- a/loader/generated/vk_loader_extensions.h +++ b/loader/generated/vk_loader_extensions.h @@ -486,6 +486,10 @@ struct loader_icd_term_dispatch { // ---- VK_NV_cooperative_vector extension commands PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV; + // ---- VK_ARM_data_graph extension commands + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; + // ---- VK_OHOS_surface extension commands #if defined(VK_USE_PLATFORM_OHOS) PFN_vkCreateSurfaceOHOS CreateSurfaceOHOS; diff --git a/loader/generated/vk_object_types.h b/loader/generated/vk_object_types.h index 89eabfb43..6d30aef0a 100644 --- a/loader/generated/vk_object_types.h +++ b/loader/generated/vk_object_types.h @@ -92,10 +92,11 @@ typedef enum VulkanObjectType { kVulkanObjectTypeTensorViewARM = 51, kVulkanObjectTypeOpticalFlowSessionNV = 52, kVulkanObjectTypeShaderEXT = 53, - kVulkanObjectTypeExternalComputeQueueNV = 54, - kVulkanObjectTypeIndirectExecutionSetEXT = 55, - kVulkanObjectTypeIndirectCommandsLayoutEXT = 56, - kVulkanObjectTypeMax = 57, + kVulkanObjectTypeDataGraphPipelineSessionARM = 54, + kVulkanObjectTypeExternalComputeQueueNV = 55, + kVulkanObjectTypeIndirectExecutionSetEXT = 56, + kVulkanObjectTypeIndirectCommandsLayoutEXT = 57, + kVulkanObjectTypeMax = 58, // Aliases for backwards compatibilty of "promoted" types kVulkanObjectTypeSamplerYcbcrConversionKHR = kVulkanObjectTypeSamplerYcbcrConversion, kVulkanObjectTypeDescriptorUpdateTemplateKHR = kVulkanObjectTypeDescriptorUpdateTemplate, @@ -158,6 +159,7 @@ static const char * const object_string[kVulkanObjectTypeMax] = { "TensorViewARM", "OpticalFlowSessionNV", "ShaderEXT", + "DataGraphPipelineSessionARM", "ExternalComputeQueueNV", "IndirectExecutionSetEXT", "IndirectCommandsLayoutEXT", @@ -219,6 +221,7 @@ const VkDebugReportObjectTypeEXT get_debug_report_enum[] = { VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeTensorViewARM VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeOpticalFlowSessionNV VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeShaderEXT + VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeDataGraphPipelineSessionARM VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeExternalComputeQueueNV VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeIndirectExecutionSetEXT VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, // kVulkanObjectTypeIndirectCommandsLayoutEXT @@ -280,6 +283,7 @@ const VkObjectType get_object_type_enum[] = { VK_OBJECT_TYPE_TENSOR_VIEW_ARM, // kVulkanObjectTypeTensorViewARM VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV, // kVulkanObjectTypeOpticalFlowSessionNV VK_OBJECT_TYPE_SHADER_EXT, // kVulkanObjectTypeShaderEXT + VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM, // kVulkanObjectTypeDataGraphPipelineSessionARM VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV, // kVulkanObjectTypeExternalComputeQueueNV VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT, // kVulkanObjectTypeIndirectExecutionSetEXT VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT, // kVulkanObjectTypeIndirectCommandsLayoutEXT diff --git a/loader/loader.rc b/loader/loader.rc index 7a0288952..38d62c8c6 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, 318, 0 -#define VER_FILE_DESCRIPTION_STR "1.4.318.Dev Build" +#define VER_FILE_VERSION 1, 4, 319, 0 +#define VER_FILE_DESCRIPTION_STR "1.4.319.Dev Build" #define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build" #define VER_COPYRIGHT_STR "Copyright (C) 2015-2025" diff --git a/scripts/generate_source.py b/scripts/generate_source.py index 7b0bedd81..e12f7313d 100755 --- a/scripts/generate_source.py +++ b/scripts/generate_source.py @@ -150,9 +150,6 @@ def RunGenerators(api: str, registry: str, directory: str, styleFile: str, targe # Parse the specified registry XML into an ElementTree object tree = ElementTree.parse(registry) - # Filter out extensions that are not on the API list - [exts.remove(e) for exts in tree.findall('extensions') for e in exts.findall('extension') if (sup := e.get('supported')) is not None and all(api not in sup.split(',') for api in apiList)] - # Load the XML tree into the registry object reg.loadElementTree(tree) diff --git a/scripts/known_good.json b/scripts/known_good.json index 371329f55..30df7194e 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.318" + "commit": "v1.4.319" }, { "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 4095478b2..f8379812b 100644 --- a/tests/framework/layer/generated/vk_dispatch_table_helper.h +++ b/tests/framework/layer/generated/vk_dispatch_table_helper.h @@ -693,6 +693,15 @@ static inline void layer_init_device_dispatch_table(VkDevice device, VkLayerDisp table->SetLatencyMarkerNV = (PFN_vkSetLatencyMarkerNV)gpa(device, "vkSetLatencyMarkerNV"); table->GetLatencyTimingsNV = (PFN_vkGetLatencyTimingsNV)gpa(device, "vkGetLatencyTimingsNV"); table->QueueNotifyOutOfBandNV = (PFN_vkQueueNotifyOutOfBandNV)gpa(device, "vkQueueNotifyOutOfBandNV"); + table->CreateDataGraphPipelinesARM = (PFN_vkCreateDataGraphPipelinesARM)gpa(device, "vkCreateDataGraphPipelinesARM"); + table->CreateDataGraphPipelineSessionARM = (PFN_vkCreateDataGraphPipelineSessionARM)gpa(device, "vkCreateDataGraphPipelineSessionARM"); + table->GetDataGraphPipelineSessionBindPointRequirementsARM = (PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)gpa(device, "vkGetDataGraphPipelineSessionBindPointRequirementsARM"); + table->GetDataGraphPipelineSessionMemoryRequirementsARM = (PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)gpa(device, "vkGetDataGraphPipelineSessionMemoryRequirementsARM"); + table->BindDataGraphPipelineSessionMemoryARM = (PFN_vkBindDataGraphPipelineSessionMemoryARM)gpa(device, "vkBindDataGraphPipelineSessionMemoryARM"); + table->DestroyDataGraphPipelineSessionARM = (PFN_vkDestroyDataGraphPipelineSessionARM)gpa(device, "vkDestroyDataGraphPipelineSessionARM"); + table->CmdDispatchDataGraphARM = (PFN_vkCmdDispatchDataGraphARM)gpa(device, "vkCmdDispatchDataGraphARM"); + table->GetDataGraphPipelineAvailablePropertiesARM = (PFN_vkGetDataGraphPipelineAvailablePropertiesARM)gpa(device, "vkGetDataGraphPipelineAvailablePropertiesARM"); + table->GetDataGraphPipelinePropertiesARM = (PFN_vkGetDataGraphPipelinePropertiesARM)gpa(device, "vkGetDataGraphPipelinePropertiesARM"); table->CmdSetAttachmentFeedbackLoopEnableEXT = (PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)gpa(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT"); #if defined(VK_USE_PLATFORM_SCREEN_QNX) table->GetScreenBufferPropertiesQNX = (PFN_vkGetScreenBufferPropertiesQNX)gpa(device, "vkGetScreenBufferPropertiesQNX"); @@ -913,6 +922,8 @@ static inline void layer_init_instance_dispatch_table(VkInstance instance, VkLay table->GetPhysicalDeviceExternalTensorPropertiesARM = (PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM)gpa(instance, "vkGetPhysicalDeviceExternalTensorPropertiesARM"); table->GetPhysicalDeviceOpticalFlowImageFormatsNV = (PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)gpa(instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV"); table->GetPhysicalDeviceCooperativeVectorPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)gpa(instance, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV"); + table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)gpa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); + table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)gpa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); #if defined(VK_USE_PLATFORM_OHOS) table->CreateSurfaceOHOS = (PFN_vkCreateSurfaceOHOS)gpa(instance, "vkCreateSurfaceOHOS"); #endif // VK_USE_PLATFORM_OHOS