Hello community,

here is the log from the commit of package vulkan-loader for openSUSE:Factory 
checked in at 2019-12-18 14:43:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vulkan-loader (Old)
 and      /work/SRC/openSUSE:Factory/.vulkan-loader.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vulkan-loader"

Wed Dec 18 14:43:40 2019 rev:15 rq:756643 version:1.1.130

Changes:
--------
--- /work/SRC/openSUSE:Factory/vulkan-loader/vulkan-loader.changes      
2019-11-11 13:00:07.985673971 +0100
+++ /work/SRC/openSUSE:Factory/.vulkan-loader.new.4691/vulkan-loader.changes    
2019-12-18 14:47:01.877903294 +0100
@@ -1,0 +2,7 @@
+Thu Dec 12 19:30:43 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Update to release 1.1.130
+  * Support for vkGetPhysicalDeviceToolPropertiesEXT and other
+    new extensions (cf. vulkan-docs).
+
+-------------------------------------------------------------------

Old:
----
  v1.1.127.tar.gz

New:
----
  v1.1.130.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vulkan-loader.spec ++++++
--- /var/tmp/diff_new_pack.dJeqG5/_old  2019-12-18 14:47:03.521904046 +0100
+++ /var/tmp/diff_new_pack.dJeqG5/_new  2019-12-18 14:47:03.553904060 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package vulkan-loader
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 Name:           vulkan-loader
 %define lname  libvulkan1
-Version:        1.1.127
+Version:        1.1.130
 Release:        0
 Summary:        Reference ICD loader for Vulkan
 License:        Apache-2.0

++++++ v1.1.127.tar.gz -> v1.1.130.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/BUILD.gn 
new/Vulkan-Loader-1.1.130/BUILD.gn
--- old/Vulkan-Loader-1.1.127/BUILD.gn  2019-11-04 18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/BUILD.gn  2019-12-10 22:48:13.000000000 +0100
@@ -51,7 +51,10 @@
     "loader/generated",
     "loader",
   ]
-  defines = [ "API_NAME=\"Vulkan\"" ]
+  defines = [
+    "API_NAME=\"Vulkan\"",
+    "USE_UNSAFE_FILE_SEARCH=1"
+  ]
 
   if (is_win) {
     cflags = [ "/wd4201" ]
@@ -94,9 +97,13 @@
       "loader/wsi.h",
     ]
     if (is_win) {
+      output_name = "vulkan-1"
       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) {
         cflags = [
@@ -112,6 +119,10 @@
           "/wd4996",  # Unsafe stdlib function
         ]
       }
