aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/frameworks/18 vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/frameworks/18 vulkan')
-rw-r--r--meson/test cases/frameworks/18 vulkan/meson.build13
-rw-r--r--meson/test cases/frameworks/18 vulkan/vulkanprog.c26
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;
+}