update from xcb to xlib
This commit is contained in:
parent
f96d30ae9c
commit
6bd4718063
3
external/vma/vma.cpp
vendored
3
external/vma/vma.cpp
vendored
@ -4,7 +4,8 @@
|
|||||||
#define VMA_VULKAN_VERSION 1002000
|
#define VMA_VULKAN_VERSION 1002000
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#define VK_USE_PLATFORM_XCB_KHR
|
# define XLIB_ILLEGAL_ACCESS
|
||||||
|
# define VK_USE_PLATFORM_XLIB_KHR
|
||||||
#elif _WIN32
|
#elif _WIN32
|
||||||
# define VK_USE_PLATFORM_WIN32_KHR
|
# define VK_USE_PLATFORM_WIN32_KHR
|
||||||
#else
|
#else
|
||||||
|
|||||||
25
vulkan.d
25
vulkan.d
@ -52,19 +52,20 @@ const DESC_ARRAY_SIZE = 256;
|
|||||||
version(linux)
|
version(linux)
|
||||||
{
|
{
|
||||||
const string[] VULKAN_LIBS = [ "libvulkan.so.1", "libvulkan.so" ];
|
const string[] VULKAN_LIBS = [ "libvulkan.so.1", "libvulkan.so" ];
|
||||||
|
|
||||||
struct PlatformHandles
|
|
||||||
{
|
|
||||||
xcb_connection_t *conn;
|
|
||||||
xcb_window_t window;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
version(Windows)
|
version(Windows)
|
||||||
{
|
{
|
||||||
const string[] VULKAN_LIBS = [ "vulkan-1.dll" ];
|
const string[] VULKAN_LIBS = [ "vulkan-1.dll" ];
|
||||||
|
}
|
||||||
|
|
||||||
struct PlatformHandles
|
struct PlatformHandles
|
||||||
|
{
|
||||||
|
version(linux)
|
||||||
|
{
|
||||||
|
Display* display;
|
||||||
|
Window window;
|
||||||
|
}
|
||||||
|
version(Windows)
|
||||||
{
|
{
|
||||||
HINSTANCE hinstance;
|
HINSTANCE hinstance;
|
||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
@ -76,7 +77,7 @@ const char*[] VK_INSTANCE_LAYERS_DEBUG = [ "VK_LAYER_KHRONOS_validation" ];
|
|||||||
|
|
||||||
version(linux)
|
version(linux)
|
||||||
{
|
{
|
||||||
const char*[] VK_INSTANCE_EXT = [ cast(char*)VK_KHR_SURFACE_EXTENSION_NAME, cast(char*)VK_KHR_XCB_SURFACE_EXTENSION_NAME ];
|
const char*[] VK_INSTANCE_EXT = [ cast(char*)VK_KHR_SURFACE_EXTENSION_NAME, cast(char*)VK_KHR_XLIB_SURFACE_EXTENSION_NAME ];
|
||||||
const char*[] VK_INSTANCE_EXT_DEBUG = VK_INSTANCE_EXT ~ [ cast(char*)VK_EXT_DEBUG_UTILS_EXTENSION_NAME ];
|
const char*[] VK_INSTANCE_EXT_DEBUG = VK_INSTANCE_EXT ~ [ cast(char*)VK_EXT_DEBUG_UTILS_EXTENSION_NAME ];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2659,13 +2660,13 @@ Init(PlatformHandles platform_handles, u64 permanent_mem, u64 frame_mem)
|
|||||||
{
|
{
|
||||||
version(linux)
|
version(linux)
|
||||||
{
|
{
|
||||||
VkXcbSurfaceCreateInfoKHR surface_info = {
|
VkXlibSurfaceCreateInfoKHR surface_info = {
|
||||||
sType: VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
|
sType: VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR,
|
||||||
connection: vk.platform_handles.conn,
|
dpy: vk.platform_handles.display,
|
||||||
window: vk.platform_handles.window,
|
window: vk.platform_handles.window,
|
||||||
};
|
};
|
||||||
|
|
||||||
VkResult result = vkCreateXcbSurfaceKHR(vk.instance, &surface_info, null, &vk.surface);
|
VkResult result = vkCreateXlibSurfaceKHR(vk.instance, &surface_info, null, &vk.surface);
|
||||||
}
|
}
|
||||||
|
|
||||||
version(Windows)
|
version(Windows)
|
||||||
|
|||||||
@ -35,7 +35,7 @@ version(VULKAN_DEBUG)
|
|||||||
|
|
||||||
version(linux)
|
version(linux)
|
||||||
{
|
{
|
||||||
PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = null;
|
PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
version(Windows)
|
version(Windows)
|
||||||
@ -232,7 +232,7 @@ LoadInstanceFunctions(Vulkan* vk)
|
|||||||
|
|
||||||
version(linux)
|
version(linux)
|
||||||
{
|
{
|
||||||
vkCreateXcbSurfaceKHR = cast(PFN_vkCreateXcbSurfaceKHR)vkGetInstanceProcAddr(vk.instance, "vkCreateXcbSurfaceKHR");
|
vkCreateXlibSurfaceKHR = cast(PFN_vkCreateXlibSurfaceKHR)vkGetInstanceProcAddr(vk.instance, "vkCreateXlibSurfaceKHR");
|
||||||
}
|
}
|
||||||
|
|
||||||
version(Windows)
|
version(Windows)
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
#pragma attribute(push, nogc, nothrow)
|
#pragma attribute(push, nogc, nothrow)
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
# include <xcb/xcb.h>
|
# define XLIB_ILLEGAL_ACCESS
|
||||||
|
# define VK_USE_PLATFORM_XLIB_KHR
|
||||||
# include <X11/Xlib.h>
|
# include <X11/Xlib.h>
|
||||||
# define VK_USE_PLATFORM_XCB_KHR
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user