Commit Graph

30 Commits

Author SHA1 Message Date
Kevin Trogant
96b244e4e3 feat: Bindless registry
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m26s
2024-08-03 14:25:19 +02:00
Kevin Trogant
beba96b915 feat(renderer): Basic command list managemnent
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m41s
2024-08-02 17:12:35 +02:00
Kevin Trogant
4febd1b3fa feat(vk): Physical resource manager for buffers
All checks were successful
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 1m38s
2024-07-31 23:00:31 +02:00
Kevin Trogant
3a7bca385c feat: Create the swapchain
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m50s
2024-07-31 10:07:49 +02:00
Kevin Trogant
e0904e84c4 feat(renderer): Initialize vulkan 2024-07-30 21:57:46 +02:00
Kevin Trogant
5709cc98a5 refactor(renderer): Introduce renderer lib that handles backend selection and common functionality
All checks were successful
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 1m58s
2024-07-29 22:04:46 +02:00
Kevin Trogant
f232a94f92 feat: Launcher application that loads the game and creates the window 2024-07-23 16:04:56 +02:00
Kevin Trogant
f98d64b927 feat(renderer): Add vulkan renderer stub
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m26s
2024-07-23 12:42:42 +02:00
Kevin Trogant
b0e6839a1c Rip out renderer code
THIS WILL NOT COMPILE
2024-06-04 11:45:55 +02:00
Kevin Trogant
3bc192b281 dump state
this will be the basis of the framegraph rewrite, because the current
state is fucked
2024-03-25 17:55:03 +01:00
Kevin Trogant
6f89dd4c46 Try to improve resource layout transition 2024-03-17 15:10:45 +01:00
Kevin Trogant
b4eef37741 Fix linux build
I did not test if it actually runs, but it builds with warning_level=2.
2024-02-29 16:12:09 +01:00
Kevin Trogant
9d2987121e Add debug names to framegraph objects
Better renderdoc output
2024-02-28 13:38:41 +01:00
Kevin Trogant
9008d08d9f Chain framegraph semaphores together
Quick RenderDoc check suggests that this works as intended :-)
2024-02-27 14:35:48 +01:00
Kevin Trogant
bc6076b786 Seems like a valid chain of image transitions.
Now we need to draw something and also have the correct semaphore waits
to establish dependencies.
2024-02-20 13:47:47 +01:00
Kevin Trogant
1e49b14879 Present the first (black) image 2024-02-19 10:27:53 +01:00
Kevin Trogant
e989c2b406 Creating timed semaphores
- Similar to Dx12 fences.
- More flexible than VK 1 binary semaphores.
2024-02-16 15:31:23 +01:00
Kevin Trogant
887fa63c43 Manage command buffers
I decided to make queues explicit, to simplify handling queue ownership
transfers in the renderer code. The framegraph + pass code has explicit knowledge
about resource ownership, so it makes sense to handle it there.

- Manage pools
- Allocate command buffers
- Submit command buffers
2024-02-13 08:35:19 +01:00
Kevin Trogant
bdd3db98bb Add creation function for framegraphs and render targets
- The framegraph code currently does not attempt to alias render
  targets, but this should be pretty straightforward to add.
2024-02-05 21:49:09 +01:00
Kevin Trogant
fc08ab08d4 Test resource manager and renderer integration 2024-02-05 01:23:31 +01:00
Kevin Trogant
abb367dffc rename the engine to recreational.tech 2024-01-16 16:10:56 +01:00
Kevin Trogant
448d448430 started work on pipeline parsing 2024-01-16 16:03:30 +01:00
Kevin Trogant
19f7e29215 Progress on assetc 2023-12-10 23:09:19 +01:00
Kevin Trogant
11ec5a0cd2 Various improvements
- Support static linking
- Buffer manager
2023-11-23 22:03:02 +01:00
Kevin Trogant
97adb0dffa various updates 2023-11-22 11:23:52 +01:00
Kevin Trogant
6937e55888 feat: create vulkan swapchain 2023-10-25 23:24:04 +02:00
Kevin Trogant
904a26374b feat: create vulkan device, surface etc.
- Next up: swapchain
- Use volk
2023-10-23 23:12:45 +02:00
Kevin Trogant
fef087c906 merged vk/init.c 2023-10-17 23:00:07 +02:00
Kevin Trogant
4b97f8ff33 fix: Linux build
- Prepare for supporting Xlib and Wayland (in the future), by having a
  option for 'use_xlib'
- Fixed a few compile errors
2023-10-17 15:22:02 +02:00
Kevin Trogant
81798df3e9 ref, feat: Restructure
- The renderer backend is now its own library, loaded at runtime.
- Removed GLFW dependency, instead use win32 directly.
- Broke linux window creation, because it's not implemented yet.
  - Maybe use GLFW for linux?
2023-10-17 00:54:51 +02:00