Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package vulkan-loader for openSUSE:Factory checked in at 2021-02-16 22:35:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vulkan-loader (Old) and /work/SRC/openSUSE:Factory/.vulkan-loader.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vulkan-loader" Tue Feb 16 22:35:51 2021 rev:33 rq:870915 version:1.2.169 Changes: -------- --- /work/SRC/openSUSE:Factory/vulkan-loader/vulkan-loader.changes 2021-01-20 18:23:04.203292975 +0100 +++ /work/SRC/openSUSE:Factory/.vulkan-loader.new.28504/vulkan-loader.changes 2021-02-16 22:40:19.217954566 +0100 @@ -1,0 +2,12 @@ +Wed Feb 10 14:03:13 UTC 2021 - Jan Engelhardt <[email protected]> + +- Update to release 1.2.169 + * loader: Do not return OOM when layer count is 0 + +------------------------------------------------------------------- +Wed Jan 27 21:56:29 UTC 2021 - Jan Engelhardt <[email protected]> + +- Update to release 1.2.166 + * No user-visible changes + +------------------------------------------------------------------- Old: ---- v1.2.165.tar.gz New: ---- v1.2.169.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vulkan-loader.spec ++++++ --- /var/tmp/diff_new_pack.EkPu46/_old 2021-02-16 22:40:20.077955597 +0100 +++ /var/tmp/diff_new_pack.EkPu46/_new 2021-02-16 22:40:20.081955602 +0100 @@ -1,7 +1,7 @@ # # spec file for package vulkan-loader # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ # Only pick versions released as /^sdk-.*/ tags %define lname libvulkan1 Name: vulkan-loader -Version: 1.2.165 +Version: 1.2.169 Release: 0 Summary: Reference ICD loader for Vulkan License: Apache-2.0 ++++++ v1.2.165.tar.gz -> v1.2.169.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/cmake/FindVulkanHeaders.cmake new/Vulkan-Loader-1.2.169/cmake/FindVulkanHeaders.cmake --- old/Vulkan-Loader-1.2.165/cmake/FindVulkanHeaders.cmake 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/cmake/FindVulkanHeaders.cmake 2021-02-08 22:34:38.000000000 +0100 @@ -74,10 +74,10 @@ else() # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, # do a normal search without hints. - find_path(VulkanHeaders_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS "${CMAKE_CURRENT_SOURCE_DIR}/external/Vulkan-Headers/include") + find_path(VulkanHeaders_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS "${CMAKE_CURRENT_SOURCE_DIR}/external/Vulkan-Headers/include" NO_CMAKE_FIND_ROOT_PATH) get_filename_component(VULKAN_REGISTRY_PATH_HINT ${VulkanHeaders_INCLUDE_DIR} DIRECTORY) find_path(VulkanRegistry_DIR NAMES vk.xml HINTS ${VULKAN_REGISTRY_PATH_HINT}/share/vulkan/registry - "${VULKAN_REGISTRY_PATH_HINT}/registry") + "${VULKAN_REGISTRY_PATH_HINT}/registry" NO_CMAKE_FIND_ROOT_PATH) endif() set(VulkanHeaders_INCLUDE_DIRS ${VulkanHeaders_INCLUDE_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/loader/CMakeLists.txt new/Vulkan-Loader-1.2.169/loader/CMakeLists.txt --- old/Vulkan-Loader-1.2.165/loader/CMakeLists.txt 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/loader/CMakeLists.txt 2021-02-08 22:34:38.000000000 +0100 @@ -259,7 +259,10 @@ "1" VERSION "${VulkanHeaders_VERSION_MAJOR}.${VulkanHeaders_VERSION_MINOR}.${VulkanHeaders_VERSION_PATCH}") - target_link_libraries(vulkan ${CMAKE_DL_LIBS} pthread m) + target_link_libraries(vulkan ${CMAKE_DL_LIBS} m) + if (NOT ANDROID) + target_link_libraries(vulkan pthread) + endif() target_link_libraries(vulkan Vulkan::Headers) if(APPLE) find_library(COREFOUNDATION_LIBRARY NAMES CoreFoundation) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/loader/debug_utils.c new/Vulkan-Loader-1.2.169/loader/debug_utils.c --- old/Vulkan-Loader-1.2.165/loader/debug_utils.c 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/loader/debug_utils.c 2021-02-08 22:34:38.000000000 +0100 @@ -405,7 +405,7 @@ continue; } - if (icd_info[storage_idx]) { + if (icd_info && icd_info[storage_idx]) { icd_term->dispatch.DestroyDebugUtilsMessengerEXT(icd_term->instance, icd_info[storage_idx], pAllocator); } storage_idx++; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/loader/loader.c new/Vulkan-Loader-1.2.169/loader/loader.c --- old/Vulkan-Loader-1.2.165/loader/loader.c 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/loader/loader.c 2021-02-08 22:34:38.000000000 +0100 @@ -1707,10 +1707,13 @@ return true; } -// Search the given layer list for a list matching the given VkLayerProperties -bool loaderListHasLayerProperty(const VkLayerProperties *vk_layer_prop, const struct loader_layer_list *list) { - for (uint32_t i = 0; i < list->count; i++) { - if (strcmp(vk_layer_prop->layerName, list->list[i].info.layerName) == 0) return true; +// Search the given array of layer names for an entry matching the given VkLayerProperties +bool loaderNamesArrayHasLayerProperty(const VkLayerProperties *vk_layer_prop, + uint32_t layer_names_count, char **layer_names) { + for (uint32_t i = 0; i < layer_names_count; i++) { + if (strcmp(vk_layer_prop->layerName, layer_names[i]) == 0) { + return true; + } } return false; } @@ -1726,7 +1729,7 @@ layer_list->capacity = 0; } -// Append non-duplicate layer properties defined in prop_list to the given layer_info list +// Append layer properties defined in prop_list to the given layer_info list VkResult loaderAddLayerPropertiesToList(const struct loader_instance *inst, struct loader_layer_list *list, uint32_t prop_list_count, const struct loader_layer_properties *props) { uint32_t i; @@ -1743,11 +1746,6 @@ for (i = 0; i < prop_list_count; i++) { layer = (struct loader_layer_properties *)&props[i]; - // Look for duplicates, and skip - if (loaderListHasLayerProperty(&layer->info, list)) { - continue; - } - // Check for enough capacity if (((list->count + 1) * sizeof(struct loader_layer_properties)) >= list->capacity) { size_t new_capacity = list->capacity * 2; @@ -1770,7 +1768,7 @@ } // Search the given search_list for any layers in the props list. Add these to the -// output layer_list. Don't add duplicates to the output layer_list. +// output layer_list. static VkResult loaderAddLayerNamesToList(const struct loader_instance *inst, struct loader_layer_list *output_list, struct loader_layer_list *expanded_output_list, uint32_t name_count, const char *const *names, const struct loader_layer_list *source_list) { @@ -1788,17 +1786,10 @@ // If not a meta-layer, simply add it. if (0 == (layer_prop->type_flags & VK_LAYER_TYPE_FLAG_META_LAYER)) { - if (!loaderListHasLayerProperty(&layer_prop->info, output_list)) { - loaderAddLayerPropertiesToList(inst, output_list, 1, layer_prop); - } - if (!loaderListHasLayerProperty(&layer_prop->info, expanded_output_list)) { - loaderAddLayerPropertiesToList(inst, expanded_output_list, 1, layer_prop); - } + loaderAddLayerPropertiesToList(inst, output_list, 1, layer_prop); + loaderAddLayerPropertiesToList(inst, expanded_output_list, 1, layer_prop); } else { - if (!loaderListHasLayerProperty(&layer_prop->info, output_list) || - !loaderListHasLayerProperty(&layer_prop->info, expanded_output_list)) { - loaderAddMetaLayer(inst, layer_prop, output_list, expanded_output_list, source_list); - } + loaderAddMetaLayer(inst, layer_prop, output_list, expanded_output_list, source_list); } } @@ -1902,17 +1893,12 @@ if (enable) { if (0 == (prop->type_flags & VK_LAYER_TYPE_FLAG_META_LAYER)) { - if (!loaderListHasLayerProperty(&prop->info, target_list)) { - loaderAddLayerPropertiesToList(inst, target_list, 1, prop); - } - if (NULL != expanded_target_list && !loaderListHasLayerProperty(&prop->info, expanded_target_list)) { + loaderAddLayerPropertiesToList(inst, target_list, 1, prop); + if (NULL != expanded_target_list) { loaderAddLayerPropertiesToList(inst, expanded_target_list, 1, prop); } } else { - if (!loaderListHasLayerProperty(&prop->info, target_list) || - (NULL != expanded_target_list && !loaderListHasLayerProperty(&prop->info, expanded_target_list))) { - loaderAddMetaLayer(inst, prop, target_list, expanded_target_list, source_list); - } + loaderAddMetaLayer(inst, prop, target_list, expanded_target_list, source_list); } } } @@ -1923,11 +1909,6 @@ const struct loader_layer_list *source_list) { bool found = true; - // If the meta-layer isn't present in the unexpanded list, add it. - if (!loaderListHasLayerProperty(&prop->info, target_list)) { - loaderAddLayerPropertiesToList(inst, target_list, 1, prop); - } - // We need to add all the individual component layers for (uint32_t comp_layer = 0; comp_layer < prop->num_component_layers; comp_layer++) { bool found_comp = false; @@ -1944,11 +1925,8 @@ if (0 != (search_prop->type_flags & VK_LAYER_TYPE_FLAG_META_LAYER)) { found = loaderAddMetaLayer(inst, search_prop, target_list, expanded_target_list, source_list); } else { - // Otherwise, just make sure it hasn't already been added to either list before we add it - if (!loaderListHasLayerProperty(&search_prop->info, target_list)) { - loaderAddLayerPropertiesToList(inst, target_list, 1, search_prop); - } - if (NULL != expanded_target_list && !loaderListHasLayerProperty(&search_prop->info, expanded_target_list)) { + loaderAddLayerPropertiesToList(inst, target_list, 1, search_prop); + if (NULL != expanded_target_list) { loaderAddLayerPropertiesToList(inst, expanded_target_list, 1, search_prop); } } @@ -1964,7 +1942,7 @@ } // Add this layer to the overall target list (not the expanded one) - if (found && !loaderListHasLayerProperty(&prop->info, target_list)) { + if (found) { loaderAddLayerPropertiesToList(inst, target_list, 1, prop); } @@ -1973,7 +1951,6 @@ // Search the source_list for any layer with a name that matches the given name and a type // that matches the given type. Add all matching layers to the target_list. -// Do not add if found loader_layer_properties is already on the target_list. VkResult loaderAddLayerNameToList(const struct loader_instance *inst, const char *name, const enum layer_type_flags type_flags, const struct loader_layer_list *source_list, struct loader_layer_list *target_list, struct loader_layer_list *expanded_target_list) { @@ -1984,12 +1961,10 @@ if (0 == strcmp(source_prop->info.layerName, name) && (source_prop->type_flags & type_flags) == type_flags) { // If not a meta-layer, simply add it. if (0 == (source_prop->type_flags & VK_LAYER_TYPE_FLAG_META_LAYER)) { - if (!loaderListHasLayerProperty(&source_prop->info, target_list) && - VK_SUCCESS == loaderAddLayerPropertiesToList(inst, target_list, 1, source_prop)) { + if (VK_SUCCESS == loaderAddLayerPropertiesToList(inst, target_list, 1, source_prop)) { found = true; } - if (!loaderListHasLayerProperty(&source_prop->info, expanded_target_list) && - VK_SUCCESS == loaderAddLayerPropertiesToList(inst, expanded_target_list, 1, source_prop)) { + if (VK_SUCCESS == loaderAddLayerPropertiesToList(inst, expanded_target_list, 1, source_prop)) { found = true; } } else { @@ -2653,11 +2628,11 @@ goto out; } // NOTE: We can't just use fseek(file, 0, SEEK_END) because that isn't guaranteed to be supported on all systems + size_t fread_ret_count = 0; do { - // We're just seeking the end of the file, so this buffer is never used char buffer[256]; - fread(buffer, 1, sizeof(buffer), file); - } while (!feof(file)); + fread_ret_count = fread(buffer, 1, 256, file); + } while (fread_ret_count == 256 && !feof(file)); len = ftell(file); fseek(file, 0, SEEK_SET); json_buf = (char *)loader_stack_alloc(len + 1); @@ -3154,7 +3129,7 @@ // Allocate buffer for layer names props->component_layer_names = loader_instance_heap_alloc(inst, sizeof(char[MAX_STRING_SIZE]) * count, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); - if (NULL == props->component_layer_names) { + if (NULL == props->component_layer_names && count > 0) { result = VK_ERROR_OUT_OF_HOST_MEMORY; goto out; } @@ -3203,7 +3178,7 @@ // Allocate the blacklist array props->blacklist_layer_names = loader_instance_heap_alloc( inst, sizeof(char[MAX_STRING_SIZE]) * props->num_blacklist_layers, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); - if (props->blacklist_layer_names == NULL) { + if (props->blacklist_layer_names == NULL && props->num_blacklist_layers > 0) { result = VK_ERROR_OUT_OF_HOST_MEMORY; goto out; } @@ -3241,7 +3216,7 @@ // Allocate buffer for override paths props->override_paths = loader_instance_heap_alloc(inst, sizeof(char[MAX_STRING_SIZE]) * count, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); - if (NULL == props->override_paths) { + if (NULL == props->override_paths && count > 0) { result = VK_ERROR_OUT_OF_HOST_MEMORY; goto out; } @@ -5927,6 +5902,7 @@ VkResult loader_create_instance_chain(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, struct loader_instance *inst, VkInstance *created_instance) { uint32_t activated_layers = 0; + char ** activated_layer_names = NULL; VkLayerInstanceCreateInfo chain_info; VkLayerInstanceLink *layer_instance_link_info = NULL; VkInstanceCreateInfo loader_create_info; @@ -5955,11 +5931,23 @@ return VK_ERROR_OUT_OF_HOST_MEMORY; } + activated_layer_names = loader_stack_alloc(sizeof(char *) * inst->expanded_activated_layer_list.count); + if (!activated_layer_names) { + loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, + "loader_create_instance_chain: Failed to alloc activated layer names array"); + return VK_ERROR_OUT_OF_HOST_MEMORY; + } + // Create instance chain of enabled layers for (int32_t i = inst->expanded_activated_layer_list.count - 1; i >= 0; i--) { struct loader_layer_properties *layer_prop = &inst->expanded_activated_layer_list.list[i]; loader_platform_dl_handle lib_handle; + // Skip it if a Layer with the same name has been already successfully activated + if (loaderNamesArrayHasLayerProperty(&layer_prop->info, activated_layers, activated_layer_names)) { + continue; + } + lib_handle = loaderOpenLayerFile(inst, "instance", layer_prop); if (!lib_handle) { continue; @@ -6047,6 +6035,8 @@ chain_info.u.pLayerInfo = &layer_instance_link_info[activated_layers]; + activated_layer_names[activated_layers] = layer_prop->info.layerName; + loader_log(inst, VK_DEBUG_REPORT_INFORMATION_BIT_EXT, 0, "Insert instance layer %s (%s)", layer_prop->info.layerName, layer_prop->lib_name); @@ -6122,6 +6112,7 @@ struct loader_device *dev, PFN_vkGetInstanceProcAddr callingLayer, PFN_vkGetDeviceProcAddr *layerNextGDPA) { uint32_t activated_layers = 0; + char ** activated_layer_names = NULL; VkLayerDeviceLink *layer_device_link_info; VkLayerDeviceCreateInfo chain_info; VkDeviceCreateInfo loader_create_info; @@ -6183,6 +6174,13 @@ return VK_ERROR_OUT_OF_HOST_MEMORY; } + activated_layer_names = loader_stack_alloc(sizeof(char *) * inst->expanded_activated_layer_list.count); + if (!activated_layer_names) { + loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, + "loader_create_instance_chain: Failed to alloc activated layer names array"); + return VK_ERROR_OUT_OF_HOST_MEMORY; + } + if (dev->expanded_activated_layer_list.count > 0) { chain_info.sType = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO; chain_info.function = VK_LAYER_LINK_INFO; @@ -6197,6 +6195,11 @@ struct loader_layer_properties *layer_prop = &dev->expanded_activated_layer_list.list[i]; loader_platform_dl_handle lib_handle; + // Skip it if a Layer with the same name has been already successfully activated + if (loaderNamesArrayHasLayerProperty(&layer_prop->info, activated_layers, activated_layer_names)) { + continue; + } + lib_handle = loaderOpenLayerFile(inst, "device", layer_prop); if (!lib_handle || done) { continue; @@ -6250,6 +6253,8 @@ nextGIPA = fpGIPA; nextGDPA = fpGDPA; + activated_layer_names[activated_layers] = layer_prop->info.layerName; + loader_log(inst, VK_DEBUG_REPORT_INFORMATION_BIT_EXT, 0, "Inserted device layer %s (%s)", layer_prop->info.layerName, layer_prop->lib_name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/loader/trampoline.c new/Vulkan-Loader-1.2.169/loader/trampoline.c --- old/Vulkan-Loader-1.2.165/loader/trampoline.c 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/loader/trampoline.c 2021-02-08 22:34:38.000000000 +0100 @@ -122,7 +122,7 @@ // We'll need to save the dl handles so we can close them later loader_platform_dl_handle *libs = malloc(sizeof(loader_platform_dl_handle) * layers.count); - if (libs == NULL) { + if (libs == NULL && layers.count > 0) { return VK_ERROR_OUT_OF_HOST_MEMORY; } size_t lib_count = 0; @@ -216,7 +216,7 @@ // We'll need to save the dl handles so we can close them later loader_platform_dl_handle *libs = malloc(sizeof(loader_platform_dl_handle) * layers.count); - if (libs == NULL) { + if (libs == NULL && layers.count > 0) { return VK_ERROR_OUT_OF_HOST_MEMORY; } size_t lib_count = 0; @@ -310,7 +310,7 @@ // We'll need to save the dl handles so we can close them later loader_platform_dl_handle *libs = malloc(sizeof(loader_platform_dl_handle) * layers.count); - if (libs == NULL) { + if (libs == NULL && layers.count > 0) { return VK_ERROR_OUT_OF_HOST_MEMORY; } size_t lib_count = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/loader/wsi.c new/Vulkan-Loader-1.2.169/loader/wsi.c --- old/Vulkan-Loader-1.2.165/loader/wsi.c 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/loader/wsi.c 2021-02-08 22:34:38.000000000 +0100 @@ -1095,19 +1095,19 @@ // Functions for the VK_KHR_android_surface extension: // This is the trampoline entrypoint for CreateAndroidSurfaceKHR -LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(VkInstance instance, ANativeWindow *window, +LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) { const VkLayerInstanceDispatchTable *disp; disp = loader_get_instance_layer_dispatch(instance); VkResult res; - res = disp->CreateAndroidSurfaceKHR(instance, window, pAllocator, pSurface); + res = disp->CreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); return res; } // This is the instance chain terminator function for CreateAndroidSurfaceKHR -VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateAndroidSurfaceKHR(VkInstance instance, Window window, +VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) { // First, check to ensure the appropriate extension was enabled: struct loader_instance *ptr_instance = loader_get_instance(instance); @@ -1125,7 +1125,7 @@ } pIcdSurface->base.platform = VK_ICD_WSI_PLATFORM_ANDROID; - pIcdSurface->window = window; + pIcdSurface->window = pCreateInfo->window; *pSurface = (VkSurfaceKHR)pIcdSurface; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/loader/wsi.h new/Vulkan-Loader-1.2.169/loader/wsi.h --- old/Vulkan-Loader-1.2.165/loader/wsi.h 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/loader/wsi.h 2021-02-08 22:34:38.000000000 +0100 @@ -207,6 +207,11 @@ const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface); #endif +#ifdef VK_USE_PLATFORM_ANDROID_KHR +VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateAndroidSurfaceKHR(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR *pCreateInfo, + const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface); +#endif + VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkSurfaceCapabilities2KHR *pSurfaceCapabilities); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.165/scripts/known_good.json new/Vulkan-Loader-1.2.169/scripts/known_good.json --- old/Vulkan-Loader-1.2.165/scripts/known_good.json 2020-12-20 02:07:29.000000000 +0100 +++ new/Vulkan-Loader-1.2.169/scripts/known_good.json 2021-02-08 22:34:38.000000000 +0100 @@ -6,7 +6,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit" : "v1.2.165" + "commit" : "v1.2.169" } ], "install_names" : {
