summaryrefslogtreecommitdiffstats
path: root/platform/x11/vulkan_context_x11.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/x11/vulkan_context_x11.cpp')
-rw-r--r--platform/x11/vulkan_context_x11.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/platform/x11/vulkan_context_x11.cpp b/platform/x11/vulkan_context_x11.cpp
new file mode 100644
index 0000000000..eab7c3935b
--- /dev/null
+++ b/platform/x11/vulkan_context_x11.cpp
@@ -0,0 +1,22 @@
+#include "vulkan_context_x11.h"
+#include <vulkan/vulkan_xlib.h>
+const char *VulkanContextX11::_get_platform_surface_extension() const {
+ return VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
+}
+
+VkResult VulkanContextX11::_create_surface(VkSurfaceKHR *surface, VkInstance p_instance) {
+
+ VkXlibSurfaceCreateInfoKHR createInfo;
+ createInfo.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
+ createInfo.pNext = NULL;
+ createInfo.flags = 0;
+ createInfo.dpy = display;
+ createInfo.window = window;
+
+ return vkCreateXlibSurfaceKHR(p_instance, &createInfo, NULL, surface);
+}
+
+VulkanContextX11::VulkanContextX11(Window p_window, Display *p_display) {
+ window = p_window;
+ display = p_display;
+}