aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2020-02-21 11:18:31 -0700
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2020-02-21 16:48:11 -0700
commitd8f705c62bd633040c91068408ac77f764e27696 (patch)
treeb6dafa10d7613a829b00a2b0fab7336341106408
parent3d4fd72add914d60bf3c32bb9bc8b1fea379d9d6 (diff)
downloadusermoji-d8f705c62bd633040c91068408ac77f764e27696.tar.xz
vulkaninfo: Fix uninitialized surface capabilities
Certain surface capabilities were being used in a comparison while unintialized if certain extensions were not supported. Change-Id: Iaa858a43a1b8bc0a2b42897d2d36a3630a474450
-rw-r--r--.travis.yml1
-rw-r--r--vulkaninfo/CMakeLists.txt16
2 files changed, 11 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml
index f924a544..e338b10e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -103,6 +103,7 @@ script:
if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
# Run vulkaninfo as a test
cd ${TRAVIS_BUILD_DIR}
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${TRAVIS_BUILD_DIR}/external/Vulkan-Loader/build/install/lib/
cd build/vulkaninfo
ldd vulkaninfo
VK_ICD_FILENAMES=../icd/VkICD_mock_icd.json ./vulkaninfo
diff --git a/vulkaninfo/CMakeLists.txt b/vulkaninfo/CMakeLists.txt
index 14776d96..29916fc1 100644
--- a/vulkaninfo/CMakeLists.txt
+++ b/vulkaninfo/CMakeLists.txt
@@ -47,6 +47,10 @@ endif()
target_include_directories(vulkaninfo PRIVATE ${CMAKE_SOURCE_DIR}/vulkaninfo)
target_include_directories(vulkaninfo PRIVATE ${CMAKE_SOURCE_DIR}/vulkaninfo/generated)
+if (NOT WIN32)
+ target_link_libraries(vulkaninfo ${CMAKE_DL_LIBS})
+endif()
+
if(UNIX AND NOT APPLE) # i.e. Linux
include(FindPkgConfig)
option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
@@ -57,21 +61,21 @@ if(UNIX AND NOT APPLE) # i.e. Linux
find_package(XCB REQUIRED)
target_include_directories(vulkaninfo PRIVATE ${XCB_INCLUDE_DIRS})
target_link_libraries(vulkaninfo ${XCB_LIBRARIES})
- target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_XCB_KHR)
+ target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_XCB_KHR -DVK_NO_PROTOTYPES)
endif()
if(BUILD_WSI_XLIB_SUPPORT)
find_package(X11 REQUIRED)
target_include_directories(vulkaninfo PRIVATE ${X11_INCLUDE_DIR})
target_link_libraries(vulkaninfo ${X11_LIBRARIES})
- target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_XLIB_KHR)
+ target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_XLIB_KHR -DVK_NO_PROTOTYPES)
endif()
if(BUILD_WSI_WAYLAND_SUPPORT)
find_package(Wayland REQUIRED)
target_include_directories(vulkaninfo PRIVATE ${WAYLAND_CLIENT_INCLUDE_DIR})
target_link_libraries(vulkaninfo ${WAYLAND_CLIENT_LIBRARIES})
- target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_WAYLAND_KHR)
+ target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_WAYLAND_KHR -DVK_NO_PROTOTYPES)
endif()
endif()
@@ -80,7 +84,7 @@ if(APPLE)
target_link_libraries(vulkaninfo ${Vulkan_LIBRARY} "-framework AppKit -framework QuartzCore")
target_include_directories(vulkaninfo PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/macOS/vulkaninfo ${VulkanHeaders_INCLUDE_DIR})
else()
- target_link_libraries(vulkaninfo Vulkan::Vulkan)
+ target_include_directories(vulkaninfo PRIVATE ${VulkanHeaders_INCLUDE_DIR})
endif()
# Create vulkaninfo application bundle for MacOS
@@ -89,7 +93,7 @@ if(APPLE)
endif()
if(WIN32)
- target_compile_definitions(vulkaninfo PUBLIC -DVK_USE_PLATFORM_WIN32_KHR -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS)
+ target_compile_definitions(vulkaninfo PUBLIC -DVK_USE_PLATFORM_WIN32_KHR -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS -DVK_NO_PROTOTYPES)
if(NOT MSVC_VERSION LESS 1900)
# Enable control flow guard
message(STATUS "Building vulkaninfo with control flow guard")
@@ -120,7 +124,7 @@ if(WIN32)
file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/vulkaninfo)
elseif(APPLE)
- add_definitions(-DVK_USE_PLATFORM_MACOS_MVK -DVK_USE_PLATFORM_METAL_EXT)
+ add_definitions(-DVK_USE_PLATFORM_MACOS_MVK -DVK_USE_PLATFORM_METAL_EXT -DVK_NO_PROTOTYPES)
endif()
if(APPLE)