undo last commit
This commit is contained in:
parent
644fbda520
commit
6021713286
28
vulkan.d
28
vulkan.d
@ -55,6 +55,12 @@ version(linux)
|
|||||||
"libvulkan.so.1",
|
"libvulkan.so.1",
|
||||||
"libvulkan.so",
|
"libvulkan.so",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
struct PlatformHandles
|
||||||
|
{
|
||||||
|
xcb_connection_t *conn;
|
||||||
|
xcb_window_t window;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
version(Windows)
|
version(Windows)
|
||||||
@ -62,6 +68,12 @@ version(Windows)
|
|||||||
const string[] VULKAN_LIBS = [
|
const string[] VULKAN_LIBS = [
|
||||||
"vulkan-1.dll",
|
"vulkan-1.dll",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
struct PlatformHandles
|
||||||
|
{
|
||||||
|
HINSTANCE hinstance;
|
||||||
|
HWND hwnd;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char*[] VK_INSTANCE_LAYERS = [];
|
const char*[] VK_INSTANCE_LAYERS = [];
|
||||||
@ -357,6 +369,7 @@ struct Vulkan
|
|||||||
|
|
||||||
SLList!(SI) cleanup_list;
|
SLList!(SI) cleanup_list;
|
||||||
|
|
||||||
|
PlatformHandles platform_handles;
|
||||||
u32 window_h, window_w;
|
u32 window_h, window_w;
|
||||||
|
|
||||||
VkDebugUtilsMessengerEXT dbg_msg;
|
VkDebugUtilsMessengerEXT dbg_msg;
|
||||||
@ -453,7 +466,7 @@ struct QueueInfo
|
|||||||
u8[] CONVERT_SHADER_BYTES = cast(u8[])import("convert.comp.spv");
|
u8[] CONVERT_SHADER_BYTES = cast(u8[])import("convert.comp.spv");
|
||||||
|
|
||||||
Vulkan
|
Vulkan
|
||||||
Init(PlatformWindow* window, u64 permanent_mem, u64 frame_mem)
|
Init(PlatformHandles platform_handles, u64 permanent_mem, u64 frame_mem)
|
||||||
{
|
{
|
||||||
bool success = true;
|
bool success = true;
|
||||||
|
|
||||||
@ -463,6 +476,7 @@ Init(PlatformWindow* window, u64 permanent_mem, u64 frame_mem)
|
|||||||
CreateArena(frame_mem),
|
CreateArena(frame_mem),
|
||||||
CreateArena(frame_mem),
|
CreateArena(frame_mem),
|
||||||
],
|
],
|
||||||
|
platform_handles: platform_handles,
|
||||||
};
|
};
|
||||||
|
|
||||||
Push(&vk, SI.Renderer);
|
Push(&vk, SI.Renderer);
|
||||||
@ -477,7 +491,7 @@ Init(PlatformWindow* window, u64 permanent_mem, u64 frame_mem)
|
|||||||
EnableVLayers(&vk);
|
EnableVLayers(&vk);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(success) success = InitSurface(&vk, window);
|
if(success) success = InitSurface(&vk);
|
||||||
if(success) success = InitDevice(&vk);
|
if(success) success = InitDevice(&vk);
|
||||||
if(success) success = InitVMA(&vk);
|
if(success) success = InitVMA(&vk);
|
||||||
if(success) success = CreateSwapchain(&vk);
|
if(success) success = CreateSwapchain(&vk);
|
||||||
@ -3326,7 +3340,7 @@ InitInstance(Vulkan* vk)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
InitSurface(Vulkan* vk, PlatformWindow* window)
|
InitSurface(Vulkan* vk)
|
||||||
{
|
{
|
||||||
Push(vk, SI.Surface);
|
Push(vk, SI.Surface);
|
||||||
|
|
||||||
@ -3334,8 +3348,8 @@ version(linux)
|
|||||||
{
|
{
|
||||||
VkXcbSurfaceCreateInfoKHR surface_info = {
|
VkXcbSurfaceCreateInfoKHR surface_info = {
|
||||||
sType: VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
|
sType: VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR,
|
||||||
connection: window.conn,
|
connection: vk.platform_handles.conn,
|
||||||
window: window.window,
|
window: vk.platform_handles.window,
|
||||||
};
|
};
|
||||||
|
|
||||||
VkResult result = vkCreateXcbSurfaceKHR(vk.instance, &surface_info, null, &vk.surface);
|
VkResult result = vkCreateXcbSurfaceKHR(vk.instance, &surface_info, null, &vk.surface);
|
||||||
@ -3345,8 +3359,8 @@ version(Windows)
|
|||||||
{
|
{
|
||||||
VkWin32SurfaceCreateInfoKHR surface_info = {
|
VkWin32SurfaceCreateInfoKHR surface_info = {
|
||||||
sType: VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
|
sType: VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
|
||||||
//hinstance: vk.platform_handles.instance,
|
hinstance: vk.platform_handles.instance,
|
||||||
//hwnd: vk.platform_handles.handle,
|
hwnd: vk.platform_handles.handle,
|
||||||
};
|
};
|
||||||
|
|
||||||
VkResult result = vkCreateWin32SurfaceKHR(vk.instance, &surface_info, null, &vk.surface);
|
VkResult result = vkCreateWin32SurfaceKHR(vk.instance, &surface_info, null, &vk.surface);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user