X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fvk.c;h=101eaa819f912075e01483cd132f54cb68fad7e0;hb=4017dd5d42a224a5def1b1cba2fcc919c36fdd83;hp=e07dbf9a835499a08881a74833f44241f99577d0;hpb=70f841651ba46d78c8cb4996147fe2e6e2874f67;p=vkray diff --git a/src/vk.c b/src/vk.c index e07dbf9..101eaa8 100644 --- a/src/vk.c +++ b/src/vk.c @@ -8,7 +8,9 @@ #ifdef __WIN32__ #include #else -#include +/*#include */ +#include +#include #endif static int create_instance(void); @@ -87,7 +89,8 @@ static struct { #ifdef __WIN32__ {"VK_KHR_win32_surface", 1}, #else - {"VK_KHR_xlib_surface", 1}, + /*{"VK_KHR_xlib_surface", 1},*/ + {"VK_KHR_xcb_surface", 1}, #endif {"VK_KHR_debug_report", 0} }; @@ -162,6 +165,9 @@ static int create_instance(void) static int create_surface(void) { + int res; + + /* VkXlibSurfaceCreateInfoKHR xinf = {0}; xinf.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR; xinf.dpy = dpy; @@ -171,6 +177,16 @@ static int create_surface(void) fprintf(stderr, "failed to create Xlib window surface\n"); return -1; } + */ + VkXcbSurfaceCreateInfoKHR xinf = {0}; + xinf.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR; + xinf.connection = XGetXCBConnection(dpy); + xinf.window = (xcb_window_t)win; + + if((res = vkCreateXcbSurfaceKHR(vk, &xinf, 0, &vksurf)) != 0) { + fprintf(stderr, "failed to create XCB window surface (%d)\n", res); + return -1; + } return 0; }