From e77a24e467d6cd3dbd949dedd057bc7c8b940a69 Mon Sep 17 00:00:00 2001 From: Charles Giessen Date: Tue, 16 Jul 2024 00:40:57 -0500 Subject: [PATCH] Make layer interface deprecation notice conditional The notice that renaming vkGetInstanceProcAddr and vkGetDeviceProcAddr functions in the layer manifest is deprecated will now only be printed if the layer does not also rename the vkNegotiateLoaderLayerInterfaceVersion function. --- loader/loader.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/loader/loader.c b/loader/loader.c index 3815ef18..715f7531 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -2573,7 +2573,8 @@ VkResult loader_read_layer_json(const struct loader_instance *inst, struct loade result = loader_parse_json_string(functions, "vkGetInstanceProcAddr", &props.functions.str_gipa); if (result == VK_ERROR_OUT_OF_HOST_MEMORY) goto out; - if (props.functions.str_gipa && loader_check_version_meets_required(loader_combine_version(1, 1, 0), version)) { + if (NULL == props.functions.str_negotiate_interface && props.functions.str_gipa && + loader_check_version_meets_required(loader_combine_version(1, 1, 0), version)) { loader_log(inst, VULKAN_LOADER_INFO_BIT, 0, "Layer \"%s\" using deprecated \'vkGetInstanceProcAddr\' tag which was deprecated starting with JSON " "file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for " @@ -2584,7 +2585,8 @@ VkResult loader_read_layer_json(const struct loader_instance *inst, struct loade result = loader_parse_json_string(functions, "vkGetDeviceProcAddr", &props.functions.str_gdpa); if (result == VK_ERROR_OUT_OF_HOST_MEMORY) goto out; - if (props.functions.str_gdpa && loader_check_version_meets_required(loader_combine_version(1, 1, 0), version)) { + if (NULL == props.functions.str_negotiate_interface && props.functions.str_gdpa && + loader_check_version_meets_required(loader_combine_version(1, 1, 0), version)) { loader_log(inst, VULKAN_LOADER_INFO_BIT, 0, "Layer \"%s\" using deprecated \'vkGetDeviceProcAddr\' tag which was deprecated starting with JSON " "file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for " -- 2.34.1