Kevin Trogant
9b162379d4
Merge branch 'main' of https://libneat.hopto.org/git/kevin/voyage
2024-02-13 08:36:48 +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
b939d1498e
Update docs/LINKS.md
2024-02-13 00:51:49 +01:00
Kevin Trogant
b44b3e651b
Add interface for command buffers
2024-02-09 10:20:00 +01:00
Kevin Trogant
765e263979
Add render_command_buffer handle type
...
Also unify handle types via macro
2024-02-09 10:09:39 +01:00
Kevin Trogant
c23f03e622
Add single-threaded framegraph execute function
2024-02-09 00:07:35 +01:00
Kevin Trogant
abe05f3780
Add basic infrastructure for running update and render threads
...
Communicate progress via a pair of semaphores
2024-02-08 23:06:23 +01:00
Kevin Trogant
4f27819fa2
Improve dll build
...
Still not perfect, but more user friendly now.
2024-02-08 16:57:01 +01:00
Kevin Trogant
058c738da9
Merge branch 'r/meson_refactor'
2024-02-07 17:03:18 +01:00
Kevin Trogant
18b548b8bb
Fixed broken framegraph resource copy
...
- Missed a relptr set
2024-02-07 17:02:23 +01:00
Kevin Trogant
027ef8a46f
Restructure the project
...
Move asset_compiler into its own (static) library.
This removes the dependency on it from the runtime and makes it possible
to have a standalone asset_compiler tool (useful for modding support).
Split meson.build into sub-files to improve readability.
Give each target its own pch directory.
This is more inline with what the meson manual recommends.
Export dependencies to make it possible to use the engine as a meson
subproject.
This is currently untested.
2024-02-07 13:56:06 +01:00
Kevin Trogant
a7339ffd53
Add a semaphore type
2024-02-06 17:57:45 +01:00
Kevin Trogant
cc49a017f9
Load framegraphs from resource files
2024-02-06 17:57:14 +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
1d8051747e
Add some thoughts about the future render pipeline
2024-02-05 01:24:00 +01:00
Kevin Trogant
fc08ab08d4
Test resource manager and renderer integration
2024-02-05 01:23:31 +01:00
Kevin Trogant
c66d5ce337
Merge branch 'main' of https://libneat.hopto.org/git/kevin/voyage
2024-02-04 18:32:23 +01:00
Kevin Trogant
870f238410
Add a resource namespace file format
2024-02-04 18:31:02 +01:00
Kevin Trogant
0b6e855cef
Remove packages.h/.c from meson.build
2024-02-04 17:29:01 +01:00
Kevin Trogant
b80d0d1bf9
Remove unnecessary files
2024-02-04 17:28:32 +01:00
Kevin Trogant
cfec746545
Implement resource compression
2024-02-04 17:26:51 +01:00
Kevin Trogant
3a9f9d4986
Write the first compiled resources to files
2024-01-31 22:48:51 +01:00
Kevin Trogant
9670844bb2
Move towards using DXC for compiling shaders
...
This is recommended by the vulkan documentation.
2024-01-25 23:33:29 +01:00
Kevin Trogant
3254af3786
Make progress towards the new builtin asset compiler
...
Attempts to compile HLSL shaders (with includes)
2024-01-25 09:45:23 +01:00
c0a8fad6e7
Add docs/LINKS.md
2024-01-23 17:21:30 +01:00
Kevin Trogant
94f95157fe
build config for integrated asset compiler
2024-01-16 17:44:03 +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
d5ab965d64
Add missing dynamic_libs.c to meson.build
2023-12-31 02:29:31 +01:00
Kevin Trogant
275f3b65f8
Untested asset cache
...
- Added read-write lock implementation
2023-12-31 02:16:29 +01:00
Kevin Trogant
bf2129f92b
don't keep processed assets in memory
...
- Slightly slower, but this will (in principle) scale to an unlimited
number of assets
2023-12-25 23:32:55 +01:00
Kevin Trogant
5a4177c4dc
assetc complete "lifetime"
...
- Add unchanged assets to packages
- Allows re-runs without messing up the data
- Inefficient: unchanged assets need to be loaded & kept in memory
2023-12-22 00:25:27 +01:00
Kevin Trogant
0c89d63716
load runtime asset dependency data
...
removed init/shutdown functions from headers.
2023-12-21 00:19:48 +01:00
Kevin Trogant
213638009b
tracking asset dependencies
2023-12-12 10:58:09 +01:00
Kevin Trogant
361436ee46
started work on discovery
2023-12-11 00:09:52 +01:00
Kevin Trogant
19f7e29215
Progress on assetc
2023-12-10 23:09:19 +01:00
Kevin Trogant
4a0231a79b
fix meson.build and remove unnecessary subprojects directory
2023-11-24 14:00:35 +01:00
Kevin Trogant
ae50c45a18
Multiple asset processors
...
- Added a (stub) for shader files
2023-11-24 13:59:38 +01:00
Kevin Trogant
9f3f40249f
Started building the asset compiler
2023-11-24 00:43:35 +01:00
Kevin Trogant
360bf6cf1c
only dllexport if we are building dll's
2023-11-23 22:19:02 +01:00
Kevin Trogant
11ec5a0cd2
Various improvements
...
- Support static linking
- Buffer manager
2023-11-23 22:03:02 +01:00
Kevin Trogant
b2037519cc
Fix initialization and shutdown
2023-11-22 15:22:43 +01:00
Kevin Trogant
937ca92d9f
Remove fio
2023-11-22 15:21:11 +01:00
Kevin Trogant
1a4a2109ca
feat: async io for windows
...
Submit async-io to the OS.
Next step is replacing all FIO calls with async-io and removing the old
code.
2023-11-22 14:25:37 +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
b1ff895718
ref: Only use the older meson_options.txt
...
Supports older versions
2023-10-17 23:13:42 +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