Hello community, here is the log from the commit of package vulkan-loader for openSUSE:Factory checked in at 2019-01-26 22:20:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vulkan-loader (Old) and /work/SRC/openSUSE:Factory/.vulkan-loader.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vulkan-loader" Sat Jan 26 22:20:12 2019 rev:5 rq:668284 version:1.1.97.0 Changes: -------- --- /work/SRC/openSUSE:Factory/vulkan-loader/vulkan-loader.changes 2019-01-15 13:14:16.416456732 +0100 +++ /work/SRC/openSUSE:Factory/.vulkan-loader.new.28833/vulkan-loader.changes 2019-01-26 22:20:13.274962279 +0100 @@ -1,0 +2,7 @@ +Thu Jan 24 10:31:33 UTC 2019 - Jan Engelhardt <[email protected]> + +- Update to new upstream release 1.1.97.0 + * loader: Fix memory not being zeroed after allocate + * loader: Remove duplicate scanned json files + +------------------------------------------------------------------- Old: ---- Vulkan-Loader-1.1.96.tar.xz New: ---- Vulkan-Loader-1.1.97.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vulkan-loader.spec ++++++ --- /var/tmp/diff_new_pack.V21ruR/_old 2019-01-26 22:20:13.810961844 +0100 +++ /var/tmp/diff_new_pack.V21ruR/_new 2019-01-26 22:20:13.814961842 +0100 @@ -16,11 +16,11 @@ # -%define version_unconverted 1.1.96 +%define version_unconverted 1.1.97.0 Name: vulkan-loader %define lname libvulkan1 -Version: 1.1.96 +Version: 1.1.97.0 Release: 0 Summary: Reference ICD loader for Vulkan License: Apache-2.0 ++++++ Vulkan-Loader-1.1.96.tar.xz -> Vulkan-Loader-1.1.97.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/.travis.yml new/Vulkan-Loader-1.1.97.0/.travis.yml --- old/Vulkan-Loader-1.1.96/.travis.yml 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/.travis.yml 2019-01-16 01:16:33.000000000 +0100 @@ -51,11 +51,6 @@ sudo apt-get -y install libxkbcommon-dev libwayland-dev libxrandr-dev libx11-xcb-dev fi - | - if [[ "$VULKAN_BUILD_TARGET" == "MACOS" ]]; then - # We need to upgrade to a newer python - brew upgrade python3 - fi - - | if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]] || [[ "$VULKAN_BUILD_TARGET" == "MACOS" ]]; then # Install dependencies python scripts/update_deps.py --dir=external $UPDATE_DEPS_EXTRA_OPTIONS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/COPYRIGHT.txt new/Vulkan-Loader-1.1.97.0/COPYRIGHT.txt --- old/Vulkan-Loader-1.1.96/COPYRIGHT.txt 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/COPYRIGHT.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,131 +0,0 @@ -This file contains other licenses and their copyrights that appear in this -repository besides Apache 2.0 license. - -=================================================== -/* - Copyright (c) 2009 Dave Gamble - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ - -=================================================== -/* - - Copyright Kevlin Henney, 1997, 2003, 2012. All rights reserved. - - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose is hereby granted without fee, provided - that this copyright and permissions notice appear in all copies and - derivatives. - - This software is supplied "as is" without express or implied warranty. - - But that said, if there are any problems please get in touch. - -*/ - -=================================================== -Copyright 2008, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=================================================== -Copyright 2000-2009 Kitware, Inc., Insight Software Consortium -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -* Neither the names of Kitware, Inc., the Insight Software Consortium, - nor the names of their contributors may be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=================================================== -Copyright (c) 2011 Fredrik Höglund <[email protected]> -Copyright (c) 2008 Helio Chissini de Castro, <[email protected]> -Copyright (c) 2007 Matthias Kretz, <[email protected]> - -Redistribution and use is allowed according to the terms of the BSD license. - -=================================================== -/// Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) -/// Permission is hereby granted, free of charge, to any person obtaining a copy -/// of this software and associated documentation files (the "Software"), to deal -/// in the Software without restriction, including without limitation the rights -/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -/// copies of the Software, and to permit persons to whom the Software is -/// furnished to do so, subject to the following conditions: -/// -/// The above copyright notice and this permission notice shall be included in -/// all copies or substantial portions of the Software. -/// -/// THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN -/// THE SOFTWARE. -/// diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/LICENSE.txt new/Vulkan-Loader-1.1.97.0/LICENSE.txt --- old/Vulkan-Loader-1.1.96/LICENSE.txt 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/LICENSE.txt 2019-01-16 01:16:33.000000000 +0100 @@ -1,3 +1,8 @@ +The majority of files in this project use the Apache 2.0 License. +There are a few exceptions and their license can be found in the source. +Any license deviations from Apache 2.0 are "more permissive" licenses. + +=========================================================================================== Apache License Version 2.0, January 2004 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/loader/loader.c new/Vulkan-Loader-1.1.97.0/loader/loader.c --- old/Vulkan-Loader-1.1.96/loader/loader.c 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/loader/loader.c 2019-01-16 01:16:33.000000000 +0100 @@ -492,6 +492,13 @@ LPSTR json_path, // JSON string to add to the list reg_data DWORD json_size, // size in bytes of json_path VkResult *result) { + + // Check for and ignore duplicates. + if (*reg_data && strstr(*reg_data, json_path)) { + // Success. The json_path is already in the list. + return true; + } + if (NULL == *reg_data) { *reg_data = loader_instance_heap_alloc(inst, *total_size, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE); if (NULL == *reg_data) { @@ -998,6 +1005,7 @@ return NULL; } layer_list->list = new_ptr; + memset((uint8_t *)layer_list->list + layer_list->capacity, 0, layer_list->capacity); layer_list->capacity *= 2; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/scripts/known_good.json new/Vulkan-Loader-1.1.97.0/scripts/known_good.json --- old/Vulkan-Loader-1.1.96/scripts/known_good.json 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/scripts/known_good.json 2019-01-16 01:16:33.000000000 +0100 @@ -6,7 +6,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit" : "v1.1.96" + "commit" : "v1.1.97" } ], "install_names" : { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/layers/CMakeLists.txt new/Vulkan-Loader-1.1.97.0/tests/layers/CMakeLists.txt --- old/Vulkan-Loader-1.1.96/tests/layers/CMakeLists.txt 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/layers/CMakeLists.txt 2019-01-16 01:16:33.000000000 +0100 @@ -78,7 +78,7 @@ # TARGET_FILE_DIR, specifically) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/generator.cmake" "configure_file(\"\${INPUT_FILE}\" \"\${OUTPUT_FILE}\")") -foreach(TARGET_NAME VkLayer_wrap_objects VkLayer_test VkLayer_meta) +foreach(TARGET_NAME VkLayer_wrap_objects VkLayer_test VkLayer_meta VkLayer_meta_rev) set(CONFIG_DEFINES -DINPUT_FILE="${CMAKE_CURRENT_SOURCE_DIR}/json/${TARGET_NAME}.json.in" -DVK_VERSION="${VulkanHeaders_VERSION_MAJOR}.${VulkanHeaders_VERSION_MINOR}.${VulkanHeaders_VERSION_PATCH}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/layers/VkLayer_test.def new/Vulkan-Loader-1.1.97.0/tests/layers/VkLayer_test.def --- old/Vulkan-Loader-1.1.96/tests/layers/VkLayer_test.def 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/layers/VkLayer_test.def 2019-01-16 01:16:33.000000000 +0100 @@ -27,6 +27,5 @@ LIBRARY VkLayer_test EXPORTS vkGetInstanceProcAddr -vkGetDeviceProcAddr vkEnumerateInstanceLayerProperties vkEnumerateInstanceExtensionProperties diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/layers/json/VkLayer_meta_rev.json.in new/Vulkan-Loader-1.1.97.0/tests/layers/json/VkLayer_meta_rev.json.in --- old/Vulkan-Loader-1.1.96/tests/layers/json/VkLayer_meta_rev.json.in 1970-01-01 01:00:00.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/layers/json/VkLayer_meta_rev.json.in 2019-01-16 01:16:33.000000000 +0100 @@ -0,0 +1,14 @@ +{ + "file_format_version" : "1.1.1", + "layer" : { + "name": "VK_LAYER_LUNARG_meta_rev", + "type": "GLOBAL", + "api_version": "@VK_VERSION@", + "implementation_version": "1", + "description": "LunarG Test Metalayer (Reversed)", + "component_layers": [ + "VK_LAYER_LUNARG_test", + "VK_LAYER_LUNARG_wrap_objects" + ] + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/layers/test.cpp new/Vulkan-Loader-1.1.97.0/tests/layers/test.cpp --- old/Vulkan-Loader-1.1.96/tests/layers/test.cpp 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/layers/test.cpp 2019-01-16 01:16:33.000000000 +0100 @@ -138,11 +138,6 @@ return test::GetInstanceProcAddr(instance, funcName); } -VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char *funcName) -{ - return nullptr; -} - VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pCount, VkExtensionProperties *pProperties) { return VK_ERROR_LAYER_NOT_PRESENT; @@ -164,7 +159,6 @@ // Fill in the function pointers if our version is at least capable of having the structure contain them. if (pVersionStruct->loaderLayerInterfaceVersion >= 2) { pVersionStruct->pfnGetInstanceProcAddr = vkGetInstanceProcAddr; - pVersionStruct->pfnGetDeviceProcAddr = vkGetDeviceProcAddr; pVersionStruct->pfnGetPhysicalDeviceProcAddr = vk_layerGetPhysicalDeviceProcAddr; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/layers/wrap_objects.cpp new/Vulkan-Loader-1.1.97.0/tests/layers/wrap_objects.cpp --- old/Vulkan-Loader-1.1.96/tests/layers/wrap_objects.cpp 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/layers/wrap_objects.cpp 2019-01-16 01:16:33.000000000 +0100 @@ -170,7 +170,7 @@ VkLayerDeviceCreateInfo *chain_info = get_chain_info(pCreateInfo, VK_LAYER_LINK_INFO); PFN_vkGetInstanceProcAddr fpGetInstanceProcAddr = chain_info->u.pLayerInfo->pfnNextGetInstanceProcAddr; PFN_vkGetDeviceProcAddr fpGetDeviceProcAddr = chain_info->u.pLayerInfo->pfnNextGetDeviceProcAddr; - PFN_vkCreateDevice fpCreateDevice = (PFN_vkCreateDevice) fpGetInstanceProcAddr(NULL, "vkCreateDevice"); + PFN_vkCreateDevice fpCreateDevice = (PFN_vkCreateDevice)fpGetInstanceProcAddr(phys_dev->inst->obj, "vkCreateDevice"); if (fpCreateDevice == NULL) { return VK_ERROR_INITIALIZATION_FAILED; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/loader_validation_tests.cpp new/Vulkan-Loader-1.1.97.0/tests/loader_validation_tests.cpp --- old/Vulkan-Loader-1.1.96/tests/loader_validation_tests.cpp 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/loader_validation_tests.cpp 2019-01-16 01:16:33.000000000 +0100 @@ -405,6 +405,35 @@ } } +void test_create_device(VkPhysicalDevice physical) { + uint32_t familyCount = 0; + VkResult result; + vkGetPhysicalDeviceQueueFamilyProperties(physical, &familyCount, nullptr); + ASSERT_GT(familyCount, 0u); + + std::unique_ptr<VkQueueFamilyProperties[]> family(new VkQueueFamilyProperties[familyCount]); + vkGetPhysicalDeviceQueueFamilyProperties(physical, &familyCount, family.get()); + ASSERT_GT(familyCount, 0u); + + for (uint32_t q = 0; q < familyCount; ++q) { + if (~family[q].queueFlags & VK_QUEUE_GRAPHICS_BIT) { + continue; + } + + float const priorities[] = {0.0f}; // Temporary required due to MSVC bug. + VkDeviceQueueCreateInfo const queueInfo[1]{ + VK::DeviceQueueCreateInfo().queueFamilyIndex(q).queueCount(1).pQueuePriorities(priorities)}; + + auto const deviceInfo = VK::DeviceCreateInfo().queueCreateInfoCount(1).pQueueCreateInfos(queueInfo); + + VkDevice device; + result = vkCreateDevice(physical, deviceInfo, nullptr, &device); + ASSERT_EQ(result, VK_SUCCESS); + + vkDestroyDevice(device, nullptr); + } +} + // Test groups: // LX = lunar exchange // LVLGH = loader and validation github @@ -450,17 +479,27 @@ TEST(CreateInstance, LayerPresent) { char const *const names1[] = {"VK_LAYER_LUNARG_test"}; // Temporary required due to MSVC bug. char const *const names2[] = {"VK_LAYER_LUNARG_meta"}; // Temporary required due to MSVC bug. + char const *const names3[] = {"VK_LAYER_LUNARG_meta_rev"}; // Temporary required due to MSVC bug. auto const info1 = VK::InstanceCreateInfo().enabledLayerCount(1).ppEnabledLayerNames(names1); VkInstance instance = VK_NULL_HANDLE; VkResult result = vkCreateInstance(info1, VK_NULL_HANDLE, &instance); ASSERT_EQ(result, VK_SUCCESS); vkDestroyInstance(instance, nullptr); - auto const info2 = VK::InstanceCreateInfo().enabledLayerCount(1).ppEnabledLayerNames(names2); - instance = VK_NULL_HANDLE; - result = vkCreateInstance(info2, VK_NULL_HANDLE, &instance); - ASSERT_EQ(result, VK_SUCCESS); - vkDestroyInstance(instance, nullptr); + for (auto names : {names2, names3}) { + auto const info2 = VK::InstanceCreateInfo().enabledLayerCount(1).ppEnabledLayerNames(names); + instance = VK_NULL_HANDLE; + result = vkCreateInstance(info2, VK_NULL_HANDLE, &instance); + ASSERT_EQ(result, VK_SUCCESS); + + uint32_t deviceCount; + vkEnumeratePhysicalDevices(instance, &deviceCount, nullptr); + std::vector<VkPhysicalDevice> devs(deviceCount); + vkEnumeratePhysicalDevices(instance, &deviceCount, devs.data()); + test_create_device(devs[0]); + + vkDestroyInstance(instance, nullptr); + } } // Used by run_loader_tests.sh to test that calling vkEnumeratePhysicalDevices without first querying @@ -998,33 +1037,7 @@ ASSERT_GT(physicalCount, 0u); for (uint32_t p = 0; p < physicalCount; ++p) { - uint32_t familyCount = 0; - vkGetPhysicalDeviceQueueFamilyProperties(physical[p], &familyCount, nullptr); - ASSERT_EQ(result, VK_SUCCESS); - ASSERT_GT(familyCount, 0u); - - std::unique_ptr<VkQueueFamilyProperties[]> family(new VkQueueFamilyProperties[familyCount]); - vkGetPhysicalDeviceQueueFamilyProperties(physical[p], &familyCount, family.get()); - ASSERT_EQ(result, VK_SUCCESS); - ASSERT_GT(familyCount, 0u); - - for (uint32_t q = 0; q < familyCount; ++q) { - if (~family[q].queueFlags & VK_QUEUE_GRAPHICS_BIT) { - continue; - } - - float const priorities[] = {0.0f}; // Temporary required due to MSVC bug. - VkDeviceQueueCreateInfo const queueInfo[1]{ - VK::DeviceQueueCreateInfo().queueFamilyIndex(q).queueCount(1).pQueuePriorities(priorities)}; - - auto const deviceInfo = VK::DeviceCreateInfo().queueCreateInfoCount(1).pQueueCreateInfos(queueInfo); - - VkDevice device; - result = vkCreateDevice(physical[p], deviceInfo, nullptr, &device); - ASSERT_EQ(result, VK_SUCCESS); - - vkDestroyDevice(device, nullptr); - } + test_create_device(physical[p]); } vkDestroyInstance(instance, nullptr); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Vulkan-Loader-1.1.96/tests/run_extra_loader_tests.sh new/Vulkan-Loader-1.1.97.0/tests/run_extra_loader_tests.sh --- old/Vulkan-Loader-1.1.96/tests/run_extra_loader_tests.sh 2018-12-18 19:02:44.000000000 +0100 +++ new/Vulkan-Loader-1.1.97.0/tests/run_extra_loader_tests.sh 2019-01-16 01:16:33.000000000 +0100 @@ -101,6 +101,11 @@ echo "ImplicitLayer test PASSED" } -! RunImplicitLayerTest && echo "ImplicitLayer test FAILED" >&2 && exit 1 +# Prevent the implicit layer test from running concurrently with itself in another process. +# i.e. flock the following command subshell with an automatic file descriptor. +filename=${0##*/} +( + flock "$filedesc" && ! RunImplicitLayerTest && echo "ImplicitLayer test FAILED" >&2 && exit 1 +){filedesc}>"/tmp/$filename.lockfile" popd > /dev/null ++++++ _service ++++++ --- /var/tmp/diff_new_pack.V21ruR/_old 2019-01-26 22:20:14.070961634 +0100 +++ /var/tmp/diff_new_pack.V21ruR/_new 2019-01-26 22:20:14.070961634 +0100 @@ -2,9 +2,10 @@ <service name="tar_scm" mode="disabled"> <param name="scm">git</param> <param name="url">https://github.com/KhronosGroup/Vulkan-Loader</param> - <param name="revision">v1.1.96</param> - <param name="parent-tag">v1.1.96</param> - <param name="versionformat">1.1.96</param> + <!-- vX.Y is normal, sdk-X.Y is somewhat more tested --> + <param name="revision">sdk-1.1.97.0</param> + <param name="parent-tag">v1.1.97</param> + <param name="versionformat">1.1.97.0</param> </service> <service name="recompress" mode="disabled"> <param name="file">*.tar</param>
