Commit Graph

22 Commits

Author SHA1 Message Date
22f9878d38 Add RenderPass creation to RenderDriver::create_swapchain() 2025-04-30 17:21:46 +10:00
e710b80f36 Move ShaderStage and name into Shader struct
These fields will eventually be determined automatically but for now it
makes more sense to pass them as arguements to RenderDriver::create_shader.
2025-04-23 00:25:15 +10:00
4bcabdebd1 Add RenderDriver::create_render_pass() stub 2025-04-22 19:00:36 +10:00
8d398b9c00 Started implementing Pipeline system for RenderDriver 2025-04-22 13:04:14 +10:00
c7249eeb62 Add create/destroy_shader functions to RenderDriver 2025-04-18 22:27:15 +10:00
47a07ea6a8 Add create/resize/destroy_swapchain functions to RenderDriver 2025-04-18 20:43:17 +10:00
4c6712e2fe Redefine ID types to be actual pointers
Redefined various ID types to be aliases of pointers instead of casting
a uintptr_t to the needed pointer.

e.g. SurfaceID = Surface*
2025-04-16 23:46:00 +10:00
8efa200e9e Add _check_device_capabilities stub function 2025-04-12 20:39:16 +10:00
930bba636e Check surface support when choosing device 2025-04-12 20:27:30 +10:00
6e1393ce64 Add basic surface handling to RenderDriver and WindowDriver
This will likely require significant rework but it will do for now. A
considerations worth thinking about:

- What happends when the WindowDriver destroys a window, what happens to
  the corresponding surface?
2025-04-10 17:53:48 +10:00
536a1e8773 Misc fixes 2025-04-08 22:10:07 +10:00
9ab1b306b3 Rename RenderDriver::create_device to RenderDriver::select_device 2025-04-08 18:43:06 +10:00
608af1b866 Moved RenderDriver/WindorDriver init code to static create functions 2025-04-08 18:24:33 +10:00
6a77722ff5 Use preprocessor to exclude platform specify code instead of cmake 2025-03-31 22:17:35 +10:00
4e47c97539 Move VulkanRenderDriver::_pick_device to RenderDevice::choose_device 2025-03-27 15:07:24 +10:00
e1392f6f8e Add RenderDevice::AUTO for create_device() 2025-03-19 21:57:32 +10:00
f968d0cb22 Add get_api_name() and get_api_version_string() 2025-03-19 20:11:44 +10:00
76b0e87f28 Add various assertions throughout renderer 2025-03-16 12:58:15 +10:00
ee2637cd36 Add RenderDriver::create_device() 2025-03-16 00:15:24 +10:00
f979b782cc Add RenderDevice struct and driver accessor functions 2025-03-15 18:01:57 +10:00
d91275c393 Create VkInstance in VulkanRenderDriver 2025-03-15 15:17:42 +10:00
3009a4c6d9 Add basic Renderer and RenderDriver classes 2025-02-12 00:59:35 +10:00