vulkan: Update to 1.1.92

This commit is contained in:
Alexey Pavlov
2018-11-18 00:48:33 +03:00
parent adf7f793e0
commit dd8b7bd61b
15 changed files with 889 additions and 859 deletions

View File

@@ -0,0 +1,44 @@
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
# Contributor: wirx6 <wirx654@gmail.com>
_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
}

View File

@@ -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"

View File

@@ -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("$<$<CXX_COMPILER_ID:MSVC>:/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 @@
$<TARGET_OBJECTS:loader-opt>
$<TARGET_OBJECTS:loader-norm>
$<TARGET_OBJECTS:loader-unknown-chain>
- ${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
$<TARGET_OBJECTS:loader-opt>
$<TARGET_OBJECTS:loader-norm>
$<TARGET_OBJECTS:loader-unknown-chain>)
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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;;;; 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 <courtney@LunarG.com>
+;;;; 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

View File

@@ -0,0 +1,61 @@
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
# Contributor: wirx6 <wirx654@gmail.com>
_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
}

View File

@@ -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

View File

@@ -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("$<$<CXX_COMPILER_ID:MSVC>:/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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+LIBRARY VkLayer_unique_objects
+EXPORTS
+vkGetInstanceProcAddr@8
+vkGetDeviceProcAddr@8
+vkEnumerateInstanceLayerProperties@8
+vkEnumerateInstanceExtensionProperties@12

View File

@@ -0,0 +1,60 @@
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
# Contributor: wirx6 <wirx654@gmail.com>
_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
}

View File

@@ -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("$<$<CXX_COMPILER_ID:MSVC>:/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"

View File

@@ -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("$<$<CXX_COMPILER_ID:MSVC>:/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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;
+;;;; 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 "$<$<CONFIG:DEBUG>:${LOCAL_C_FLAGS_REL}>")
- add_library(${API_LOWERCASE}-${MAJOR} SHARED $<TARGET_OBJECTS:loader-opt-dy> $<TARGET_OBJECTS:loader-norm-dy> ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
+ add_library(${API_LOWERCASE}-${MAJOR} SHARED $<TARGET_OBJECTS:loader-opt-dy> $<TARGET_OBJECTS:loader-norm-dy> ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}${DEFFILE_SUFFIX}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
add_library(VKstatic.${MAJOR} STATIC $<TARGET_OBJECTS:loader-opt-st> $<TARGET_OBJECTS:loader-norm-st>)
# 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 <courtney@LunarG.com>
+;
+;;;; 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 <courtney@LunarG.com>
+;;;; 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 <courtney@LunarG.com>
+;;;; 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

View File

@@ -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 $<TARGET_OBJECTS:loader-opt> $<TARGET_OBJECTS:loader-norm> ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}${DEFFILE_SUFFIX}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
add_library(VKstatic.${MAJOR} STATIC $<TARGET_OBJECTS:loader-opt> $<TARGET_OBJECTS:loader-norm>)
# 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")

View File

@@ -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

View File

@@ -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()

View File

@@ -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}";

View File

@@ -1,77 +0,0 @@
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
# Contributor: wirx6 <wirx654@gmail.com>
_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
}