File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change 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})
Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments