Skip to content

Commit 17ba98c

Browse files
committed
add compile tests/
1 parent 1b7ec8e commit 17ba98c

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

tests/CMakeLists.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
cmake_minimum_required(VERSION 3.18)
2+
project(test_vulkan)
3+
4+
message(STATUS "")
5+
message(STATUS "|| VULKAN_SDK '$ENV{VULKAN_SDK}' PREFLIGHT TEST ||")
6+
find_package(Vulkan)
7+
get_cmake_property(Vars VARIABLES)
8+
# debug -- dump all variables starting with "vulkan""
9+
foreach (Var ${Vars})
10+
string( TOLOWER "${Var}" var )
11+
if (var MATCHES "^vulkan")
12+
message(STATUS "${Var}=${${Var}}")
13+
endif()
14+
endforeach()
15+
16+
message(STATUS "")
17+
message(STATUS "|| VULKAN_SDK TEST APPLICATION ||")
18+
find_package(Vulkan REQUIRED FATAL_ERROR)
19+
add_executable(test_vulkan test_vulkan.c)
20+
target_link_libraries(test_vulkan PRIVATE Vulkan::Vulkan)
21+
22+
## alternative approach
23+
#target_include_directories(test_vulkan PRIVATE ${Vulkan_INCLUDE_DIR})
24+
#target_link_libraries(test_vulkan PRIVATE ${Vulkan_LIBRARY})

tests/test_vulkan.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#include <vulkan/vulkan.h>
2+
#include <stdio.h>
3+
#include <stdint.h>
4+
5+
int main(int argc, char** argv) {
6+
PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)vkGetInstanceProcAddr(NULL, "vkEnumerateInstanceVersion");
7+
if(vkEnumerateInstanceVersion) {
8+
vkEnumerateInstanceVersion(&version);
9+
} else {
10+
fprintf(stderr, "vkGetInstanceProcAddr (%p) lookup of vkEnumerateInstanceVersion failed...\n", vkEnumerateInstanceVersion);
11+
return 1;
12+
}
13+
14+
printf("Vulkan Version: (%u) %d.%d.%d\n", version,
15+
VK_VERSION_MAJOR(version),
16+
VK_VERSION_MINOR(version),
17+
VK_VERSION_PATCH(version)
18+
);
19+
return 0;
20+
}

0 commit comments

Comments
 (0)