summaryrefslogtreecommitdiffstats
path: root/test cases/frameworks/18 vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/frameworks/18 vulkan')
-rw-r--r--test cases/frameworks/18 vulkan/meson.build13
-rw-r--r--test cases/frameworks/18 vulkan/test.json3
-rw-r--r--test cases/frameworks/18 vulkan/vulkanprog.c26
3 files changed, 42 insertions, 0 deletions
diff --git a/test cases/frameworks/18 vulkan/meson.build b/test cases/frameworks/18 vulkan/meson.build
new file mode 100644
index 0000000..5cfe89f
--- /dev/null
+++ b/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/test cases/frameworks/18 vulkan/test.json b/test cases/frameworks/18 vulkan/test.json
new file mode 100644
index 0000000..6ace9de
--- /dev/null
+++ b/test cases/frameworks/18 vulkan/test.json
@@ -0,0 +1,3 @@
+{
+ "skip_on_jobname": ["azure", "cygwin", "macos", "msys2"]
+}
diff --git a/test cases/frameworks/18 vulkan/vulkanprog.c b/test cases/frameworks/18 vulkan/vulkanprog.c
new file mode 100644
index 0000000..c6b8803
--- /dev/null
+++ b/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;
+}