Hello community, here is the log from the commit of package vulkan-loader for openSUSE:Factory checked in at 2020-09-18 14:27:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vulkan-loader (Old) and /work/SRC/openSUSE:Factory/.vulkan-loader.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vulkan-loader" Fri Sep 18 14:27:46 2020 rev:27 rq:835189 version:1.2.153 Changes: -------- --- /work/SRC/openSUSE:Factory/vulkan-loader/vulkan-loader.changes 2020-09-05 23:57:17.459100263 +0200 +++ /work/SRC/openSUSE:Factory/.vulkan-loader.new.4249/vulkan-loader.changes 2020-09-18 14:28:28.191294561 +0200 @@ -1,0 +2,14 @@ +Thu Sep 10 07:47:39 UTC 2020 - Dirk Mueller <dmuel...@suse.com> + +- update to 1.2.153: + * loader: Return error if layer loading failed + * loader: Make device extensions return same count + * docs: Add info on VkConfig and override layer + +------------------------------------------------------------------- +Thu Sep 10 07:39:37 UTC 2020 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 1.2.152 + * No user-visible changes + +------------------------------------------------------------------- Old: ---- v1.2.151.tar.gz New: ---- v1.2.153.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vulkan-loader.spec ++++++ --- /var/tmp/diff_new_pack.zxbTIV/_old 2020-09-18 14:28:30.807297195 +0200 +++ /var/tmp/diff_new_pack.zxbTIV/_new 2020-09-18 14:28:30.811297200 +0200 @@ -18,7 +18,7 @@ %define lname libvulkan1 Name: vulkan-loader -Version: 1.2.151 +Version: 1.2.153 Release: 0 Summary: Reference ICD loader for Vulkan License: Apache-2.0 ++++++ v1.2.151.tar.gz -> v1.2.153.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/.travis.yml new/Vulkan-Loader-1.2.153/.travis.yml --- old/Vulkan-Loader-1.2.151/.travis.yml 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/.travis.yml 2020-09-07 21:37:45.000000000 +0200 @@ -13,14 +13,17 @@ include: # Linux GCC debug build. - os: linux + dist: bionic compiler: gcc env: VULKAN_BUILD_TARGET=LINUX # Linux clang debug build. - os: linux + dist: bionic compiler: clang env: VULKAN_BUILD_TARGET=LINUX # Linux GN debug build - os: linux + dist: bionic env: VULKAN_BUILD_TARGET=GN # MacOS clang debug build. - os: osx @@ -41,15 +44,8 @@ before_install: - set -e - - CMAKE_VERSION=3.10.2 - | - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then - # Upgrade to the desired version of CMake - CMAKE_URL="https://cmake.org/files/v${CMAKE_VERSION%.*}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" - echo CMAKE_URL=${CMAKE_URL} - mkdir cmake-${CMAKE_VERSION} && travis_retry wget --no-check-certificate -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake-${CMAKE_VERSION} - export PATH=${PWD}/cmake-${CMAKE_VERSION}/bin:${PATH} - else + if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then brew install cmake || brew upgrade cmake fi cmake --version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/BUILD.gn new/Vulkan-Loader-1.2.153/BUILD.gn --- old/Vulkan-Loader-1.2.151/BUILD.gn 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/BUILD.gn 2020-09-07 21:37:45.000000000 +0200 @@ -74,6 +74,7 @@ target(library_type, "libvulkan") { sources = [ + "loader/adapters.h", "loader/asm_offset.c", "loader/cJSON.c", "loader/cJSON.h", @@ -82,6 +83,9 @@ "loader/dev_ext_trampoline.c", "loader/extension_manual.c", "loader/extension_manual.h", + "loader/generated/vk_layer_dispatch_table.h", + "loader/generated/vk_loader_extensions.h", + "loader/generated/vk_object_types.h", "loader/gpa_helper.h", "loader/loader.c", "loader/loader.h", @@ -89,6 +93,7 @@ "loader/murmurhash.h", "loader/phys_dev_ext.c", "loader/trampoline.c", + "loader/vk_loader_layer.h", # TODO(jmadill): Use assembler where available. "loader/unknown_ext_chain.c", @@ -101,8 +106,6 @@ sources += [ "loader/dirent_on_windows.c", "loader/dirent_on_windows.h", - "loader/dxgi_loader.c", - "loader/dxgi_loader.h", "loader/vulkan-1.def", ] if (!is_clang) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/cmake/FindVulkanHeaders.cmake new/Vulkan-Loader-1.2.153/cmake/FindVulkanHeaders.cmake --- old/Vulkan-Loader-1.2.151/cmake/FindVulkanHeaders.cmake 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/cmake/FindVulkanHeaders.cmake 2020-09-07 21:37:45.000000000 +0200 @@ -87,9 +87,11 @@ find_package_handle_standard_args(VulkanHeaders DEFAULT_MSG VulkanHeaders_INCLUDE_DIR) +set(FPHSA_NAME_MISMATCHED TRUE) find_package_handle_standard_args(VulkanRegistry DEFAULT_MSG VulkanRegistry_DIR) +unset(FPHSA_NAME_MISMATCHED) mark_as_advanced(VulkanHeaders_INCLUDE_DIR VulkanRegistry_DIR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/cmake/FindWayland.cmake new/Vulkan-Loader-1.2.153/cmake/FindWayland.cmake --- old/Vulkan-Loader-1.2.151/cmake/FindWayland.cmake 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/cmake/FindWayland.cmake 2020-09-07 21:37:45.000000000 +0200 @@ -49,11 +49,13 @@ include(FindPackageHandleStandardArgs) + set(FPHSA_NAME_MISMATCHED TRUE) FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CLIENT DEFAULT_MSG WAYLAND_CLIENT_LIBRARIES WAYLAND_CLIENT_INCLUDE_DIR) FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_SERVER DEFAULT_MSG WAYLAND_SERVER_LIBRARIES WAYLAND_SERVER_INCLUDE_DIR) FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_EGL DEFAULT_MSG WAYLAND_EGL_LIBRARIES WAYLAND_EGL_INCLUDE_DIR) FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CURSOR DEFAULT_MSG WAYLAND_CURSOR_LIBRARIES WAYLAND_CURSOR_INCLUDE_DIR) FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND DEFAULT_MSG WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIR) + unset(FPHSA_NAME_MISMATCHED) MARK_AS_ADVANCED( WAYLAND_INCLUDE_DIR WAYLAND_LIBRARIES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/cmake/FindXCB.cmake new/Vulkan-Loader-1.2.153/cmake/FindXCB.cmake --- old/Vulkan-Loader-1.2.151/cmake/FindXCB.cmake 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/cmake/FindXCB.cmake 2020-09-07 21:37:45.000000000 +0200 @@ -35,9 +35,12 @@ ${PC_${comp}_LIBRARY_DIRS} ) + set(FPHSA_NAME_MISMATCHED TRUE) find_package_handle_standard_args(${comp} FOUND_VAR ${comp}_FOUND REQUIRED_VARS ${compname}_INCLUDE_DIR ${compname}_LIBRARY) + unset(FPHSA_NAME_MISMATCHED) + mark_as_advanced(${compname}_INCLUDE_DIR ${compname}_LIBRARY) list(APPEND XCB_INCLUDE_DIRS ${${compname}_INCLUDE_DIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/loader/LoaderAndLayerInterface.md new/Vulkan-Loader-1.2.153/loader/LoaderAndLayerInterface.md --- old/Vulkan-Loader-1.2.151/loader/LoaderAndLayerInterface.md 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/loader/LoaderAndLayerInterface.md 2020-09-07 21:37:45.000000000 +0200 @@ -589,10 +589,10 @@ application) while layers specified by the application are bottom-most. An example of using these environment variables to activate the validation -layer `VK_LAYER_LUNARG_parameter_validation` on Linux or macOS is as follows: +layer `VK_LAYER_KHRONOS_validation` on Linux or macOS is as follows: ``` -> $ export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_parameter_validation +> $ export VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation ``` @@ -605,14 +605,11 @@ Ordering may also be important internal to the list of explicit layers. Some layers may be dependent on other behavior being implemented before -or after the loader calls it. For example: the VK_LAYER_LUNARG_core_validation -layer expects the VK_LAYER_LUNARG_parameter_validation layer to be called first. -This is because the VK_LAYER_LUNARG_parameter_validation layer will filter out any -invalid `NULL` pointer calls prior to the rest of the validation checking -done by the VK_LAYER_LUNARG_core_validation layer. If not done properly, you may see -crashes in the VK_LAYER_LUNARG_core_validation layer that would otherwise be -avoided. - +or after the loader calls it. For example: An overlay layer may want to +to use VK_LAYER_KHRONOS_validation to verify that the overlay layer is +behaving appropriately. This requires putting the overlay layer closer to +the application so that the validation layer can intercept any Vulkan API +calls the overlay layer needs to make to function. #### Application Usage of Extensions @@ -1527,6 +1524,15 @@ Manifest file formatting necessary to define a meta-layer can be found in the [Layer Manifest File Format](#layer-manifest-file-format) section. +##### Override Meta-Layer + +If an implicit meta-layer was found on the system with the name `VK_LAYER_LUNARG_override`, +the loader uses it as an 'override' layer. This is used to selectively enable and disable +other layers from being loaded. It can be applied globally or to a specific application +or applications. Disabling layers and specifying the application requires the layer manifest have the following keys: + * `blacklisted_layers` - List of explicit layer names that should not be loaded even if requested by the application. + * `app_keys` - List of paths to executables that the override layer applies to. When an application starts up and the override layer is present, the loader first checks to see if the application is in the list. If it isn't, the override layer is not applied. If the list is empty or if `app_keys` doesn't exist, the loader makes the override layer global and applies it to every application upon startup. + #### Pre-Instance Functions Vulkan includes a small number of functions which are called without any dispatchable object. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/loader/loader.c new/Vulkan-Loader-1.2.153/loader/loader.c --- old/Vulkan-Loader-1.2.151/loader/loader.c 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/loader/loader.c 2020-09-07 21:37:45.000000000 +0200 @@ -888,7 +888,7 @@ } if (is_driver) { - HRESULT hres = fpCreateDXGIFactory1(&IID_IDXGIFactory1, &dxgi_factory); + HRESULT hres = fpCreateDXGIFactory1(&IID_IDXGIFactory1, (void **)&dxgi_factory); if (hres != S_OK) { loader_log( inst, VK_DEBUG_REPORT_WARNING_BIT_EXT, 0, @@ -5942,7 +5942,7 @@ lib_handle = loaderOpenLayerFile(inst, "instance", layer_prop); if (!lib_handle) { - continue; + return VK_ERROR_LAYER_NOT_PRESENT; } if (NULL == layer_prop->functions.negotiate_layer_interface) { @@ -7061,10 +7061,10 @@ VkResult ReadSortedPhysicalDevices(struct loader_instance *inst, struct LoaderSortedPhysicalDevice **sorted_devices, uint32_t* sorted_count) { VkResult res = VK_SUCCESS; - uint32_t sorted_alloc = 0; - struct loader_icd_term* icd_term = NULL; #if defined(_WIN32) + uint32_t sorted_alloc = 0; + struct loader_icd_term *icd_term = NULL; IDXGIFactory6* dxgi_factory = NULL; HRESULT hres = fpCreateDXGIFactory1(&IID_IDXGIFactory6, &dxgi_factory); if (hres != S_OK) { @@ -7141,7 +7141,7 @@ break; } sorted_array[*sorted_count].device_count = count; - } while (vkres = icd_term->scanned_icd->EnumerateAdapterPhysicalDevices(icd_term->instance, description.AdapterLuid, &count, sorted_array[*sorted_count].physical_devices) == VK_INCOMPLETE); + } while ((vkres = icd_term->scanned_icd->EnumerateAdapterPhysicalDevices(icd_term->instance, description.AdapterLuid, &count, sorted_array[*sorted_count].physical_devices)) == VK_INCOMPLETE); } if (vkres != VK_SUCCESS) { @@ -7562,10 +7562,26 @@ // This case is during the call down the instance chain with pLayerName == NULL struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; uint32_t icd_ext_count = *pPropertyCount; + VkExtensionProperties *icd_props_list = pProperties; VkResult res; - // Get the available device extensions - res = icd_term->dispatch.EnumerateDeviceExtensionProperties(phys_dev_term->phys_dev, NULL, &icd_ext_count, pProperties); + if (NULL == icd_props_list) { + // We need to find the count without duplicates. This requires querying the driver for the names of the extensions. + // A small amount of storage is then needed to facilitate the de-duplication. + res = icd_term->dispatch.EnumerateDeviceExtensionProperties(phys_dev_term->phys_dev, NULL, &icd_ext_count, NULL); + if (res != VK_SUCCESS) { + goto out; + } + icd_props_list = loader_instance_heap_alloc(icd_term->this_instance, sizeof(VkExtensionProperties) * icd_ext_count, + VK_SYSTEM_ALLOCATION_SCOPE_COMMAND); + if (NULL == icd_props_list) { + res = VK_ERROR_OUT_OF_HOST_MEMORY; + goto out; + } + } + + // Get the available device extension count, and if pProperties is not NULL, the extensions as well + res = icd_term->dispatch.EnumerateDeviceExtensionProperties(phys_dev_term->phys_dev, NULL, &icd_ext_count, icd_props_list); if (res != VK_SUCCESS) { goto out; } @@ -7576,36 +7592,36 @@ } loaderAddImplicitLayers(icd_term->this_instance, &implicit_layer_list, NULL, &icd_term->this_instance->instance_layer_list); + + // Initialize dev_extension list within the physicalDevice object + res = loader_init_device_extensions(icd_term->this_instance, phys_dev_term, icd_ext_count, icd_props_list, &icd_exts); + if (res != VK_SUCCESS) { + goto out; + } + // We need to determine which implicit layers are active, and then add their extensions. This can't be cached as // it depends on results of environment variables (which can change). - if (pProperties != NULL) { - // Initialize dev_extension list within the physicalDevice object - res = loader_init_device_extensions(icd_term->this_instance, phys_dev_term, icd_ext_count, pProperties, &icd_exts); - if (res != VK_SUCCESS) { - goto out; - } - - // We need to determine which implicit layers are active, and then add their extensions. This can't be cached as - // it depends on results of environment variables (which can change). - res = loader_add_to_ext_list(icd_term->this_instance, &all_exts, icd_exts.count, icd_exts.list); - if (res != VK_SUCCESS) { - goto out; - } + res = loader_add_to_ext_list(icd_term->this_instance, &all_exts, icd_exts.count, icd_exts.list); + if (res != VK_SUCCESS) { + goto out; + } - loaderAddImplicitLayers(icd_term->this_instance, &implicit_layer_list, NULL, &icd_term->this_instance->instance_layer_list); + loaderAddImplicitLayers(icd_term->this_instance, &implicit_layer_list, NULL, &icd_term->this_instance->instance_layer_list); - for (uint32_t i = 0; i < implicit_layer_list.count; i++) { - for (uint32_t j = 0; j < implicit_layer_list.list[i].device_extension_list.count; j++) { - res = loader_add_to_ext_list(icd_term->this_instance, &all_exts, 1, - &implicit_layer_list.list[i].device_extension_list.list[j].props); - if (res != VK_SUCCESS) { - goto out; - } + for (uint32_t i = 0; i < implicit_layer_list.count; i++) { + for (uint32_t j = 0; j < implicit_layer_list.list[i].device_extension_list.count; j++) { + res = loader_add_to_ext_list(icd_term->this_instance, &all_exts, 1, + &implicit_layer_list.list[i].device_extension_list.list[j].props); + if (res != VK_SUCCESS) { + goto out; } } - uint32_t capacity = *pPropertyCount; - VkExtensionProperties *props = pProperties; + } + uint32_t capacity = *pPropertyCount; + VkExtensionProperties *props = pProperties; + res = VK_SUCCESS; + if (NULL != pProperties) { for (uint32_t i = 0; i < all_exts.count && i < capacity; i++) { props[i] = all_exts.list[i]; } @@ -7617,47 +7633,7 @@ *pPropertyCount = all_exts.count; } } else { - // Have to find the number of unique extensions, ie no duplicates, as the properties list returned contains no duplicates. - - // Find the current number of extensions (with duplicates). This is the upper bound for the ext_name_list - uint32_t max_exts_num = icd_ext_count; - for (uint32_t i = 0; i < implicit_layer_list.count; i++) { - max_exts_num += implicit_layer_list.list[i].device_extension_list.count; - } - - const struct loader_instance *inst = icd_term->this_instance; - - uint32_t ext_name_count = 0; - char **ext_name_list = loader_instance_heap_alloc(inst, sizeof(char *) * max_exts_num, VK_SYSTEM_ALLOCATION_SCOPE_COMMAND); - if (ext_name_list == NULL) { - // Failed to allocate string list, bail - res = VK_ERROR_OUT_OF_HOST_MEMORY; - goto out; - } - - // Look through the implicit_layer_list of device extensions and determine if its not in the ext_name_list, add it if it - // isn't. If it is, ignore it, as it is a duplicate - for (uint32_t i = 0; i < implicit_layer_list.count; i++) { - for (uint32_t j = 0; j < implicit_layer_list.list[i].device_extension_list.count; j++) { - char *extension_name = implicit_layer_list.list[i].device_extension_list.list[j].props.extensionName; - bool in_list = false; - for (uint32_t k = 0; k < ext_name_count; k++) { - if (strncmp(extension_name, ext_name_list[k], 256) == 0) { - in_list = true; - break; - } - } - if (!in_list) { - ext_name_list[ext_name_count] = implicit_layer_list.list[i].device_extension_list.list[j].props.extensionName; - ext_name_count++; - } - } - } - loader_instance_heap_free(inst, ext_name_list); - // Add the device extensions already found. Can't check for duplicates from the devices because the names aren't available - *pPropertyCount = ext_name_count + icd_ext_count; - - res = VK_SUCCESS; + *pPropertyCount = all_exts.count; } out: @@ -7671,7 +7647,9 @@ if (NULL != icd_exts.list) { loader_destroy_generic_list(icd_term->this_instance, (struct loader_generic_list *)&icd_exts); } - + if (NULL == pProperties && NULL != icd_props_list) { + loader_instance_heap_free(icd_term->this_instance, icd_props_list); + } return res; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/loader/trampoline.c new/Vulkan-Loader-1.2.153/loader/trampoline.c --- old/Vulkan-Loader-1.2.151/loader/trampoline.c 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/loader/trampoline.c 2020-09-07 21:37:45.000000000 +0200 @@ -538,9 +538,7 @@ if (NULL != ptr_instance) { if (res != VK_SUCCESS) { - if (NULL != ptr_instance->next) { - loader.instances = ptr_instance->next; - } + loader.instances = ptr_instance->next; if (NULL != ptr_instance->disp) { loader_instance_heap_free(ptr_instance, ptr_instance->disp); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/scripts/known_good.json new/Vulkan-Loader-1.2.153/scripts/known_good.json --- old/Vulkan-Loader-1.2.151/scripts/known_good.json 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/scripts/known_good.json 2020-09-07 21:37:45.000000000 +0200 @@ -6,7 +6,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit" : "v1.2.151" + "commit" : "v1.2.153" } ], "install_names" : { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/tests/loader_validation_tests.cpp new/Vulkan-Loader-1.2.153/tests/loader_validation_tests.cpp --- old/Vulkan-Loader-1.2.151/tests/loader_validation_tests.cpp 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/tests/loader_validation_tests.cpp 2020-09-07 21:37:45.000000000 +0200 @@ -3,31 +3,26 @@ * Copyright (c) 2015-2017 Valve Corporation * Copyright (c) 2015-2017 LunarG, Inc. * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and/or associated documentation files (the "Materials"), to - * deal in the Materials without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Materials, and to permit persons to whom the Materials are - * furnished to do so, subject to the following conditions: + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * The above copyright notice(s) and this permission notice shall be included in - * all copies or substantial portions of the Materials. + * http://www.apache.org/licenses/LICENSE-2.0 * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE - * USE OR OTHER DEALINGS IN THE MATERIALS. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. * * Author: Jeremy Hayes <jer...@lunarg.com> * Author: Mark Young <ma...@lunarg.com> */ // Following items are needed for C++ to work with PRIxLEAST64 +#ifndef __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS +#endif #include <inttypes.h> #include <stdint.h> // For UINT32_MAX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.2.151/tests/test_common.h new/Vulkan-Loader-1.2.153/tests/test_common.h --- old/Vulkan-Loader-1.2.151/tests/test_common.h 2020-08-17 19:41:19.000000000 +0200 +++ new/Vulkan-Loader-1.2.153/tests/test_common.h 2020-09-07 21:37:45.000000000 +0200 @@ -34,7 +34,9 @@ #include <string.h> #ifdef _WIN32 +#ifndef NOMINMAX #define NOMINMAX +#endif // WinSock2.h must be included *BEFORE* windows.h #include <winsock2.h> #endif @@ -42,10 +44,10 @@ #include <vulkan/vk_sdk_platform.h> #include <vulkan/vulkan.h> -#ifdef _WIN32 +#ifdef _MSC_VER #pragma warning(push) /* - warnings 4251 and 4275 have to do with potential dll-interface mismatch + MSVC warnings 4251 and 4275 have to do with potential dll-interface mismatch between library (gtest) and users. Since we build the gtest library as part of the test build we know that the dll-interface will match and can disable these warnings. @@ -71,7 +73,7 @@ #pragma pop_macro("None") #endif -#ifdef _WIN32 +#ifdef _MSC_VER #pragma warning(pop) #endif