+      if (is_clang) {
+          cflags = [ "-Wno-incompatible-pointer-types" ]
+      }
+      libs = [ "Cfgmgr32.lib" ]
     }
     if (is_mac) {
       libs = [ "CoreFoundation.framework" ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/CMakeLists.txt 
new/Vulkan-Loader-1.1.130/CMakeLists.txt
--- old/Vulkan-Loader-1.1.127/CMakeLists.txt    2019-11-04 18:48:06.000000000 
+0100
+++ new/Vulkan-Loader-1.1.130/CMakeLists.txt    2019-12-10 22:48:13.000000000 
+0100
@@ -120,7 +120,6 @@
 
 if(WIN32)
     option(ENABLE_WIN10_ONECORE "Link the loader with OneCore umbrella 
libraries" OFF)
-    option(ENABLE_STATIC_LOADER "Build the loader as a static library" OFF)
 endif()
 
 option(BUILD_LOADER "Build loader" ON)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/cmake/FindVulkanHeaders.cmake 
new/Vulkan-Loader-1.1.130/cmake/FindVulkanHeaders.cmake
--- old/Vulkan-Loader-1.1.127/cmake/FindVulkanHeaders.cmake     2019-11-04 
18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/cmake/FindVulkanHeaders.cmake     2019-12-10 
22:48:13.000000000 +0100
@@ -45,21 +45,38 @@
 #   VulkanRegistry_DIR           - the VulkanRegistry directory
 #
 
-# Use HINTS instead of PATH to search these locations before
-# searching system environment variables like $PATH that may
-# contain SDK directories.
-find_path(VulkanHeaders_INCLUDE_DIR
-    NAMES vulkan/vulkan.h
-    HINTS
-        ${VULKAN_HEADERS_INSTALL_DIR}/include
-        "$ENV{VULKAN_HEADERS_INSTALL_DIR}/include"
-        "$ENV{VULKAN_SDK}/include")
+# Probe command-line arguments and the environment to see if they specify the
+# Vulkan headers installation path.
+if(NOT DEFINED VULKAN_HEADERS_INSTALL_DIR)
+  if (DEFINED ENV{VULKAN_HEADERS_INSTALL_DIR})
+    set(VULKAN_HEADERS_INSTALL_DIR "$ENV{VULKAN_HEADERS_INSTALL_DIR}")
+  elseif(DEFINED ENV{VULKAN_SDK})
+    set(VULKAN_HEADERS_INSTALL_DIR "$ENV{VULKAN_SDK}/include")
+  endif()
+endif()
+
+if(DEFINED VULKAN_HEADERS_INSTALL_DIR)
+  # When CMAKE_FIND_ROOT_PATH_INCLUDE is set to ONLY, the HINTS in find_path()
+  # are re-rooted, which prevents VULKAN_HEADERS_INSTALL_DIR to work as
+  # expected. So use NO_CMAKE_FIND_ROOT_PATH to avoid it.
 
-if(VulkanHeaders_INCLUDE_DIR)
-   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")
+  # Use HINTS instead of PATH to search these locations before
+  # searching system environment variables like $PATH that may
+  # contain SDK directories.
+  find_path(VulkanHeaders_INCLUDE_DIR
+      NAMES vulkan/vulkan.h
+      HINTS ${VULKAN_HEADERS_INSTALL_DIR}/include
+      NO_CMAKE_FIND_ROOT_PATH)
+  find_path(VulkanRegistry_DIR
+      NAMES vk.xml
+      HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry
+      NO_CMAKE_FIND_ROOT_PATH)
+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)
+  get_filename_component(VULKAN_REGISTRY_PATH_HINT 
${VulkanHeaders_INCLUDE_DIR} DIRECTORY)
+  find_path(VulkanRegistry_DIR NAMES vk.xml HINTS ${VULKAN_REGISTRY_PATH_HINT})
 endif()
 
 set(VulkanHeaders_INCLUDE_DIRS ${VulkanHeaders_INCLUDE_DIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/loader/CMakeLists.txt 
new/Vulkan-Loader-1.1.130/loader/CMakeLists.txt
--- old/Vulkan-Loader-1.1.127/loader/CMakeLists.txt     2019-11-04 
18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/loader/CMakeLists.txt     2019-12-10 
22:48:13.000000000 +0100
@@ -23,6 +23,9 @@
 
 check_function_exists(secure_getenv HAVE_SECURE_GETENV)
 check_function_exists(__secure_getenv HAVE___SECURE_GETENV)
+if(NOT (HAVE_SECURE_GETENV OR HAVE__SECURE_GETENV))
+    message(WARNING "Using non-secure environmental lookups. This loader will 
not properly disable environent variables when run with elevated permissions.")
+endif()
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/loader_cmake_config.h.in 
${CMAKE_CURRENT_BINARY_DIR}/loader_cmake_config.h)
 
 if(WIN32)
@@ -186,31 +189,19 @@
     target_compile_options(loader-opt PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS})
     target_include_directories(loader-opt PRIVATE 
"$<TARGET_PROPERTY:Vulkan::Headers,INTERFACE_INCLUDE_DIRECTORIES>")
 
-    if(NOT ENABLE_STATIC_LOADER)
-        target_compile_definitions(loader-norm PUBLIC LOADER_DYNAMIC_LIB)
-        target_compile_definitions(loader-opt PUBLIC LOADER_DYNAMIC_LIB)
-
-        add_library(vulkan
-                    SHARED
-                    $<TARGET_OBJECTS:loader-opt>
-                    $<TARGET_OBJECTS:loader-norm>
-                    $<TARGET_OBJECTS:loader-unknown-chain>
-                    ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1.def
-                    ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
-        set_target_properties(vulkan
-                              PROPERTIES LINK_FLAGS_DEBUG
-                                         "/ignore:4098"
-                                         OUTPUT_NAME
-                                         vulkan-1)
-        target_link_libraries(vulkan Vulkan::Headers)
-    else()
-        add_library(vulkan
-                    STATIC
-                    $<TARGET_OBJECTS:loader-opt>
-                    $<TARGET_OBJECTS:loader-norm>
-                    $<TARGET_OBJECTS:loader-unknown-chain>)
-        set_target_properties(vulkan PROPERTIES OUTPUT_NAME VKstatic.1)
-    endif()
+    add_library(vulkan
+                SHARED
+                $<TARGET_OBJECTS:loader-opt>
+                $<TARGET_OBJECTS:loader-norm>
+                $<TARGET_OBJECTS:loader-unknown-chain>
+                ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1.def
+                ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
+    set_target_properties(vulkan
+                          PROPERTIES LINK_FLAGS_DEBUG
+                                     "/ignore:4098"
+                                     OUTPUT_NAME
+                                     vulkan-1)
+    target_link_libraries(vulkan Vulkan::Headers)
 
     if(ENABLE_WIN10_ONECORE)
         target_link_libraries(vulkan OneCoreUAP.lib LIBCMT.LIB LIBCMTD.LIB 
LIBVCRUNTIME.LIB LIBUCRT.LIB)
@@ -233,7 +224,6 @@
 
     add_library(vulkan SHARED ${NORMAL_LOADER_SRCS} ${OPT_LOADER_SRCS})
     add_dependencies(vulkan loader_asm_gen_files)
-    target_compile_definitions(vulkan PUBLIC LOADER_DYNAMIC_LIB)
     set_target_properties(vulkan
                           PROPERTIES SOVERSION
                                      "1"
@@ -266,7 +256,6 @@
             ${VulkanHeaders_INCLUDE_DIRS}/vulkan/vulkan.hpp)
         add_library(vulkan-framework SHARED ${NORMAL_LOADER_SRCS} 
${OPT_LOADER_SRCS} ${FRAMEWORK_HEADERS})
         add_dependencies(vulkan-framework loader_asm_gen_files)
-        target_compile_definitions(vulkan-framework PUBLIC LOADER_DYNAMIC_LIB)
         target_link_libraries(vulkan-framework -ldl -lpthread -lm "-framework 
CoreFoundation")
         target_link_libraries(vulkan-framework Vulkan::Headers)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Loader-1.1.127/loader/generated/vk_dispatch_table_helper.h 
new/Vulkan-Loader-1.1.130/loader/generated/vk_dispatch_table_helper.h
--- old/Vulkan-Loader-1.1.127/loader/generated/vk_dispatch_table_helper.h       
2019-11-04 18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/loader/generated/vk_dispatch_table_helper.h       
2019-12-10 22:48:13.000000000 +0100
@@ -76,6 +76,8 @@
 #endif // VK_USE_PLATFORM_WIN32_KHR
 static VKAPI_ATTR VkResult VKAPI_CALL StubImportFenceFdKHR(VkDevice device, 
const VkImportFenceFdInfoKHR* pImportFenceFdInfo) { return VK_SUCCESS; };
 static VKAPI_ATTR VkResult VKAPI_CALL StubGetFenceFdKHR(VkDevice device, const 
VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) { return VK_SUCCESS; };
+static VKAPI_ATTR VkResult VKAPI_CALL StubAcquireProfilingLockKHR(VkDevice 
device, const VkAcquireProfilingLockInfoKHR* pInfo) { return VK_SUCCESS; };
+static VKAPI_ATTR void VKAPI_CALL StubReleaseProfilingLockKHR(VkDevice device) 
{  };
 static VKAPI_ATTR void VKAPI_CALL StubGetImageMemoryRequirements2KHR(VkDevice 
device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* 
pMemoryRequirements) {  };
 static VKAPI_ATTR void VKAPI_CALL StubGetBufferMemoryRequirements2KHR(VkDevice 
device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* 
pMemoryRequirements) {  };
 static VKAPI_ATTR void VKAPI_CALL 
StubGetImageSparseMemoryRequirements2KHR(VkDevice device, const 
VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* 
pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* 
pSparseMemoryRequirements) {  };
@@ -89,6 +91,9 @@
 static VKAPI_ATTR VkResult VKAPI_CALL StubGetSemaphoreCounterValueKHR(VkDevice 
device, VkSemaphore semaphore, uint64_t* pValue) { return VK_SUCCESS; };
 static VKAPI_ATTR VkResult VKAPI_CALL StubWaitSemaphoresKHR(VkDevice device, 
const VkSemaphoreWaitInfoKHR* pWaitInfo, uint64_t timeout) { return VK_SUCCESS; 
};
 static VKAPI_ATTR VkResult VKAPI_CALL StubSignalSemaphoreKHR(VkDevice device, 
const VkSemaphoreSignalInfoKHR* pSignalInfo) { return VK_SUCCESS; };
+static VKAPI_ATTR void VKAPI_CALL StubGetBufferDeviceAddressKHR(VkDevice 
device, const VkBufferDeviceAddressInfoKHR* pInfo) {  };
+static VKAPI_ATTR void VKAPI_CALL 
StubGetBufferOpaqueCaptureAddressKHR(VkDevice device, const 
VkBufferDeviceAddressInfoKHR* pInfo) {  };
+static VKAPI_ATTR void VKAPI_CALL 
StubGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device, const 
VkDeviceMemoryOpaqueCaptureAddressInfoKHR* pInfo) {  };
 static VKAPI_ATTR VkResult VKAPI_CALL 
StubGetPipelineExecutablePropertiesKHR(VkDevice                        device, 
const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, 
VkPipelineExecutablePropertiesKHR* pProperties) { return VK_SUCCESS; };
 static VKAPI_ATTR VkResult VKAPI_CALL 
StubGetPipelineExecutableStatisticsKHR(VkDevice                        device, 
const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, 
VkPipelineExecutableStatisticKHR* pStatistics) { return VK_SUCCESS; };
 static VKAPI_ATTR VkResult VKAPI_CALL 
StubGetPipelineExecutableInternalRepresentationsKHR(VkDevice                    
    device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* 
pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* 
pInternalRepresentations) { return VK_SUCCESS; };
@@ -175,7 +180,7 @@
 static VKAPI_ATTR VkResult VKAPI_CALL 
StubQueueSetPerformanceConfigurationINTEL(VkQueue queue, 
VkPerformanceConfigurationINTEL configuration) { return VK_SUCCESS; };
 static VKAPI_ATTR VkResult VKAPI_CALL 
StubGetPerformanceParameterINTEL(VkDevice device, 
VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) { 
return VK_SUCCESS; };
 static VKAPI_ATTR void VKAPI_CALL StubSetLocalDimmingAMD(VkDevice device, 
VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) {  };
-static VKAPI_ATTR void VKAPI_CALL StubGetBufferDeviceAddressEXT(VkDevice 
device, const VkBufferDeviceAddressInfoEXT* pInfo) {  };
+static VKAPI_ATTR void VKAPI_CALL StubGetBufferDeviceAddressEXT(VkDevice 
device, const VkBufferDeviceAddressInfoKHR* pInfo) {  };
 #ifdef VK_USE_PLATFORM_WIN32_KHR
 static VKAPI_ATTR VkResult VKAPI_CALL 
StubAcquireFullScreenExclusiveModeEXT(VkDevice device, VkSwapchainKHR 
swapchain) { return VK_SUCCESS; };
 #endif // VK_USE_PLATFORM_WIN32_KHR
@@ -412,6 +417,10 @@
     if (table->ImportFenceFdKHR == nullptr) { table->ImportFenceFdKHR = 
(PFN_vkImportFenceFdKHR)StubImportFenceFdKHR; }
     table->GetFenceFdKHR = (PFN_vkGetFenceFdKHR) gpa(device, 
"vkGetFenceFdKHR");
     if (table->GetFenceFdKHR == nullptr) { table->GetFenceFdKHR = 
(PFN_vkGetFenceFdKHR)StubGetFenceFdKHR; }
+    table->AcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR) 
gpa(device, "vkAcquireProfilingLockKHR");
+    if (table->AcquireProfilingLockKHR == nullptr) { 
table->AcquireProfilingLockKHR = 
(PFN_vkAcquireProfilingLockKHR)StubAcquireProfilingLockKHR; }
+    table->ReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR) 
gpa(device, "vkReleaseProfilingLockKHR");
+    if (table->ReleaseProfilingLockKHR == nullptr) { 
table->ReleaseProfilingLockKHR = 
(PFN_vkReleaseProfilingLockKHR)StubReleaseProfilingLockKHR; }
     table->GetImageMemoryRequirements2KHR = 
(PFN_vkGetImageMemoryRequirements2KHR) gpa(device, 
"vkGetImageMemoryRequirements2KHR");
     if (table->GetImageMemoryRequirements2KHR == nullptr) { 
table->GetImageMemoryRequirements2KHR = 
(PFN_vkGetImageMemoryRequirements2KHR)StubGetImageMemoryRequirements2KHR; }
     table->GetBufferMemoryRequirements2KHR = 
(PFN_vkGetBufferMemoryRequirements2KHR) gpa(device, 
"vkGetBufferMemoryRequirements2KHR");
@@ -438,6 +447,12 @@
     if (table->WaitSemaphoresKHR == nullptr) { table->WaitSemaphoresKHR = 
(PFN_vkWaitSemaphoresKHR)StubWaitSemaphoresKHR; }
     table->SignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR) gpa(device, 
"vkSignalSemaphoreKHR");
     if (table->SignalSemaphoreKHR == nullptr) { table->SignalSemaphoreKHR = 
(PFN_vkSignalSemaphoreKHR)StubSignalSemaphoreKHR; }
+    table->GetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR) 
gpa(device, "vkGetBufferDeviceAddressKHR");
+    if (table->GetBufferDeviceAddressKHR == nullptr) { 
table->GetBufferDeviceAddressKHR = 
(PFN_vkGetBufferDeviceAddressKHR)StubGetBufferDeviceAddressKHR; }
+    table->GetBufferOpaqueCaptureAddressKHR = 
(PFN_vkGetBufferOpaqueCaptureAddressKHR) gpa(device, 
"vkGetBufferOpaqueCaptureAddressKHR");
+    if (table->GetBufferOpaqueCaptureAddressKHR == nullptr) { 
table->GetBufferOpaqueCaptureAddressKHR = 
(PFN_vkGetBufferOpaqueCaptureAddressKHR)StubGetBufferOpaqueCaptureAddressKHR; }
+    table->GetDeviceMemoryOpaqueCaptureAddressKHR = 
(PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR) gpa(device, 
"vkGetDeviceMemoryOpaqueCaptureAddressKHR");
+    if (table->GetDeviceMemoryOpaqueCaptureAddressKHR == nullptr) { 
table->GetDeviceMemoryOpaqueCaptureAddressKHR = 
(PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)StubGetDeviceMemoryOpaqueCaptureAddressKHR;
 }
     table->GetPipelineExecutablePropertiesKHR = 
(PFN_vkGetPipelineExecutablePropertiesKHR) gpa(device, 
"vkGetPipelineExecutablePropertiesKHR");
     if (table->GetPipelineExecutablePropertiesKHR == nullptr) { 
table->GetPipelineExecutablePropertiesKHR = 
(PFN_vkGetPipelineExecutablePropertiesKHR)StubGetPipelineExecutablePropertiesKHR;
 }
     table->GetPipelineExecutableStatisticsKHR = 
(PFN_vkGetPipelineExecutableStatisticsKHR) gpa(device, 
"vkGetPipelineExecutableStatisticsKHR");
@@ -710,6 +725,8 @@
     table->GetPhysicalDeviceExternalBufferPropertiesKHR = 
(PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR) gpa(instance, 
"vkGetPhysicalDeviceExternalBufferPropertiesKHR");
     table->GetPhysicalDeviceExternalSemaphorePropertiesKHR = 
(PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR) gpa(instance, 
"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
     table->GetPhysicalDeviceExternalFencePropertiesKHR = 
(PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR) gpa(instance, 
"vkGetPhysicalDeviceExternalFencePropertiesKHR");
+    table->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 
(PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR) 
gpa(instance, 
"vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
+    table->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 
(PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR) gpa(instance, 
"vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
     table->GetPhysicalDeviceSurfaceCapabilities2KHR = 
(PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR) gpa(instance, 
"vkGetPhysicalDeviceSurfaceCapabilities2KHR");
     table->GetPhysicalDeviceSurfaceFormats2KHR = 
(PFN_vkGetPhysicalDeviceSurfaceFormats2KHR) gpa(instance, 
"vkGetPhysicalDeviceSurfaceFormats2KHR");
     table->GetPhysicalDeviceDisplayProperties2KHR = 
(PFN_vkGetPhysicalDeviceDisplayProperties2KHR) gpa(instance, 
"vkGetPhysicalDeviceDisplayProperties2KHR");
@@ -752,6 +769,7 @@
 #ifdef VK_USE_PLATFORM_METAL_EXT
     table->CreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT) gpa(instance, 
"vkCreateMetalSurfaceEXT");
 #endif // VK_USE_PLATFORM_METAL_EXT
+    table->GetPhysicalDeviceToolPropertiesEXT = 
(PFN_vkGetPhysicalDeviceToolPropertiesEXT) gpa(instance, 
"vkGetPhysicalDeviceToolPropertiesEXT");
     table->GetPhysicalDeviceCooperativeMatrixPropertiesNV = 
(PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV) gpa(instance, 
"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
     table->GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 
(PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV) 
gpa(instance, 
"vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
 #ifdef VK_USE_PLATFORM_WIN32_KHR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Loader-1.1.127/loader/generated/vk_layer_dispatch_table.h 
new/Vulkan-Loader-1.1.130/loader/generated/vk_layer_dispatch_table.h
--- old/Vulkan-Loader-1.1.127/loader/generated/vk_layer_dispatch_table.h        
2019-11-04 18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/loader/generated/vk_layer_dispatch_table.h        
2019-12-10 22:48:13.000000000 +0100
@@ -140,6 +140,10 @@
     // ---- VK_KHR_external_fence_capabilities extension commands
     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR 
GetPhysicalDeviceExternalFencePropertiesKHR;
 
+    // ---- VK_KHR_performance_query extension commands
+    PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 
EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
+    PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR 
GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR 
GetPhysicalDeviceSurfaceCapabilities2KHR;
     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR 
GetPhysicalDeviceSurfaceFormats2KHR;
@@ -216,6 +220,9 @@
     PFN_vkCreateMetalSurfaceEXT CreateMetalSurfaceEXT;
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+    // ---- VK_EXT_tooling_info extension commands
+    PFN_vkGetPhysicalDeviceToolPropertiesEXT 
GetPhysicalDeviceToolPropertiesEXT;
+
     // ---- VK_NV_cooperative_matrix extension commands
     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV 
GetPhysicalDeviceCooperativeMatrixPropertiesNV;
 
@@ -450,6 +457,10 @@
     PFN_vkImportFenceFdKHR ImportFenceFdKHR;
     PFN_vkGetFenceFdKHR GetFenceFdKHR;
 
+    // ---- VK_KHR_performance_query extension commands
+    PFN_vkAcquireProfilingLockKHR AcquireProfilingLockKHR;
+    PFN_vkReleaseProfilingLockKHR ReleaseProfilingLockKHR;
+
     // ---- VK_KHR_get_memory_requirements2 extension commands
     PFN_vkGetImageMemoryRequirements2KHR GetImageMemoryRequirements2KHR;
     PFN_vkGetBufferMemoryRequirements2KHR GetBufferMemoryRequirements2KHR;
@@ -475,6 +486,11 @@
     PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR;
     PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR;
 
+    // ---- VK_KHR_buffer_device_address extension commands
+    PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR;
+    PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR;
+    PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR 
GetDeviceMemoryOpaqueCaptureAddressKHR;
+
     // ---- VK_KHR_pipeline_executable_properties extension commands
     PFN_vkGetPipelineExecutablePropertiesKHR 
GetPipelineExecutablePropertiesKHR;
     PFN_vkGetPipelineExecutableStatisticsKHR 
GetPipelineExecutableStatisticsKHR;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Loader-1.1.127/loader/generated/vk_loader_extensions.c 
new/Vulkan-Loader-1.1.130/loader/generated/vk_loader_extensions.c
--- old/Vulkan-Loader-1.1.127/loader/generated/vk_loader_extensions.c   
2019-11-04 18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/loader/generated/vk_loader_extensions.c   
2019-12-10 22:48:13.000000000 +0100
@@ -172,6 +172,10 @@
     // ---- VK_KHR_external_fence_capabilities extension commands
     LOOKUP_GIPA(GetPhysicalDeviceExternalFencePropertiesKHR, false);
 
+    // ---- VK_KHR_performance_query extension commands
+    LOOKUP_GIPA(EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, 
false);
+    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, false);
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     LOOKUP_GIPA(GetPhysicalDeviceSurfaceCapabilities2KHR, false);
     LOOKUP_GIPA(GetPhysicalDeviceSurfaceFormats2KHR, false);
@@ -254,6 +258,9 @@
     LOOKUP_GIPA(CreateMetalSurfaceEXT, false);
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+    // ---- VK_EXT_tooling_info extension commands
+    LOOKUP_GIPA(GetPhysicalDeviceToolPropertiesEXT, false);
+
     // ---- VK_NV_cooperative_matrix extension commands
     LOOKUP_GIPA(GetPhysicalDeviceCooperativeMatrixPropertiesNV, false);
 
@@ -507,6 +514,10 @@
     table->ImportFenceFdKHR = (PFN_vkImportFenceFdKHR)gdpa(dev, 
"vkImportFenceFdKHR");
     table->GetFenceFdKHR = (PFN_vkGetFenceFdKHR)gdpa(dev, "vkGetFenceFdKHR");
 
+    // ---- VK_KHR_performance_query extension commands
+    table->AcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)gdpa(dev, 
"vkAcquireProfilingLockKHR");
+    table->ReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)gdpa(dev, 
"vkReleaseProfilingLockKHR");
+
     // ---- VK_KHR_get_memory_requirements2 extension commands
     table->GetImageMemoryRequirements2KHR = 
(PFN_vkGetImageMemoryRequirements2KHR)gdpa(dev, 
"vkGetImageMemoryRequirements2KHR");
     table->GetBufferMemoryRequirements2KHR = 
(PFN_vkGetBufferMemoryRequirements2KHR)gdpa(dev, 
"vkGetBufferMemoryRequirements2KHR");
@@ -532,6 +543,11 @@
     table->WaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)gdpa(dev, 
"vkWaitSemaphoresKHR");
     table->SignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)gdpa(dev, 
"vkSignalSemaphoreKHR");
 
+    // ---- VK_KHR_buffer_device_address extension commands
+    table->GetBufferDeviceAddressKHR = 
(PFN_vkGetBufferDeviceAddressKHR)gdpa(dev, "vkGetBufferDeviceAddressKHR");
+    table->GetBufferOpaqueCaptureAddressKHR = 
(PFN_vkGetBufferOpaqueCaptureAddressKHR)gdpa(dev, 
"vkGetBufferOpaqueCaptureAddressKHR");
+    table->GetDeviceMemoryOpaqueCaptureAddressKHR = 
(PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)gdpa(dev, 
"vkGetDeviceMemoryOpaqueCaptureAddressKHR");
+
     // ---- VK_KHR_pipeline_executable_properties extension commands
     table->GetPipelineExecutablePropertiesKHR = 
(PFN_vkGetPipelineExecutablePropertiesKHR)gdpa(dev, 
"vkGetPipelineExecutablePropertiesKHR");
     table->GetPipelineExecutableStatisticsKHR = 
(PFN_vkGetPipelineExecutableStatisticsKHR)gdpa(dev, 
"vkGetPipelineExecutableStatisticsKHR");
@@ -818,6 +834,10 @@
     // ---- VK_KHR_external_fence_capabilities extension commands
     table->GetPhysicalDeviceExternalFencePropertiesKHR = 
(PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)gpa(inst, 
"vkGetPhysicalDeviceExternalFencePropertiesKHR");
 
+    // ---- VK_KHR_performance_query extension commands
+    table->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 
(PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)gpa(inst, 
"vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
+    table->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 
(PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)gpa(inst, 
"vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     table->GetPhysicalDeviceSurfaceCapabilities2KHR = 
(PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)gpa(inst, 
"vkGetPhysicalDeviceSurfaceCapabilities2KHR");
     table->GetPhysicalDeviceSurfaceFormats2KHR = 
(PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)gpa(inst, 
"vkGetPhysicalDeviceSurfaceFormats2KHR");
@@ -894,6 +914,9 @@
     table->CreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT)gpa(inst, 
"vkCreateMetalSurfaceEXT");
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+    // ---- VK_EXT_tooling_info extension commands
+    table->GetPhysicalDeviceToolPropertiesEXT = 
(PFN_vkGetPhysicalDeviceToolPropertiesEXT)gpa(inst, 
"vkGetPhysicalDeviceToolPropertiesEXT");
+
     // ---- VK_NV_cooperative_matrix extension commands
     table->GetPhysicalDeviceCooperativeMatrixPropertiesNV = 
(PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)gpa(inst, 
"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
 
@@ -1131,6 +1154,10 @@
     if (!strcmp(name, "ImportFenceFdKHR")) return (void 
*)table->ImportFenceFdKHR;
     if (!strcmp(name, "GetFenceFdKHR")) return (void *)table->GetFenceFdKHR;
 
+    // ---- VK_KHR_performance_query extension commands
+    if (!strcmp(name, "AcquireProfilingLockKHR")) return (void 
*)table->AcquireProfilingLockKHR;
+    if (!strcmp(name, "ReleaseProfilingLockKHR")) return (void 
*)table->ReleaseProfilingLockKHR;
+
     // ---- VK_KHR_get_memory_requirements2 extension commands
     if (!strcmp(name, "GetImageMemoryRequirements2KHR")) return (void 
*)table->GetImageMemoryRequirements2KHR;
     if (!strcmp(name, "GetBufferMemoryRequirements2KHR")) return (void 
*)table->GetBufferMemoryRequirements2KHR;
@@ -1156,6 +1183,11 @@
     if (!strcmp(name, "WaitSemaphoresKHR")) return (void 
*)table->WaitSemaphoresKHR;
     if (!strcmp(name, "SignalSemaphoreKHR")) return (void 
*)table->SignalSemaphoreKHR;
 
+    // ---- VK_KHR_buffer_device_address extension commands
+    if (!strcmp(name, "GetBufferDeviceAddressKHR")) return (void 
*)table->GetBufferDeviceAddressKHR;
+    if (!strcmp(name, "GetBufferOpaqueCaptureAddressKHR")) return (void 
*)table->GetBufferOpaqueCaptureAddressKHR;
+    if (!strcmp(name, "GetDeviceMemoryOpaqueCaptureAddressKHR")) return (void 
*)table->GetDeviceMemoryOpaqueCaptureAddressKHR;
+
     // ---- VK_KHR_pipeline_executable_properties extension commands
     if (!strcmp(name, "GetPipelineExecutablePropertiesKHR")) return (void 
*)table->GetPipelineExecutablePropertiesKHR;
     if (!strcmp(name, "GetPipelineExecutableStatisticsKHR")) return (void 
*)table->GetPipelineExecutableStatisticsKHR;
@@ -1446,6 +1478,10 @@
     // ---- VK_KHR_external_fence_capabilities extension commands
     if (!strcmp(name, "GetPhysicalDeviceExternalFencePropertiesKHR")) return 
(void *)table->GetPhysicalDeviceExternalFencePropertiesKHR;
 
+    // ---- VK_KHR_performance_query extension commands
+    if (!strcmp(name, 
"EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")) return (void 
*)table->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
+    if (!strcmp(name, 
"GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")) return (void 
*)table->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     if (!strcmp(name, "GetPhysicalDeviceSurfaceCapabilities2KHR")) return 
(void *)table->GetPhysicalDeviceSurfaceCapabilities2KHR;
     if (!strcmp(name, "GetPhysicalDeviceSurfaceFormats2KHR")) return (void 
*)table->GetPhysicalDeviceSurfaceFormats2KHR;
@@ -1522,6 +1558,9 @@
     if (!strcmp(name, "CreateMetalSurfaceEXT")) return (void 
*)table->CreateMetalSurfaceEXT;
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+    // ---- VK_EXT_tooling_info extension commands
+    if (!strcmp(name, "GetPhysicalDeviceToolPropertiesEXT")) return (void 
*)table->GetPhysicalDeviceToolPropertiesEXT;
+
     // ---- VK_NV_cooperative_matrix extension commands
     if (!strcmp(name, "GetPhysicalDeviceCooperativeMatrixPropertiesNV")) 
return (void *)table->GetPhysicalDeviceCooperativeMatrixPropertiesNV;
 
@@ -1806,6 +1845,72 @@
 }
 
 
+// ---- VK_KHR_performance_query extension trampoline/terminators
+
+VKAPI_ATTR VkResult VKAPI_CALL 
EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t                                    queueFamilyIndex,
+    uint32_t*                                   pCounterCount,
+    VkPerformanceCounterKHR*                    pCounters,
+    VkPerformanceCounterDescriptionKHR*         pCounterDescriptions) {
+    const VkLayerInstanceDispatchTable *disp;
+    VkPhysicalDevice unwrapped_phys_dev = 
loader_unwrap_physical_device(physicalDevice);
+    disp = loader_get_instance_layer_dispatch(physicalDevice);
+    return 
disp->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(unwrapped_phys_dev,
 queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL 
terminator_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t                                    queueFamilyIndex,
+    uint32_t*                                   pCounterCount,
+    VkPerformanceCounterKHR*                    pCounters,
+    VkPerformanceCounterDescriptionKHR*         pCounterDescriptions) {
+    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.EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)
 {
+        loader_log(icd_term->this_instance, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "ICD associated with VkPhysicalDevice does not support 
EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
+    }
+    return 
icd_term->dispatch.EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(phys_dev_term->phys_dev,
 queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
+}
+
+VKAPI_ATTR void VKAPI_CALL 
GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
+    VkPhysicalDevice                            physicalDevice,
+    const VkQueryPoolPerformanceCreateInfoKHR*  pPerformanceQueryCreateInfo,
+    uint32_t*                                   pNumPasses) {
+    const VkLayerInstanceDispatchTable *disp;
+    VkPhysicalDevice unwrapped_phys_dev = 
loader_unwrap_physical_device(physicalDevice);
+    disp = loader_get_instance_layer_dispatch(physicalDevice);
+    
disp->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(unwrapped_phys_dev, 
pPerformanceQueryCreateInfo, pNumPasses);
+}
+
+VKAPI_ATTR void VKAPI_CALL 
terminator_GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
+    VkPhysicalDevice                            physicalDevice,
+    const VkQueryPoolPerformanceCreateInfoKHR*  pPerformanceQueryCreateInfo,
+    uint32_t*                                   pNumPasses) {
+    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.GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR) {
+        loader_log(icd_term->this_instance, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "ICD associated with VkPhysicalDevice does not support 
GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
+    }
+    
icd_term->dispatch.GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(phys_dev_term->phys_dev,
 pPerformanceQueryCreateInfo, pNumPasses);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL AcquireProfilingLockKHR(
+    VkDevice                                    device,
+    const VkAcquireProfilingLockInfoKHR*        pInfo) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    return disp->AcquireProfilingLockKHR(device, pInfo);
+}
+
+VKAPI_ATTR void VKAPI_CALL ReleaseProfilingLockKHR(
+    VkDevice                                    device) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    disp->ReleaseProfilingLockKHR(device);
+}
+
+
 // ---- VK_KHR_get_memory_requirements2 extension trampoline/terminators
 
 VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR(
@@ -1937,6 +2042,30 @@
 }
 
 
