8ccafddb64
Updated swapchain to recreate swapchain with the proper extent required and re-poll the window features on resize.
...
Swapchain will no longer trigger a resize (internally) if the previous (non-zero) size is equal to the current size
2025-07-10 21:48:12 +10:00
d550307011
Updated PipelineBuilder to now allow adding vertex bindings
2025-07-10 00:46:33 +10:00
e4258318ee
Disabled framebuffer caching by physical device
...
Swapchain is now capable of being recreated in a partially automatic manner (some effort is still required on the developer's side still)
Windows are now allowed to be resizeable
Updated main program to support resizable windows
2025-07-08 23:35:27 +10:00
c65d7fd4e3
Created a command buffer and command pool object for managing and tracking as well as wrapping vulkan functions to reduce boilerplate
2025-07-07 22:56:53 +10:00
b687d74e32
Created pipeline builder and wrapper
...
basalt::Pipeline is mainly just a wrapper around VkPipeline however there is no cast operator provided (yet)
2025-07-07 22:56:00 +10:00
4d797e1170
Created render_pass object
...
Some TODO's to handle regarding exposing access to vulkan functionallity
2025-07-07 22:54:59 +10:00
0598a89d0c
Created swapchain object.
...
Manages most of the present-related stuff.
Still need to move some queue submits inside of it though
2025-07-07 22:54:19 +10:00
425c226793
Contains convenient function to design a device based on the requirements for the physical device it is based around
...
NOTE: To get the appropriate index into the basalt::Device queue list, track the order of request_queue(s) calls in the designer
2025-07-07 22:52:25 +10:00
a0ef896d1e
Created a paper-thin wrapper around a VkQueue mainly so it manages its own lifecycle so long as its associated device is alive
2025-07-07 22:50:12 +10:00
42c45bbeb2
Updated the window to hold the vulkan context and a vulkan surface as well as providing a cast operator for the surface
2025-07-07 22:48:59 +10:00
78a5421021
Created physical device object
...
Contains helper functions for picking the most suitable device in a rust/java factory-like way
Has cast operator for underlying vulkan object
2025-07-07 22:48:07 +10:00
175897e7d9
Added cast operator for VkInstance
...
Now maintains a list of enabled extensions
2025-07-07 22:46:37 +10:00
2cd9844d07
Created basalt::context class and its implementation. Creates an underlying VkInstance, and if debug layers are present, creates a VkDebugUtilsMessengerEXT. There are two flags, should_free that controls whether the destructor will do anything, and using_validation_layers that states whether validation layers and debug utils have been setup. This is primarilly done to free them later and signify a runtime debug configuration.
2025-06-24 15:59:40 +10:00
b5ef8e4ab5
Library:
...
Added a very basic window object that essentially just wraps an GLFW window object.
TODO: Set the window userdata pointer to point to its wrapping object
2025-06-22 03:04:28 +10:00