aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
Diffstat (limited to 'loader')
-rw-r--r--loader/CMakeLists.txt8
-rw-r--r--loader/debug_report.c7
-rw-r--r--loader/loader_platform.h1
-rwxr-xr-xloader/vk-loader-generate.py2
-rw-r--r--loader/vulkan.def152
5 files changed, 15 insertions, 155 deletions
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
index 0006d87d..ca7aeab7 100644
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
@@ -3,6 +3,10 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def
+ COMMAND ${PYTHON_CMD} ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py win-def-file vulkan all > ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def
+ DEPENDS ${PROJECT_SOURCE_DIR}/loader/vk-loader-generate.py ${PROJECT_SOURCE_DIR}/vulkan.py)
+
# DEBUG enables runtime loader ICD verification
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
@@ -10,8 +14,8 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
if (WIN32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES -D_CRT_SECURE_NO_WARNINGS -DXCB_NVIDIA")
- add_library(vulkan SHARED loader.c loader.h loader_platform.h dirent_on_windows.c trampoline.c wsi_lunarg.c wsi_lunarg.h debug_report.c debug_report.h table_ops.h gpa_helper.h vulkan.def)
- set_target_properties(vulkan PROPERTIES LINK_FLAGS "/DEF:${PROJECT_SOURCE_DIR}/loader/vulkan.def")
+ add_library(vulkan SHARED loader.c loader.h loader_platform.h dirent_on_windows.c trampoline.c wsi_lunarg.c wsi_lunarg.h debug_report.c debug_report.h table_ops.h gpa_helper.h ${CMAKE_CURRENT_BINARY_DIR}/vulkan.def)
+ set_target_properties(vulkan PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/vulkan.def")
add_library(VKstatic STATIC loader.c loader.h dirent_on_windows.c trampoline.c wsi_lunarg.c wsi_lunarg.h debug_report.c debug_report.h table_ops.h gpa_helper.h)
set_target_properties(VKstatic PROPERTIES OUTPUT_NAME VKstatic)
target_link_libraries(vulkan)
diff --git a/loader/debug_report.c b/loader/debug_report.c
index 1d6a186b..245d2d0f 100644
--- a/loader/debug_report.c
+++ b/loader/debug_report.c
@@ -30,7 +30,9 @@
#include <string.h>
#include <stdlib.h>
#include <inttypes.h>
+#ifndef WIN32
#include <alloca.h>
+#endif
#include "debug_report.h"
#include "vkLayer.h"
@@ -286,8 +288,11 @@ static void VKAPI StringCallback(
strlen(pLayerPrefix) +
strlen(pMsg) +
50 /* other / whitespace */;
+#ifdef WIN32
+ buf = _alloca(buf_size);
+#else
buf = alloca(buf_size);
-
+#endif
snprintf(buf, buf_size, "%s (%s): object: 0x%" PRIxLEAST64 " type: %d location: %zu msgCode: %d: %s",
pLayerPrefix, msg_flags, srcObject, objType, location, msgCode, pMsg);
callback(buf);
diff --git a/loader/loader_platform.h b/loader/loader_platform.h
index 66b24cb3..48be3f43 100644
--- a/loader/loader_platform.h
+++ b/loader/loader_platform.h
@@ -153,6 +153,7 @@ static inline void loader_platform_thread_cond_broadcast(loader_platform_thread_
#include <WinSock2.h>
#include <windows.h>
#include <assert.h>
+#include <stdio.h>
#ifdef __cplusplus
#include <iostream>
#include <string>
diff --git a/loader/vk-loader-generate.py b/loader/vk-loader-generate.py
index f0fcbdb7..d1a50825 100755
--- a/loader/vk-loader-generate.py
+++ b/loader/vk-loader-generate.py
@@ -353,6 +353,8 @@ class WinDefFileSubcommand(Subcommand):
for proto in self.protos:
if self.exports and proto.name not in self.exports:
continue
+ if proto.name.endswith("WSI"):
+ continue
body.append(" vk" + proto.name)
return "\n".join(body)
diff --git a/loader/vulkan.def b/loader/vulkan.def
deleted file mode 100644
index ef4ac1bb..00000000
--- a/loader/vulkan.def
+++ /dev/null
@@ -1,152 +0,0 @@
-;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Vulkan
-;
-; Copyright (C) 2015 LunarG, Inc.
-;
-; Permission is hereby granted, free of charge, to any person obtaining a
-; copy of this software and associated documentation files (the "Software"),
-; to deal in the Software without restriction, including without limitation
-; the rights to use, copy, modify, merge, publish, distribute, sublicense,
-; and/or sell copies of the Software, and to permit persons to whom the
-; Software is furnished to do so, subject to the following conditions:
-;
-; The above copyright notice and this permission notice shall be included
-; in all copies or substantial portions of the Software.
-;
-; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-; THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-; DEALINGS IN THE SOFTWARE.
-;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-; The following is required on Windows, for exporting symbols from the DLL
-
-LIBRARY vulkan
-EXPORTS
- vkCreateInstance
- vkDestroyInstance
- vkEnumeratePhysicalDevices
- vkGetPhysicalDeviceInfo
- vkGetProcAddr
- vkCreateDevice
- vkDestroyDevice
- vkGetGlobalExtensionInfo
- vkGetPhysicalDeviceExtensionInfo
- vkEnumerateLayers
- vkGetDeviceQueue
- vkQueueSubmit
- vkQueueWaitIdle
- vkDeviceWaitIdle
- vkAllocMemory
- vkFreeMemory
- vkMapMemory
- vkUnmapMemory
- vkFlushMappedMemoryRanges
- vkInvalidateMappedMemoryRanges
- vkGetMultiDeviceCompatibility
- vkOpenSharedMemory
- vkOpenSharedSemaphore
- vkOpenPeerMemory
- vkOpenPeerImage
- vkDestroyObject
- vkGetObjectInfo
- vkBindObjectMemory
- vkQueueBindSparseBufferMemory
- vkQueueBindSparseImageMemory
- vkCreateFence
- vkResetFences
- vkGetFenceStatus
- vkWaitForFences
- vkCreateSemaphore
- vkQueueSignalSemaphore
- vkQueueWaitSemaphore
- vkCreateEvent
- vkGetEventStatus
- vkSetEvent
- vkResetEvent
- vkCreateQueryPool
- vkGetQueryPoolResults
- vkGetFormatInfo
- vkCreateBuffer
- vkCreateBufferView
- vkCreateImage
- vkGetImageSubresourceInfo
- vkCreateImageView
- vkCreateColorAttachmentView
- vkCreateDepthStencilView
- vkCreateShader
- vkCreateGraphicsPipeline
- vkCreateGraphicsPipelineDerivative
- vkCreateComputePipeline
- vkStorePipeline
- vkLoadPipeline
- vkLoadPipelineDerivative
- vkCreatePipelineLayout
- vkCreateSampler
- vkCreateDescriptorSetLayout
- vkCreateDescriptorPool
- vkResetDescriptorPool
- vkAllocDescriptorSets
- vkUpdateDescriptorSets
- vkCreateDynamicViewportState
- vkCreateDynamicRasterState
- vkCreateDynamicColorBlendState
- vkCreateDynamicDepthStencilState
- vkCreateCommandBuffer
- vkBeginCommandBuffer
- vkEndCommandBuffer
- vkResetCommandBuffer
- vkCmdBindPipeline
- vkCmdBindDynamicStateObject
- vkCmdBindDescriptorSets
- vkCmdBindVertexBuffers
- vkCmdBindIndexBuffer
- vkCmdDraw
- vkCmdDrawIndexed
- vkCmdDrawIndirect
- vkCmdDrawIndexedIndirect
- vkCmdDispatch
- vkCmdDispatchIndirect
- vkCmdCopyBuffer
- vkCmdCopyImage
- vkCmdBlitImage
- vkCmdCopyBufferToImage
- vkCmdCopyImageToBuffer
- vkCmdUpdateBuffer
- vkCmdFillBuffer
- vkCmdClearColorImage
- vkCmdClearDepthStencil
- vkCmdResolveImage
- vkCmdSetEvent
- vkCmdResetEvent
- vkCmdWaitEvents
- vkCmdPipelineBarrier
- vkCmdBeginQuery
- vkCmdEndQuery
- vkCmdResetQueryPool
- vkCmdWriteTimestamp
- vkCmdCopyQueryPoolResults
- vkCmdInitAtomicCounters
- vkCmdLoadAtomicCounters
- vkCmdSaveAtomicCounters
- vkCreateFramebuffer
- vkCreateRenderPass
- vkCmdBeginRenderPass
- vkCmdEndRenderPass
- vkDbgSetValidationLevel
- vkDbgRegisterMsgCallback
- vkDbgUnregisterMsgCallback
- vkDbgSetMessageFilter
- vkDbgSetObjectTag
- vkDbgSetGlobalOption
- vkDbgSetDeviceOption
- vkCmdDbgMarkerBegin
- vkCmdDbgMarkerEnd
- vkGetDisplayInfoWSI
- vkCreateSwapChainWSI
- vkDestroySwapChainWSI
- vkGetSwapChainInfoWSI
- vkQueuePresentWSI