diff options
Diffstat (limited to 'meson/test cases/frameworks/18 vulkan')
-rw-r--r-- | meson/test cases/frameworks/18 vulkan/meson.build | 13 | ||||
-rw-r--r-- | meson/test cases/frameworks/18 vulkan/vulkanprog.c | 26 |
2 files changed, 39 insertions, 0 deletions
diff --git a/meson/test cases/frameworks/18 vulkan/meson.build b/meson/test cases/frameworks/18 vulkan/meson.build new file mode 100644 index 000000000..5cfe89f76 --- /dev/null +++ b/meson/test cases/frameworks/18 vulkan/meson.build @@ -0,0 +1,13 @@ +project('vulkan test', 'c') + +vulkan_dep = dependency('vulkan', required : false) +if not vulkan_dep.found() + error('MESON_SKIP_TEST: vulkan not found.') +endif + +e = executable('vulkanprog', 'vulkanprog.c', dependencies : vulkan_dep) + +test('vulkantest', e) + +# Check we can apply a version constraint +dependency('vulkan', version: '>=@0@'.format(vulkan_dep.version())) diff --git a/meson/test cases/frameworks/18 vulkan/vulkanprog.c b/meson/test cases/frameworks/18 vulkan/vulkanprog.c new file mode 100644 index 000000000..c6b8803ce --- /dev/null +++ b/meson/test cases/frameworks/18 vulkan/vulkanprog.c @@ -0,0 +1,26 @@ +#include <vulkan/vulkan.h> +#include <stdio.h> + +int main(void) +{ + VkInstanceCreateInfo instance_create_info = { + VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, + NULL, + 0, + NULL, + 0, + NULL, + 0, + NULL, + }; + + // we don't actually require instance creation to succeed since + // we cannot expect test environments to have a vulkan driver installed. + // As long as this does not produce as segmentation fault or similar, + // everything's alright. + VkInstance instance; + if(vkCreateInstance(&instance_create_info, NULL, &instance) == VK_SUCCESS) + vkDestroyInstance(instance, NULL); + + return 0; +} |