diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/CMakeLists.txt --- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/CMakeLists.txt 2017-04-05 00:36:39.000000000 +0300 +++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/CMakeLists.txt 2017-06-29 08:34:52.393725000 +0300 @@ -153,6 +153,16 @@ endif() endif() +if (WIN32) + if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) + set(DEFFILE_SUFFIX "") + set(WINBITS Win64) + else() + set(DEFFILE_SUFFIX "-x86") + set(WINBITS Win32) + endif() +endif() + if(MSVC) # /WX: Treat warnings as errors # /GR-: Disable RTTI diff -Naur Vulkan-Loader-1.2.131.orig/loader/CMakeLists.txt Vulkan-Loader-1.2.131/loader/CMakeLists.txt --- Vulkan-Loader-1.2.131.orig/loader/CMakeLists.txt 2020-01-15 18:55:51.000000000 +0000 +++ Vulkan-Loader-1.2.131/loader/CMakeLists.txt 2020-01-29 14:46:24.000000000 +0000 @@ -62,6 +62,7 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") if(WIN32) + if(MSVC) # Use static MSVCRT libraries foreach(configuration in @@ -81,6 +82,7 @@ "${${configuration}}") endif() endforeach() + endif() if(ENABLE_WIN10_ONECORE) # Note: When linking your app or driver to OneCore.lib, be sure to remove any links to non-umbrella libs (such as @@ -194,16 +196,24 @@ $ $ $ - ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1.def + ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1${DEFFILE_SUFFIX}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc) + if(MSVC) set_target_properties(vulkan PROPERTIES LINK_FLAGS_DEBUG "/ignore:4098" OUTPUT_NAME vulkan-1) + else() + set_target_properties(vulkan + PROPERTIES + LIBRARY_OUTPUT_NAME vulkan + RUNTIME_OUTPUT_NAME vulkan-1 + ARCHIVE_OUTPUT_NAME vulkan) + endif() target_link_libraries(vulkan Vulkan::Headers) - if(ENABLE_WIN10_ONECORE) + if(ENABLE_WIN10_ONECORE AND MSVC) target_link_libraries(vulkan OneCoreUAP.lib LIBCMT.LIB LIBCMTD.LIB LIBVCRUNTIME.LIB LIBUCRT.LIB) set_target_properties(vulkan PROPERTIES LINK_FLAGS "/NODEFAULTLIB") else() diff -Naur Vulkan-Loader-1.2.131.orig/loader/vulkan-1-x86.def Vulkan-Loader-1.2.131/loader/vulkan-1-x86.def --- Vulkan-Loader-1.2.131.orig/loader/vulkan-1-x86.def 1970-01-01 00:00:00.000000000 +0000 +++ Vulkan-Loader-1.2.131/loader/vulkan-1-x86.def 2020-01-29 14:57:46.000000000 +0000 @@ -0,0 +1,235 @@ + +;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; Copyright (c) 2015-2017, 2019 The Khronos Group Inc. +; Copyright (c) 2015-2017, 2019 Valve Corporation +; Copyright (c) 2015-2017, 2019 LunarG, Inc. +; +; 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 +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; 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: Courtney Goeltzenleuchter +; +;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +LIBRARY vulkan-1.dll +EXPORTS + vkCreateInstance@12 + vkDestroyInstance@8 + vkEnumeratePhysicalDevices@12 + vkGetPhysicalDeviceFeatures@8 + vkGetPhysicalDeviceFormatProperties@12 + vkGetPhysicalDeviceImageFormatProperties@28 + vkGetPhysicalDeviceProperties@8 + vkGetPhysicalDeviceQueueFamilyProperties@12 + vkGetPhysicalDeviceMemoryProperties@8 + vkGetInstanceProcAddr@8 + vkGetDeviceProcAddr@8 + vkCreateDevice@16 + vkDestroyDevice@8 + vkEnumerateInstanceExtensionProperties@12 + vkEnumerateDeviceExtensionProperties@16 + vkEnumerateInstanceLayerProperties@8 + vkEnumerateDeviceLayerProperties@12 + vkGetDeviceQueue@16 + vkQueueSubmit@20 + vkQueueWaitIdle@4 + vkDeviceWaitIdle@4 + vkAllocateMemory@16 + vkFreeMemory@16 + vkMapMemory@36 + vkUnmapMemory@12 + vkFlushMappedMemoryRanges@12 + vkInvalidateMappedMemoryRanges@12 + vkGetDeviceMemoryCommitment@16 + vkBindBufferMemory@28 + vkBindImageMemory@28 + vkGetBufferMemoryRequirements@16 + vkGetImageMemoryRequirements@16 + vkGetImageSparseMemoryRequirements@20 + vkGetPhysicalDeviceSparseImageFormatProperties@32 + vkQueueBindSparse@20 + vkCreateFence@16 + vkDestroyFence@16 + vkResetFences@12 + vkGetFenceStatus@12 + vkWaitForFences@24 + vkCreateSemaphore@16 + vkDestroySemaphore@16 + vkCreateEvent@16 + vkDestroyEvent@16 + vkGetEventStatus@12 + vkSetEvent@12 + vkResetEvent@12 + vkCreateQueryPool@16 + vkDestroyQueryPool@16 + vkGetQueryPoolResults@40 + vkCreateBuffer@16 + vkDestroyBuffer@16 + vkCreateBufferView@16 + vkDestroyBufferView@16 + vkCreateImage@16 + vkDestroyImage@16 + vkGetImageSubresourceLayout@20 + vkCreateImageView@16 + vkDestroyImageView@16 + vkCreateShaderModule@16 + vkDestroyShaderModule@16 + vkCreatePipelineCache@16 + vkDestroyPipelineCache@16 + vkGetPipelineCacheData@20 + vkMergePipelineCaches@20 + vkCreateGraphicsPipelines@28 + vkCreateComputePipelines@28 + vkDestroyPipeline@16 + vkCreatePipelineLayout@16 + vkDestroyPipelineLayout@16 + vkCreateSampler@16 + vkDestroySampler@16 + vkCreateDescriptorSetLayout@16 + vkDestroyDescriptorSetLayout@16 + vkCreateDescriptorPool@16 + vkDestroyDescriptorPool@16 + vkResetDescriptorPool@16 + vkAllocateDescriptorSets@12 + vkFreeDescriptorSets@20 + vkUpdateDescriptorSets@20 + vkCreateFramebuffer@16 + vkDestroyFramebuffer@16 + vkCreateRenderPass@16 + vkDestroyRenderPass@16 + vkGetRenderAreaGranularity@16 + vkCreateCommandPool@16 + vkDestroyCommandPool@16 + vkResetCommandPool@16 + vkAllocateCommandBuffers@12 + vkFreeCommandBuffers@20 + vkBeginCommandBuffer@8 + vkEndCommandBuffer@4 + vkResetCommandBuffer@8 + vkCmdBindPipeline@16 + vkCmdSetViewport@16 + vkCmdSetScissor@16 + vkCmdSetLineWidth@8 + vkCmdSetDepthBias@16 + vkCmdSetBlendConstants@8 + vkCmdSetDepthBounds@12 + vkCmdSetStencilCompareMask@12 + vkCmdSetStencilWriteMask@12 + vkCmdSetStencilReference@12 + vkCmdBindDescriptorSets@36 + vkCmdBindIndexBuffer@24 + vkCmdBindVertexBuffers@20 + vkCmdDraw@20 + vkCmdDrawIndexed@24 + vkCmdDrawIndirect@28 + vkCmdDrawIndexedIndirect@28 + vkCmdDispatch@16 + vkCmdDispatchIndirect@20 + vkCmdCopyBuffer@28 + vkCmdCopyImage@36 + vkCmdBlitImage@40 + vkCmdCopyBufferToImage@32 + vkCmdCopyImageToBuffer@32 + vkCmdUpdateBuffer@32 + vkCmdFillBuffer@32 + vkCmdClearColorImage@28 + vkCmdClearDepthStencilImage@28 + vkCmdClearAttachments@20 + vkCmdResolveImage@36 + vkCmdSetEvent@16 + vkCmdResetEvent@16 + vkCmdWaitEvents@44 + vkCmdPipelineBarrier@40 + vkCmdBeginQuery@20 + vkCmdEndQuery@16 + vkCmdResetQueryPool@20 + vkCmdWriteTimestamp@20 + vkCmdCopyQueryPoolResults@48 + vkCmdPushConstants@28 + vkCmdBeginRenderPass@12 + vkCmdNextSubpass@8 + vkCmdEndRenderPass@4 + vkCmdExecuteCommands@12 + vkDestroySurfaceKHR@16 + vkGetPhysicalDeviceSurfaceSupportKHR@20 + vkGetPhysicalDeviceSurfaceCapabilitiesKHR@16 + vkGetPhysicalDeviceSurfaceFormatsKHR@20 + vkGetPhysicalDeviceSurfacePresentModesKHR@20 + vkCreateSwapchainKHR@16 + vkDestroySwapchainKHR@16 + vkGetSwapchainImagesKHR@20 + vkAcquireNextImageKHR@40 + vkQueuePresentKHR@8 + vkGetPhysicalDeviceDisplayPropertiesKHR@12 + vkGetPhysicalDeviceDisplayPlanePropertiesKHR@12 + vkGetDisplayPlaneSupportedDisplaysKHR@16 + vkGetDisplayModePropertiesKHR@20 + vkCreateDisplayModeKHR@24 + vkGetDisplayPlaneCapabilitiesKHR@20 + vkCreateDisplayPlaneSurfaceKHR@16 + vkCreateSharedSwapchainsKHR@20 + vkCreateWin32SurfaceKHR@16 + vkGetPhysicalDeviceWin32PresentationSupportKHR@8 + + vkEnumerateInstanceVersion@4 + vkEnumeratePhysicalDeviceGroups@12 + vkGetPhysicalDeviceFeatures2@8 + vkGetPhysicalDeviceProperties2@8 + vkGetPhysicalDeviceFormatProperties2@12 + vkGetPhysicalDeviceQueueFamilyProperties2@12 + vkGetPhysicalDeviceMemoryProperties2@8 + vkGetPhysicalDeviceSparseImageFormatProperties2@16 + vkGetPhysicalDeviceExternalBufferProperties@12 + vkGetPhysicalDeviceExternalSemaphoreProperties@12 + vkGetPhysicalDeviceExternalFenceProperties@12 + vkBindBufferMemory2@12 + vkBindImageMemory2@12 + vkGetDeviceGroupPeerMemoryFeatures@20 + vkCmdSetDeviceMask@8 + vkCmdDispatchBase@28 + vkGetImageMemoryRequirements2@12 + vkGetBufferMemoryRequirements2@12 + vkTrimCommandPool@16 + vkGetDeviceQueue2@12 + vkCreateSamplerYcbcrConversion@16 + vkDestroySamplerYcbcrConversion@16 + vkGetDescriptorSetLayoutSupport@12 + vkGetDeviceGroupPresentCapabilitiesKHR@8 + vkGetDeviceGroupSurfacePresentModesKHR@16 + vkGetPhysicalDevicePresentRectanglesKHR@20 + vkAcquireNextImage2KHR@12 + vkCreateDescriptorUpdateTemplate@16 + vkDestroyDescriptorUpdateTemplate@16 + vkUpdateDescriptorSetWithTemplate@24 + + vkGetPhysicalDeviceDisplayProperties2KHR@12 + vkGetPhysicalDeviceDisplayPlaneProperties2KHR@12 + vkGetDisplayModeProperties2KHR@20 + vkGetDisplayPlaneCapabilities2KHR@12 + + vkGetImageSparseMemoryRequirements2@16 + vkGetPhysicalDeviceImageFormatProperties2@12 + + vkCreateRenderPass2@16 + vkCmdBeginRenderPass2@12 + vkCmdNextSubpass2@12 + vkCmdEndRenderPass2@8 + vkCmdDrawIndirectCount@44 + vkCmdDrawIndexedIndirectCount@44 + vkGetSemaphoreCounterValue@16 + vkWaitSemaphores@16 + vkSignalSemaphore@8 + vkGetBufferDeviceAddress@8 + vkGetBufferOpaqueCaptureAddress@8 + vkGetDeviceMemoryOpaqueCaptureAddress@8 + vkResetQueryPool@20 diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/tests/layers/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/tests/layers/CMakeLists.txt --- Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0-orig/tests/layers/CMakeLists.txt 2017-04-05 00:36:39.000000000 +0300 +++ Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/tests/layers/CMakeLists.txt 2017-06-29 08:39:07.115088000 +0300 @@ -19,12 +19,12 @@ if(WIN32) macro(AddVkLayer target) - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/VkLayer_${target}.def DEF_FILE) + file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/VkLayer_${target}${DEFFILE_SUFFIX}.def DEF_FILE) add_custom_target(copy-${target}-def-file ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEF_FILE} VkLayer_${target}.def + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEF_FILE} VkLayer_${target}${DEFFILE_SUFFIX}.def VERBATIM) set_target_properties(copy-${target}-def-file PROPERTIES FOLDER ${LOADER_HELPER_FOLDER}) - add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}.def) + add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}${DEFFILE_SUFFIX}.def) target_compile_options(VkLayer_${target} PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS}) add_dependencies(VkLayer_${target} generate_helper_files) endmacro() diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/tests/layers/VkLayer_test-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/tests/layers/VkLayer_test-x86.def --- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/tests/layers/VkLayer_test-x86.def 1970-01-01 03:00:00.000000000 +0300 +++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/tests/layers/VkLayer_test-x86.def 2017-04-05 00:36:39.000000000 +0300 @@ -0,0 +1,32 @@ +; THIS FILE IS GENERATED. DO NOT EDIT. + +;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Vulkan +; +; Copyright (c) 2015-2016 The Khronos Group Inc. +; Copyright (c) 2015-2016 Valve Corporation +; Copyright (c) 2015-2016 LunarG, Inc. +; +; 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 +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; 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: Courtney Goeltzenleuchter +;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; The following is required on Windows, for exporting symbols from the DLL + +LIBRARY VkLayer_test +EXPORTS +vkGetInstanceProcAddr@8 +vkGetDeviceProcAddr@8 +vkEnumerateInstanceLayerProperties@8 +vkEnumerateInstanceExtensionProperties@12 diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/tests/layers/VkLayer_wrap_objects-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/tests/layers/VkLayer_wrap_objects-x86.def --- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/tests/layers/VkLayer_wrap_objects-x86.def 1970-01-01 03:00:00.000000000 +0300 +++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/tests/layers/VkLayer_wrap_objects-x86.def 2017-04-05 00:36:39.000000000 +0300 @@ -0,0 +1,32 @@ +; THIS FILE IS GENERATED. DO NOT EDIT. + +;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Vulkan +; +; Copyright (c) 2015-2016 The Khronos Group Inc. +; Copyright (c) 2015-2016 Valve Corporation +; Copyright (c) 2015-2016 LunarG, Inc. +; +; 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 +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; 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: Courtney Goeltzenleuchter +;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; The following is required on Windows, for exporting symbols from the DLL + +LIBRARY VkLayer_wrap_objects +EXPORTS +vkGetInstanceProcAddr@8 +vkGetDeviceProcAddr@8 +vkEnumerateInstanceLayerProperties@8 +vkEnumerateInstanceExtensionProperties@12