diff --git a/mingw-w64-vulkan-headers/PKGBUILD b/mingw-w64-vulkan-headers/PKGBUILD new file mode 100644 index 0000000000..611f0491e3 --- /dev/null +++ b/mingw-w64-vulkan-headers/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: J. Peter Mugaas +# Contributor: wirx6 + +_realname=Vulkan-Headers +pkgbase=mingw-w64-vulkan-headers +pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan-headers") +pkgver=1.1.92 +pkgrel=1 +pkgdesc='Vulkan header files (mingw-w64)' +arch=('any') +url="https://www.khronos.org/vulkan/" +groups=("${MINGW_PACKAGE_PREFIX}-vulkan-devel") +license=('Apache') +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "git") +_commit=114c3546e195819bd53a34b39f5194b2989a5b12 +source=(#${_realname}-sdk-${pkgver}.tar.gz::"https://github.com/KhronosGroup/${_realname}/archive/sdk-${pkgver}.tar.gz" + git+https://github.com/KhronosGroup/Vulkan-Headers.git#commit=${_commit}) +sha256sums=('SKIP') + +build() { + [[ -d ${srcdir}/build-${CARCH} ]] && rm -rf ${srcdir}/build-${CARCH} + mkdir -p ${srcdir}/build-${CARCH} && cd ${srcdir}/build-${CARCH} + + CFLAGS+=" -D__STDC_FORMAT_MACROS" \ + CPPFLAGS+=" -D__STDC_FORMAT_MACROS" \ + CXXFLAGS+=" -D__USE_MINGW_ANSI_STDIO -D__STDC_FORMAT_MACROS -fpermissive" \ + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ../Vulkan-Headers + + make +} + +package() { + cd ${srcdir}/build-${CARCH} + make DESTDIR="${pkgdir}" install + + install -Dm644 ${srcdir}/Vulkan-Headers/LICENSE.TXT ${pkgdir}${MINGW_PREFIX}/share/licenses/vulkan-headers/LICENSE +} diff --git a/mingw-w64-vulkan-loader/001-build-fix.patch b/mingw-w64-vulkan-loader/001-build-fix.patch new file mode 100644 index 0000000000..4d185e5cbc --- /dev/null +++ b/mingw-w64-vulkan-loader/001-build-fix.patch @@ -0,0 +1,43 @@ +--- a/loader/CMakeLists.txt 2018-05-16 14:05:33.046991100 +0300 ++++ b/loader/CMakeLists.txt 2018-05-16 14:07:39.464013100 +0300 +@@ -86,7 +86,7 @@ + set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} extensions will suffer from a corrupted stack.") + if(WIN32) + enable_language(ASM_MASM) +- if(CMAKE_ASM_MASM_COMPILER_WORKS) ++ if (MSVC AND CMAKE_ASM_MASM_COMPILER_WORKS) + if(NOT CMAKE_CL_64) + set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} /safeseh) + endif() +--- a/loader/loader.c 2018-05-16 14:03:52.750814700 +0300 ++++ b/loader/loader.c 2018-05-16 14:04:08.631642600 +0300 +@@ -613,6 +613,10 @@ + // + // *reg_data contains a string list of filenames as pointer. + // When done using the returned string list, the caller should free the pointer. ++#ifdef __MINGW32__ ++#define CM_GETIDLIST_FILTER_PRESENT 0x00000100 ++#define CM_GETIDLIST_FILTER_CLASS 0x00000200 ++#endif + VkResult loaderGetDeviceRegistryFiles(const struct loader_instance *inst, char **reg_data, PDWORD reg_data_size, LPCTSTR value_name) { + static const wchar_t *softwareComponentGUID = L"{5c4c3332-344d-483c-8739-259e934c9cc8}"; + static const wchar_t *displayGUID = L"{4d36e968-e325-11ce-bfc1-08002be10318}"; +--- a/loader/loader.rc ++++ b/loader/loader.rc +@@ -43,8 +43,6 @@ + /////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////// + +-#include "winres.h" +- + #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_BUILDNO + + #define STRINGIZE2(s) #s +@@ -77,7 +75,6 @@ + #endif + + FILEOS 0x00000L +- FILETYPE VFT_DLL + FILESUBTYPE 0x0L + BEGIN + BLOCK "StringFileInfo" diff --git a/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch b/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch new file mode 100644 index 0000000000..35c030705c --- /dev/null +++ b/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch @@ -0,0 +1,400 @@ +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 +@@ -61,6 +61,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(WIN32) + # Treat warnings as errors + add_compile_options("$<$:/WX>") +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/CMakeLists.txt +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/CMakeLists.txt 2017-06-29 08:19:36.448133100 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/CMakeLists.txt 2017-06-29 08:42:41.322355600 +0300 +@@ -137,6 +137,7 @@ + set_target_properties(loader_gen_files PROPERTIES FOLDER ${LOADER_HELPER_FOLDER}) + + if(WIN32) ++ if(MSVC) + # Use static MSVCRT libraries + foreach(configuration + in +@@ -156,6 +157,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 +@@ -190,23 +192,31 @@ + $ + $ + $ +- ${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() + else() + add_library(vulkan + STATIC + $ + $ + $) + set_target_properties(vulkan PROPERTIES OUTPUT_NAME VKstatic.1) + endif() + +- 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() +--- Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/loader/vulkan-1.def.orig 2018-05-16 11:55:36.673944400 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/loader/vulkan-1.def 2018-05-16 11:55:41.307152500 +0300 +@@ -21,7 +21,7 @@ + ; + ;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +-LIBRARY vulkan-1.dll ++LIBRARY libvulkan-1.dll + EXPORTS + vkCreateInstance + vkDestroyInstance +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/vulkan-1-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/vulkan-1-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/vulkan-1-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/vulkan-1-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,221 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; Copyright (c) 2015-2017 The Khronos Group Inc. ++; Copyright (c) 2015-2017 Valve Corporation ++; Copyright (c) 2015-2017 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 libvulkan-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 +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 diff --git a/mingw-w64-vulkan/003-generate-pkgconfig-files.patch b/mingw-w64-vulkan-loader/003-generate-pkgconfig-files.patch similarity index 100% rename from mingw-w64-vulkan/003-generate-pkgconfig-files.patch rename to mingw-w64-vulkan-loader/003-generate-pkgconfig-files.patch diff --git a/mingw-w64-vulkan-loader/PKGBUILD b/mingw-w64-vulkan-loader/PKGBUILD new file mode 100644 index 0000000000..32c335c1fe --- /dev/null +++ b/mingw-w64-vulkan-loader/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: J. Peter Mugaas +# Contributor: wirx6 + +_realname=Vulkan-Loader +pkgbase=mingw-w64-vulkan-loader +pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan-loader") +provides=("${MINGW_PACKAGE_PREFIX}-vulkan") +replaces=("${MINGW_PACKAGE_PREFIX}-vulkan") +pkgver=1.1.92 +pkgrel=1 +pkgdesc='Vulkan Installable Client Driver (ICD) Loader (mingw-w64)' +arch=('any') +url="https://www.khronos.org/vulkan/" +groups=("${MINGW_PACKAGE_PREFIX}-vulkan-devel") +license=('Apache') +depends=("${MINGW_PACKAGE_PREFIX}-vulkan-headers") +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-vulkan-headers" + "${MINGW_PACKAGE_PREFIX}-python3" + "git") +_commit=a29f808461116a33caed15529fc10a0285dd3d70 +source=(#${_realname}-sdk-${pkgver}.tar.gz::"https://github.com/KhronosGroup/${_realname}/archive/sdk-${pkgver}.tar.gz" + git+https://github.com/KhronosGroup/Vulkan-Loader.git#commit=${_commit} + 001-build-fix.patch + 002-proper-def-files-for-32bit.patch + 003-generate-pkgconfig-files.patch) +sha256sums=('SKIP' + '64ef57d8551a0b33f63aa98a06c276d5e8e24d9b4ff27347baa8fcb2a39c1295' + '9fa83968486c97a2c79295dadd6be5cba4382d5083caa6fa73ce78e9f80be8be' + '5c189b3f76fa53ad12077cd8932423a0cf385f9464cdde60ba711589ccde19ad') + +prepare() { + cd ${srcdir}/${_realname} + patch -p1 -i ${srcdir}/001-build-fix.patch + patch -p1 -i ${srcdir}/002-proper-def-files-for-32bit.patch + patch -p1 -i ${srcdir}/003-generate-pkgconfig-files.patch +} + +build() { + [[ -d ${srcdir}/build-${CARCH} ]] && rm -rf ${srcdir}/build-${CARCH} + mkdir -p ${srcdir}/build-${CARCH} && cd ${srcdir}/build-${CARCH} + + CFLAGS+=" -D__STDC_FORMAT_MACROS" \ + CPPFLAGS+=" -D__STDC_FORMAT_MACROS" \ + CXXFLAGS+=" -D__USE_MINGW_ANSI_STDIO -D__STDC_FORMAT_MACROS -fpermissive" \ + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DBUILD_TESTS=OFF \ + ../${_realname} + make +} + +package() { + cd ${srcdir}/build-${CARCH} + make DESTDIR="${pkgdir}" install + + install -Dm644 ${srcdir}/${_realname}/LICENSE.TXT ${pkgdir}${MINGW_PREFIX}/share/licenses/vulkan-loader/LICENSE +} diff --git a/mingw-w64-vulkan-validation-layers/001-build-fix.patch b/mingw-w64-vulkan-validation-layers/001-build-fix.patch new file mode 100644 index 0000000000..af1f90942d --- /dev/null +++ b/mingw-w64-vulkan-validation-layers/001-build-fix.patch @@ -0,0 +1,11 @@ +--- Vulkan-ValidationLayers-sdk-1.1.85.0/layers/CMakeLists.txt.orig 2018-11-18 00:01:08.401612900 +0300 ++++ Vulkan-ValidationLayers-sdk-1.1.85.0/layers/CMakeLists.txt 2018-11-18 00:01:15.205002100 +0300 +@@ -158,7 +158,7 @@ + + include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${VulkanHeaders_INCLUDE_DIR}) + +-if(WIN32) ++if(MSVC) + # Applies to all configurations + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + # Avoid: fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj diff --git a/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch b/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch new file mode 100644 index 0000000000..f1a6bfac73 --- /dev/null +++ b/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch @@ -0,0 +1,270 @@ +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 +@@ -61,6 +61,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(WIN32) + # Treat warnings as errors + add_compile_options("$<$:/WX>") +--- Vulkan-ValidationLayers/layers/CMakeLists.txt.orig 2018-11-18 00:38:59.130491200 +0300 ++++ Vulkan-ValidationLayers/layers/CMakeLists.txt 2018-11-18 00:40:07.358393600 +0300 +@@ -112,13 +112,13 @@ + # System-specific macros to create a library target. + 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 ${LAYERS_HELPER_FOLDER}) + +- add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}.def) ++ add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}${DEFFILE_SUFFIX}.def) + target_link_libraries(VkLayer_${target} PRIVATE VkLayer_utils) + add_dependencies(VkLayer_${target} generate_helper_files VkLayer_utils) + install(TARGETS VkLayer_${target} DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_core_validation-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_core_validation-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_core_validation-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_core_validation-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_core_validation ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_image-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_image-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_image-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_image-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_image ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_object_tracker-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_object_tracker-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_object_tracker-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_object_tracker-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_object_tracker ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_parameter_validation-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_parameter_validation-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_parameter_validation-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_parameter_validation-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_parameter_validation ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_swapchain-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_swapchain-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_swapchain-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_swapchain-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_swapchain ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_threading-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_threading-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_threading-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_threading-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_threading ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 +diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_unique_objects-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_unique_objects-x86.def +--- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_unique_objects-x86.def 1970-01-01 03:00:00.000000000 +0300 ++++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_unique_objects-x86.def 2017-04-05 00:36:39.000000000 +0300 +@@ -0,0 +1,29 @@ ++ ++;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++; ++; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++LIBRARY VkLayer_unique_objects ++EXPORTS ++vkGetInstanceProcAddr@8 ++vkGetDeviceProcAddr@8 ++vkEnumerateInstanceLayerProperties@8 ++vkEnumerateInstanceExtensionProperties@12 diff --git a/mingw-w64-vulkan-validation-layers/PKGBUILD b/mingw-w64-vulkan-validation-layers/PKGBUILD new file mode 100644 index 0000000000..f76bf5c1c4 --- /dev/null +++ b/mingw-w64-vulkan-validation-layers/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: J. Peter Mugaas +# Contributor: wirx6 + +_realname=Vulkan-ValidationLayers +pkgbase=mingw-w64-vulkan-validation-layers +pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan-validation-layers") +pkgver=1.1.92 +pkgrel=1 +pkgdesc='Vulkan Validation Layers (mingw-w64)' +arch=('any') +url="https://www.khronos.org/vulkan/" +groups=("${MINGW_PACKAGE_PREFIX}-vulkan-devel") +license=('Apache') +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" + "${MINGW_PACKAGE_PREFIX}-vulkan-loader") +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-glslang" + "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-spirv-tools" + "git") +_commit=23a14fd324f8eefcd4a195589dc4902fe9c9947f +source=(#${_realname}-sdk-${pkgver}.tar.gz::"https://github.com/KhronosGroup/${_realname}/archive/sdk-${pkgver}.tar.gz" + git+https://github.com/KhronosGroup/Vulkan-ValidationLayers.git#commit=${_commit} + 001-build-fix.patch + 002-proper-def-files-for-32bit.patch) +sha256sums=('SKIP' + '1ad7c68024636709c43a7f039f382c0c0d1b87f97a7b13db067c233c31f8ea5f' + 'e806fd14a87ad59276b4acaaf8d13526c95e4cfbc43d3dd0dec89c578980167b') + +prepare() { + cd ${srcdir}/${_realname} + patch -p1 -i ${srcdir}/001-build-fix.patch + patch -p1 -i ${srcdir}/002-proper-def-files-for-32bit.patch +} + +build() { + [[ -d ${srcdir}/build-${CARCH} ]] && rm -rf ${srcdir}/build-${CARCH} + mkdir -p ${srcdir}/build-${CARCH} && cd ${srcdir}/build-${CARCH} + + CFLAGS+=" -D__STDC_FORMAT_MACROS" \ + CPPFLAGS+=" -D__STDC_FORMAT_MACROS" \ + CXXFLAGS+=" -D__USE_MINGW_ANSI_STDIO -D__STDC_FORMAT_MACROS -fpermissive" \ + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DGLSLANG_INSTALL_DIR=${MINGW_PREFIX} \ + -DBUILD_TESTS=OFF \ + ../${_realname} + + make +} + +package() { + cd ${srcdir}/build-${CARCH} + make DESTDIR="${pkgdir}" install + + install -Dm644 ${srcdir}/${_realname}/LICENSE.TXT ${pkgdir}${MINGW_PREFIX}/share/licenses/vulkan-validation-layers/LICENSE +} diff --git a/mingw-w64-vulkan/001-build-fix.patch b/mingw-w64-vulkan/001-build-fix.patch deleted file mode 100644 index 239588d714..0000000000 --- a/mingw-w64-vulkan/001-build-fix.patch +++ /dev/null @@ -1,93 +0,0 @@ ---- a/icd/CMakeLists.txt -+++ b/icd/CMakeLists.txt -@@ -46,7 +46,7 @@ - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/windows/${config_file}.json src_json) - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${config_file}.json dst_json) - add_custom_target(${config_file}-json ALL -- COMMAND copy ${src_json} ${dst_json} -+ COMMAND ${CMAKE_COMMAND} -E copy ${src_json} ${dst_json} - VERBATIM - ) - endforeach(config_file) ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -55,7 +55,7 @@ - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/windows/${config_file}.json src_json) - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${config_file}.json dst_json) - add_custom_target(${config_file}-json ALL -- COMMAND copy ${src_json} ${dst_json} -+ COMMAND ${CMAKE_COMMAND} -E copy ${src_json} ${dst_json} - VERBATIM - ) - endforeach(config_file) -@@ -70,7 +70,7 @@ - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/vk_validation_error_messages.h src_val_msgs) - FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/vk_validation_error_messages.h dst_val_msgs) - add_custom_target(vk_validation_error_messages ALL -- COMMAND copy ${src_val_msgs} ${dst_val_msgs} -+ COMMAND ${CMAKE_COMMAND} -E copy ${src_val_msgs} ${dst_val_msgs} - VERBATIM - ) - set_target_properties(vk_validation_error_messages PROPERTIES FOLDER ${LVL_TARGET_FOLDER}) -@@ -192,7 +192,7 @@ - ${CMAKE_BINARY_DIR} - ) - --if (WIN32) -+if (MSVC) - # Applies to all configurations - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - # Avoid: fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj ---- a/loader/CMakeLists.txt 2018-05-16 14:05:33.046991100 +0300 -+++ b/loader/CMakeLists.txt 2018-05-16 14:07:39.464013100 +0300 -@@ -23,7 +23,7 @@ - if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_definitions(-DVK_USE_PLATFORM_WIN32_KHR -DWIN32_LEAN_AND_MEAN) - set(DisplayServer Win32) -- if (NOT MSVC_VERSION LESS 1900) -+ if (MSVC AND (NOT MSVC_VERSION LESS 1900)) - # Enable control flow guard - message(STATUS "Building loader with control flow guard") - add_compile_options("$<$:/guard:cf>") -@@ -96,7 +96,7 @@ - set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} extensions will suffer from a corrupted stack.") - if (WIN32) - enable_language(ASM_MASM) -- if (CMAKE_ASM_MASM_COMPILER_WORKS) -+ if (MSVC AND CMAKE_ASM_MASM_COMPILER_WORKS) - if (NOT CMAKE_CL_64) - set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} /safeseh) - endif() - ---- a/loader/loader.c 2018-05-16 14:03:52.750814700 +0300 -+++ b/loader/loader.c 2018-05-16 14:04:08.631642600 +0300 -@@ -613,6 +613,10 @@ - // - // *reg_data contains a string list of filenames as pointer. - // When done using the returned string list, the caller should free the pointer. -+#ifdef __MINGW32__ -+#define CM_GETIDLIST_FILTER_PRESENT 0x00000100 -+#define CM_GETIDLIST_FILTER_CLASS 0x00000200 -+#endif - VkResult loaderGetDeviceRegistryFiles(const struct loader_instance *inst, char **reg_data, PDWORD reg_data_size, LPCTSTR value_name) { - static const wchar_t *softwareComponentGUID = L"{5c4c3332-344d-483c-8739-259e934c9cc8}"; - static const wchar_t *displayGUID = L"{4d36e968-e325-11ce-bfc1-08002be10318}"; ---- a/loader/loader.rc -+++ b/loader/loader.rc -@@ -43,8 +43,6 @@ - /////////////////////////////////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////////// - --#include "winres.h" -- - #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_BUILDNO - - #define STRINGIZE2(s) #s -@@ -77,7 +75,6 @@ - #endif - - FILEOS 0x00000L -- FILETYPE VFT_DLL - FILESUBTYPE 0x0L - BEGIN - BLOCK "StringFileInfo" diff --git a/mingw-w64-vulkan/002-proper-def-files-for-32bit.patch b/mingw-w64-vulkan/002-proper-def-files-for-32bit.patch deleted file mode 100644 index 6d9e8cac18..0000000000 --- a/mingw-w64-vulkan/002-proper-def-files-for-32bit.patch +++ /dev/null @@ -1,574 +0,0 @@ -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 -@@ -61,6 +61,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(WIN32) - # Treat warnings as errors - add_compile_options("$<$:/WX>") -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/CMakeLists.txt ---- Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0-orig/layers/CMakeLists.txt 2017-06-29 08:19:36.446133000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/layers/CMakeLists.txt 2017-06-29 08:36:41.148274000 +0300 -@@ -95,13 +95,13 @@ - - if (WIN32) - macro(add_vk_layer 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 ${LVL_TARGET_FOLDER}) -- add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}.def) -+ add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}${DEFFILE_SUFFIX}.def) - add_dependencies(VkLayer_${target} generate_helper_files) - target_link_Libraries(VkLayer_${target} VkLayer_utils) - add_dependencies(VkLayer_${target} generate_helper_files VkLayer_utils) -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_core_validation-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_core_validation-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_core_validation-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_core_validation-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_core_validation -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_image-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_image-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_image-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_image-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_image -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_object_tracker-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_object_tracker-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_object_tracker-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_object_tracker-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_object_tracker -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_parameter_validation-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_parameter_validation-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_parameter_validation-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_parameter_validation-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_parameter_validation -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_swapchain-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_swapchain-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_swapchain-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_swapchain-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_swapchain -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_threading-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_threading-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_threading-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_threading-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_threading -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_unique_objects-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_unique_objects-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/VkLayer_unique_objects-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/VkLayer_unique_objects-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,29 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+ -+LIBRARY VkLayer_unique_objects -+EXPORTS -+vkGetInstanceProcAddr@8 -+vkGetDeviceProcAddr@8 -+vkEnumerateInstanceLayerProperties@8 -+vkEnumerateInstanceExtensionProperties@12 -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/CMakeLists.txt ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/CMakeLists.txt 2017-06-29 08:19:36.448133100 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/CMakeLists.txt 2017-06-29 08:42:41.322355600 +0300 -@@ -47,10 +47,10 @@ - endif() - - if (WIN32) -- FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-${MAJOR}.def DEF_FILE) -+ FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/vulkan-${MAJOR}${DEFFILE_SUFFIX}.def DEF_FILE) - FILE(READ ${DEF_FILE} DEF_TEXT) - STRING(REGEX REPLACE "vulkan-${MAJOR}.dll" "${API_LOWERCASE}-${MAJOR}.dll" DEF_EDITED "${DEF_TEXT}" ) -- FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}.def" "${DEF_EDITED}") -+ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}${DEFFILE_SUFFIX}.def" "${DEF_EDITED}") - endif() - - # DEBUG enables runtime loader ICD verification -@@ -114,7 +114,7 @@ - add_dependencies(loader-opt-st generate_helper_files loader_gen_files loader_asm_gen_files) - target_compile_options(loader-opt-st PUBLIC "$<$:${LOCAL_C_FLAGS_REL}>") - -- add_library(${API_LOWERCASE}-${MAJOR} SHARED $ $ ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc) -+ add_library(${API_LOWERCASE}-${MAJOR} SHARED $ $ ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}${DEFFILE_SUFFIX}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc) - add_library(VKstatic.${MAJOR} STATIC $ $) - # Suppress conflicting libs warning for debug builds. - set_target_properties(${API_LOWERCASE}-${MAJOR} PROPERTIES LINK_FLAGS_DEBUG /ignore:4098) -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/vulkan-1-x86.def Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/vulkan-1-x86.def ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/vulkan-1-x86.def 1970-01-01 03:00:00.000000000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/vulkan-1-x86.def 2017-04-05 00:36:39.000000000 +0300 -@@ -0,0 +1,182 @@ -+ -+;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -+; -+; Copyright (c) 2015-2017 The Khronos Group Inc. -+; Copyright (c) 2015-2017 Valve Corporation -+; Copyright (c) 2015-2017 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 -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 -@@ -62,13 +62,13 @@ - - if (WIN32) - macro(add_vk_layer 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 ${LVL_TARGET_FOLDER}) -- add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}.def) -+ add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}${DEFFILE_SUFFIX}.def) - add_dependencies(VkLayer_${target} generate_helper_files VkLayer_utils) - endmacro() - elseif(APPLE) -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 diff --git a/mingw-w64-vulkan/004-installation-commands.patch b/mingw-w64-vulkan/004-installation-commands.patch deleted file mode 100644 index 4b3c07a26c..0000000000 --- a/mingw-w64-vulkan/004-installation-commands.patch +++ /dev/null @@ -1,79 +0,0 @@ -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-06-29 09:45:41.898236900 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/CMakeLists.txt 2017-06-29 09:51:53.242895700 +0300 -@@ -50,6 +50,10 @@ - # overwriting of LVL artifacts when installing these downstream repos. - option(INSTALL_LVL_FILES "Install content from LoaderAndValidationLayers repo" ON) - endif() -+ -+if(MINGW) -+ option(INSTALL_LVL_FILES "Install content from LoaderAndValidationLayers repo" ON) -+endif() - - set(SCRIPTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/scripts") - -@@ -325,7 +325,11 @@ - endif() - endif() - --if(UNIX) -+if(MINGW) -+ include(GNUInstallDirs) -+endif() -+ -+if(NOT MSVC) - if(INSTALL_LVL_FILES) - install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - endif() -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/CMakeLists.txt ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/layers/CMakeLists.txt 2017-06-29 09:45:41.898236900 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/layers/CMakeLists.txt 2017-06-29 09:57:48.711421600 +0300 -@@ -104,6 +104,9 @@ - add_dependencies(VkLayer_${target} generate_helper_files) - target_link_Libraries(VkLayer_${target} VkLayer_utils) - add_dependencies(VkLayer_${target} generate_helper_files VkLayer_utils) -+ if(MINGW) -+ install(TARGETS VkLayer_${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ endif() - endmacro() - else() - macro(add_vk_layer target) -diff -Naur Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/CMakeLists.txt Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/CMakeLists.txt ---- Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0-orig/loader/CMakeLists.txt 2017-06-29 10:00:31.117255000 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.0.46.0/loader/CMakeLists.txt 2017-06-29 10:08:16.935379100 +0300 -@@ -117,7 +117,15 @@ - add_library(${API_LOWERCASE}-${MAJOR} SHARED $ $ ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}${DEFFILE_SUFFIX}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc) - add_library(VKstatic.${MAJOR} STATIC $ $) - # Suppress conflicting libs warning for debug builds. -- set_target_properties(${API_LOWERCASE}-${MAJOR} PROPERTIES LINK_FLAGS_DEBUG /ignore:4098) -+ if(MINGW) -+ set_target_properties(${API_LOWERCASE}-${MAJOR} -+ PROPERTIES -+ LIBRARY_OUTPUT_NAME ${API_LOWERCASE} -+ RUNTIME_OUTPUT_NAME ${API_LOWERCASE}-${MAJOR} -+ ARCHIVE_OUTPUT_NAME ${API_LOWERCASE}) -+ else() -+ set_target_properties(${API_LOWERCASE}-${MAJOR} PROPERTIES LINK_FLAGS_DEBUG /ignore:4098) -+ endif() - set_target_properties(VKstatic.${MAJOR} PROPERTIES OUTPUT_NAME VKstatic.${MAJOR}) - target_link_libraries(${API_LOWERCASE}-${MAJOR} shlwapi) - add_dependencies(${API_LOWERCASE}-${MAJOR} generate_helper_files loader_gen_files) -@@ -132,10 +139,14 @@ - file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/../demos/ COPY_DST_PATH) - file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/../tests/ COPY_DST_TEST_PATH) - endif() -- add_custom_command(TARGET ${API_LOWERCASE}-${MAJOR} POST_BUILD -- COMMAND xcopy /Y /I ${COPY_SRC_PATH} ${COPY_DST_PATH}) -- add_custom_command(TARGET ${API_LOWERCASE}-${MAJOR} POST_BUILD -- COMMAND xcopy /Y /I ${COPY_SRC_PATH} ${COPY_DST_TEST_PATH}) -+ if(MINGW) -+ install(TARGETS ${API_LOWERCASE}-${MAJOR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ else() -+ add_custom_command(TARGET ${API_LOWERCASE}-${MAJOR} POST_BUILD -+ COMMAND xcopy /Y /I ${COPY_SRC_PATH} ${COPY_DST_PATH}) -+ add_custom_command(TARGET ${API_LOWERCASE}-${MAJOR} POST_BUILD -+ COMMAND xcopy /Y /I ${COPY_SRC_PATH} ${COPY_DST_TEST_PATH}) -+ endif() - - else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpointer-arith") diff --git a/mingw-w64-vulkan/005-mingw-dll-name.patch b/mingw-w64-vulkan/005-mingw-dll-name.patch deleted file mode 100644 index 2e4dafdcd4..0000000000 --- a/mingw-w64-vulkan/005-mingw-dll-name.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/loader/vulkan-1.def.orig 2018-05-16 11:55:36.673944400 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/loader/vulkan-1.def 2018-05-16 11:55:41.307152500 +0300 -@@ -21,7 +21,7 @@ - ; - ;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - --LIBRARY vulkan-1.dll -+LIBRARY libvulkan-1.dll - EXPORTS - vkCreateInstance - vkDestroyInstance diff --git a/mingw-w64-vulkan/006-skip-commit-create.patch b/mingw-w64-vulkan/006-skip-commit-create.patch deleted file mode 100644 index 32f5c972bc..0000000000 --- a/mingw-w64-vulkan/006-skip-commit-create.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/CMakeLists.txt.orig 2018-05-16 13:53:19.532610400 +0300 -+++ Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/CMakeLists.txt 2018-05-16 13:53:39.594245600 +0300 -@@ -395,7 +395,9 @@ - run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h) - run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h) - if(BUILD_LAYERS) -+ if (NOT MINGW) - run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h) -+ endif() - endif() - - diff --git a/mingw-w64-vulkan/007-mingw-missing-defines.patch b/mingw-w64-vulkan/007-mingw-missing-defines.patch deleted file mode 100644 index afeaf35c43..0000000000 --- a/mingw-w64-vulkan/007-mingw-missing-defines.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- src/Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/loader/loader.c.orig 2018-05-16 14:03:52.750814700 +0300 -+++ src/Vulkan-LoaderAndValidationLayers-sdk-1.1.73.0/loader/loader.c 2018-05-16 14:04:08.631642600 +0300 -@@ -613,6 +613,10 @@ - // - // *reg_data contains a string list of filenames as pointer. - // When done using the returned string list, the caller should free the pointer. -+#ifdef __MINGW32__ -+#define CM_GETIDLIST_FILTER_PRESENT 0x00000100 -+#define CM_GETIDLIST_FILTER_CLASS 0x00000200 -+#endif - VkResult loaderGetDeviceRegistryFiles(const struct loader_instance *inst, char **reg_data, PDWORD reg_data_size, LPCTSTR value_name) { - static const wchar_t *softwareComponentGUID = L"{5c4c3332-344d-483c-8739-259e934c9cc8}"; - static const wchar_t *displayGUID = L"{4d36e968-e325-11ce-bfc1-08002be10318}"; diff --git a/mingw-w64-vulkan/PKGBUILD b/mingw-w64-vulkan/PKGBUILD deleted file mode 100644 index e966667746..0000000000 --- a/mingw-w64-vulkan/PKGBUILD +++ /dev/null @@ -1,77 +0,0 @@ -# Maintainer: J. Peter Mugaas -# Contributor: wirx6 - -_realname=Vulkan-Loader -pkgbase=mingw-w64-vulkan -pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan") -conflicts=("${MINGW_PACKAGE_PREFIX}-vulkan-headers") -replaces=("${MINGW_PACKAGE_PREFIX}-vulkan-headers") -pkgver=1.1.73.0 -pkgrel=1 -pkgdesc='Khronos official ICD loader and validation layers for Vulkan (mingw-w64)' -arch=('any') -url="https://www.khronos.org/vulkan/" -groups=("${MINGW_PACKAGE_PREFIX}-vulkan-devel") -license=('Apache') -depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-glslang" - "${MINGW_PACKAGE_PREFIX}-python3" - "${MINGW_PACKAGE_PREFIX}-spirv-tools" - "git") -_spirv_tools_commit=8d8a71278bf9e83dd0fb30d5474386d30870b74d -source=(${_realname}-sdk-${pkgver}.tar.gz::"https://github.com/KhronosGroup/${_realname}/archive/sdk-${pkgver}.tar.gz" - 001-build-fix.patch - 002-proper-def-files-for-32bit.patch - 003-generate-pkgconfig-files.patch - 004-installation-commands.patch - 005-mingw-dll-name.patch - 006-skip-commit-create.patch) -sha256sums=('1692c84e1a753111fd994265ca5030f8983070b242a75a023fb0f4e58dbf6d53' - 'deda6fd3d5a67ff2e8d885084ca56189ad1c7d9dcfbd4b57211a45479f94273d' - 'b40e3306343f85c6f94d9593dce22730c16e16ae1f4734ca27495468a070765d' - '5c189b3f76fa53ad12077cd8932423a0cf385f9464cdde60ba711589ccde19ad' - '1559474b79aaf0d7fc2f03c7aa3c49a48d5aae3e9db89f4a328414ee133de9d7' - '605286f2b93a9f182a39fcc1d66e7bedf98c913c3e8ad177c687092de11dc4d4' - 'd8190d309e104dbe527c846310dbe0f02dbea73d26d104accfa468307a3e2c45') - -prepare() { - cd ${srcdir}/${_realname}-sdk-${pkgver} - patch -p1 -i ${srcdir}/001-build-fix.patch - patch -p1 -i ${srcdir}/002-proper-def-files-for-32bit.patch - patch -p1 -i ${srcdir}/003-generate-pkgconfig-files.patch - patch -p1 -i ${srcdir}/004-installation-commands.patch - patch -p1 -i ${srcdir}/005-mingw-dll-name.patch - patch -p1 -i ${srcdir}/006-skip-commit-create.patch - - echo "#define SPIRV_TOOLS_COMMIT_ID \"${_spirv_tools_commit}\"" > spirv_tools_commit_id.h - cp -f spirv_tools_commit_id.h loader/ -} - -build() { - [[ -d ${srcdir}/build-${CARCH} ]] && rm -rf ${srcdir}/build-${CARCH} - mkdir -p ${srcdir}/build-${CARCH} && cd ${srcdir}/build-${CARCH} - - CFLAGS+=" -D_WIN32_WINNT=0x0600 -D__STDC_FORMAT_MACROS" \ - CPPFLAGS+=" -D_WIN32_WINNT=0x0600 -D__STDC_FORMAT_MACROS" \ - CXXFLAGS+=" -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO -D__STDC_FORMAT_MACROS -fpermissive" \ - MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - ${MINGW_PREFIX}/bin/cmake \ - -G"MSYS Makefiles" \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DBUILD_DEMOS=OFF \ - -DBUILD_TESTS=OFF \ - -DDISABLE_BUILD_PATH_DECORATION=ON \ - -DDISABLE_BUILDTGT_DIR_DECORATION=ON \ - ../${_realname}-sdk-${pkgver} - - make -} - -package() { - cd ${srcdir}/build-${CARCH} - make DESTDIR="${pkgdir}" install - - install -Dm644 ${srcdir}/${_realname}-sdk-${pkgver}/LICENSE.TXT ${pkgdir}${MINGW_PREFIX}/share/licenses/vulkan/LICENSE -}