diff options
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | loader/debug_report.c | 7 | ||||
| -rw-r--r-- | loader/loader_platform.h | 1 | ||||
| -rwxr-xr-x | loader/vk-loader-generate.py | 2 | ||||
| -rw-r--r-- | loader/vulkan.def | 152 |
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 |