+// ---- VK_KHR_buffer_device_address extension trampoline/terminators
+
+VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR(
+    VkDevice                                    device,
+    const VkBufferDeviceAddressInfoKHR*         pInfo) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    return disp->GetBufferDeviceAddressKHR(device, pInfo);
+}
+
+VKAPI_ATTR uint64_t VKAPI_CALL GetBufferOpaqueCaptureAddressKHR(
+    VkDevice                                    device,
+    const VkBufferDeviceAddressInfoKHR*         pInfo) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    return disp->GetBufferOpaqueCaptureAddressKHR(device, pInfo);
+}
+
+VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddressKHR(
+    VkDevice                                    device,
+    const VkDeviceMemoryOpaqueCaptureAddressInfoKHR* pInfo) {
+    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
+    return disp->GetDeviceMemoryOpaqueCaptureAddressKHR(device, pInfo);
+}
+
+
 // ---- VK_KHR_pipeline_executable_properties extension trampoline/terminators
 
 VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR(
@@ -3091,12 +3220,38 @@
 
 VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT(
     VkDevice                                    device,
-    const VkBufferDeviceAddressInfoEXT*         pInfo) {
+    const VkBufferDeviceAddressInfoKHR*         pInfo) {
     const VkLayerDispatchTable *disp = loader_get_dispatch(device);
     return disp->GetBufferDeviceAddressEXT(device, pInfo);
 }
 
 
+// ---- VK_EXT_tooling_info extension trampoline/terminators
+
+VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t*                                   pToolCount,
+    VkPhysicalDeviceToolPropertiesEXT*          pToolProperties) {
+    const VkLayerInstanceDispatchTable *disp;
+    VkPhysicalDevice unwrapped_phys_dev = 
loader_unwrap_physical_device(physicalDevice);
+    disp = loader_get_instance_layer_dispatch(physicalDevice);
+    return disp->GetPhysicalDeviceToolPropertiesEXT(unwrapped_phys_dev, 
pToolCount, pToolProperties);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT(
+    VkPhysicalDevice                            physicalDevice,
+    uint32_t*                                   pToolCount,
+    VkPhysicalDeviceToolPropertiesEXT*          pToolProperties) {
+    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.GetPhysicalDeviceToolPropertiesEXT) {
+        loader_log(icd_term->this_instance, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "ICD associated with VkPhysicalDevice does not support 
GetPhysicalDeviceToolPropertiesEXT");
+    }
+    return 
icd_term->dispatch.GetPhysicalDeviceToolPropertiesEXT(phys_dev_term->phys_dev, 
pToolCount, pToolProperties);
+}
+
+
 // ---- VK_NV_cooperative_matrix extension trampoline/terminators
 
 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV(
@@ -3413,6 +3568,24 @@
         return true;
     }
 
+    // ---- VK_KHR_performance_query extension commands
+    if 
(!strcmp("vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR", 
name)) {
+        *addr = (void 
*)EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
+        return true;
+    }
+    if (!strcmp("vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR", 
name)) {
+        *addr = (void *)GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
+        return true;
+    }
+    if (!strcmp("vkAcquireProfilingLockKHR", name)) {
+        *addr = (void *)AcquireProfilingLockKHR;
+        return true;
+    }
+    if (!strcmp("vkReleaseProfilingLockKHR", name)) {
+        *addr = (void *)ReleaseProfilingLockKHR;
+        return true;
+    }
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     if (!strcmp("vkGetPhysicalDeviceSurfaceCapabilities2KHR", name)) {
         *addr = 
(ptr_instance->enabled_known_extensions.khr_get_surface_capabilities2 == 1)
@@ -3491,6 +3664,20 @@
         return true;
     }
 
+    // ---- VK_KHR_buffer_device_address extension commands
+    if (!strcmp("vkGetBufferDeviceAddressKHR", name)) {
+        *addr = (void *)GetBufferDeviceAddressKHR;
+        return true;
+    }
+    if (!strcmp("vkGetBufferOpaqueCaptureAddressKHR", name)) {
+        *addr = (void *)GetBufferOpaqueCaptureAddressKHR;
+        return true;
+    }
+    if (!strcmp("vkGetDeviceMemoryOpaqueCaptureAddressKHR", name)) {
+        *addr = (void *)GetDeviceMemoryOpaqueCaptureAddressKHR;
+        return true;
+    }
+
     // ---- VK_KHR_pipeline_executable_properties extension commands
     if (!strcmp("vkGetPipelineExecutablePropertiesKHR", name)) {
         *addr = (void *)GetPipelineExecutablePropertiesKHR;
@@ -4013,6 +4200,12 @@
         return true;
     }
 
+    // ---- VK_EXT_tooling_info extension commands
+    if (!strcmp("vkGetPhysicalDeviceToolPropertiesEXT", name)) {
+        *addr = (void *)GetPhysicalDeviceToolPropertiesEXT;
+        return true;
+    }
+
     // ---- VK_NV_cooperative_matrix extension commands
     if (!strcmp("vkGetPhysicalDeviceCooperativeMatrixPropertiesNV", name)) {
         *addr = (void *)GetPhysicalDeviceCooperativeMatrixPropertiesNV;
@@ -4296,6 +4489,10 @@
     // ---- VK_KHR_external_fence_capabilities extension commands
     .GetPhysicalDeviceExternalFencePropertiesKHR = 
terminator_GetPhysicalDeviceExternalFenceProperties,
 
+    // ---- VK_KHR_performance_query extension commands
+    .EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 
terminator_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
+    .GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 
terminator_GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     .GetPhysicalDeviceSurfaceCapabilities2KHR = 
terminator_GetPhysicalDeviceSurfaceCapabilities2KHR,
     .GetPhysicalDeviceSurfaceFormats2KHR = 
terminator_GetPhysicalDeviceSurfaceFormats2KHR,
@@ -4372,6 +4569,9 @@
     .CreateMetalSurfaceEXT = terminator_CreateMetalSurfaceEXT,
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+    // ---- VK_EXT_tooling_info extension commands
+    .GetPhysicalDeviceToolPropertiesEXT = 
terminator_GetPhysicalDeviceToolPropertiesEXT,
+
     // ---- VK_NV_cooperative_matrix extension commands
     .GetPhysicalDeviceCooperativeMatrixPropertiesNV = 
terminator_GetPhysicalDeviceCooperativeMatrixPropertiesNV,
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Loader-1.1.127/loader/generated/vk_loader_extensions.h 
new/Vulkan-Loader-1.1.130/loader/generated/vk_loader_extensions.h
--- old/Vulkan-Loader-1.1.127/loader/generated/vk_loader_extensions.h   
2019-11-04 18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/loader/generated/vk_loader_extensions.h   
2019-12-10 22:48:13.000000000 +0100
@@ -320,6 +320,10 @@
     // ---- VK_KHR_external_fence_capabilities extension commands
     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR 
GetPhysicalDeviceExternalFencePropertiesKHR;
 
+    // ---- VK_KHR_performance_query extension commands
+    PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 
EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
+    PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR 
GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
+
     // ---- VK_KHR_get_surface_capabilities2 extension commands
     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR 
GetPhysicalDeviceSurfaceCapabilities2KHR;
     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR 
GetPhysicalDeviceSurfaceFormats2KHR;
@@ -402,6 +406,9 @@
     PFN_vkCreateMetalSurfaceEXT CreateMetalSurfaceEXT;
 #endif // VK_USE_PLATFORM_METAL_EXT
 
+    // ---- VK_EXT_tooling_info extension commands
+    PFN_vkGetPhysicalDeviceToolPropertiesEXT 
GetPhysicalDeviceToolPropertiesEXT;
+
     // ---- VK_NV_cooperative_matrix extension commands
     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV 
GetPhysicalDeviceCooperativeMatrixPropertiesNV;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/loader/loader.c 
new/Vulkan-Loader-1.1.130/loader/loader.c
--- old/Vulkan-Loader-1.1.127/loader/loader.c   2019-11-04 18:48:06.000000000 
+0100
+++ new/Vulkan-Loader-1.1.130/loader/loader.c   2019-12-10 22:48:13.000000000 
+0100
@@ -263,16 +263,13 @@
     return IsHighIntegrity() ? NULL : loader_getenv(name, inst);
 #else
 // Linux
-#ifdef HAVE_SECURE_GETENV
+#if defined(HAVE_SECURE_GETENV) && !defined(USE_UNSAFE_FILE_SEARCH)
     (void)inst;
     return secure_getenv(name);
-#elif defined(HAVE___SECURE_GETENV)
+#elif defined(HAVE___SECURE_GETENV) && !defined(USE_UNSAFE_FILE_SEARCH)
     (void)inst;
     return __secure_getenv(name);
 #else
-#pragma message(                                                               
        \
-    "Warning:  Falling back to non-secure getenv for environmental lookups!  
Consider" \
-    " updating to a different libc.")
     return loader_getenv(name, inst);
 #endif
 #endif
@@ -335,9 +332,11 @@
 }
 
 static inline char *loader_secure_getenv(const char *name, const struct 
loader_instance *inst) {
+#if !defined(USE_UNSAFE_FILE_SEARCH)
     if (IsHighIntegrity()) {
         return NULL;
     }
+#endif
 
     return loader_getenv(name, inst);
 }
@@ -3994,7 +3993,7 @@
             .value_type = REG_MULTI_SZ,
             .physical_adapter_index = 0,
         };
