remove platformhandles struct

This commit is contained in:
Matthew 2025-10-26 13:10:51 +11:00
parent 441e6adc48
commit 644fbda520

View File

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