-        wcsncpy(filename_info.value_name, value_name, 
sizeof(filename_info.value_name) / sizeof(DWORD));
+        wcsncpy(filename_info.value_name, value_name, 
sizeof(filename_info.value_name) / sizeof(WCHAR));
         LoaderQueryAdapterInfo query_info = {
             .handle = adapters.adapters[i].handle,
             .type = LOADER_QUERY_TYPE_REGISTRY,
@@ -7369,7 +7368,7 @@
     return result;
 }
 
-#if defined(_WIN32) && defined(LOADER_DYNAMIC_LIB)
+#if defined(_WIN32)
 BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved) {
     switch (reason) {
         case DLL_PROCESS_ATTACH:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/loader/loader.h 
new/Vulkan-Loader-1.1.130/loader/loader.h
--- old/Vulkan-Loader-1.1.127/loader/loader.h   2019-11-04 18:48:06.000000000 
+0100
+++ new/Vulkan-Loader-1.1.130/loader/loader.h   2019-12-10 22:48:13.000000000 
+0100
@@ -419,9 +419,6 @@
 // Global variables used across files
 extern struct loader_struct loader;
 extern THREAD_LOCAL_DECL struct loader_instance *tls_instance;
-#if defined(_WIN32) && !defined(LOADER_DYNAMIC_LIB)
-extern LOADER_PLATFORM_THREAD_ONCE_DEFINITION(once_init);
-#endif
 extern loader_platform_thread_mutex loader_lock;
 extern loader_platform_thread_mutex loader_json_lock;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/loader/vk_loader_platform.h 
new/Vulkan-Loader-1.1.130/loader/vk_loader_platform.h
--- old/Vulkan-Loader-1.1.127/loader/vk_loader_platform.h       2019-11-04 
18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/loader/vk_loader_platform.h       2019-12-10 
22:48:13.000000000 +0100
@@ -355,25 +355,9 @@
 // The once init functionality is not used when building a DLL on Windows. 
This is because there is no way to clean up the
 // resources allocated by anything allocated by once init. This isn't a 
problem for static libraries, but it is for dynamic
 // ones. When building a DLL, we use DllMain() instead to allow properly 
cleaning up resources.
-#if defined(LOADER_DYNAMIC_LIB)
 #define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var)
 #define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var)
 #define LOADER_PLATFORM_THREAD_ONCE(ctl, func)
-#else
-#define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var) INIT_ONCE var = 
INIT_ONCE_STATIC_INIT;
-#define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var) INIT_ONCE var;
-#define LOADER_PLATFORM_THREAD_ONCE(ctl, func) 
loader_platform_thread_once_fn(ctl, func)
-static BOOL CALLBACK InitFuncWrapper(PINIT_ONCE InitOnce, PVOID Parameter, 
PVOID *Context) {
-    void (*func)(void) = (void (*)(void))Parameter;
-    func();
-    return TRUE;
-}
-static void loader_platform_thread_once_fn(void *ctl, void (*func)(void)) {
-    assert(func != NULL);
-    assert(ctl != NULL);
-    InitOnceExecuteOnce((PINIT_ONCE)ctl, InitFuncWrapper, (void *)func, NULL);
-}
-#endif
 
 // Thread IDs:
 typedef DWORD loader_platform_thread_id;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/scripts/known_good.json 
new/Vulkan-Loader-1.1.130/scripts/known_good.json
--- old/Vulkan-Loader-1.1.127/scripts/known_good.json   2019-11-04 
18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/scripts/known_good.json   2019-12-10 
22:48:13.000000000 +0100
@@ -6,7 +6,7 @@
       "sub_dir" : "Vulkan-Headers",
       "build_dir" : "Vulkan-Headers/build",
       "install_dir" : "Vulkan-Headers/build/install",
-      "commit" : "v1.1.127"
+      "commit" : "v1.1.130"
     }
   ],
   "install_names" : {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Loader-1.1.127/tests/CMakeLists.txt 
new/Vulkan-Loader-1.1.130/tests/CMakeLists.txt
--- old/Vulkan-Loader-1.1.127/tests/CMakeLists.txt      2019-11-04 
18:48:06.000000000 +0100
+++ new/Vulkan-Loader-1.1.130/tests/CMakeLists.txt      2019-12-10 
22:48:13.000000000 +0100
@@ -105,9 +105,6 @@
 endif()
 
 target_link_libraries(vk_loader_validation_tests "${LOADER_LIB}" gtest 
gtest_main)
-if(BUILD_LOADER AND ENABLE_STATIC_LOADER)
-    set_target_properties(vk_loader_validation_tests PROPERTIES LINK_FLAGS 
"/ignore:4098")
-endif()
 
 # Copy loader and googletest (gtest) libs to test dir so the test executable 
can find them.
 if(WIN32)
@@ -127,7 +124,7 @@
                        COMMAND xcopy /Y /I ${GTEST_COPY_SRC1} 
${GTEST_COPY_DEST}
                        COMMAND xcopy /Y /I ${GTEST_COPY_SRC2} 
${GTEST_COPY_DEST})
     # Copy the loader shared lib (if built) to the test application directory 
so the test app finds it.
-    if((NOT ENABLE_STATIC_LOADER) AND TARGET vulkan)
+    if(TARGET vulkan)
         add_custom_command(TARGET vk_loader_validation_tests POST_BUILD
                            COMMAND ${CMAKE_COMMAND} -E copy 
$<TARGET_FILE:vulkan> $<TARGET_FILE_DIR:vk_loader_validation_tests>)
     endif()


Reply via email to