Kevin Trogant
25006139f1
refactor(launcher): Remove api for live-recompilation
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 1m36s
2024-07-24 17:44:05 +02:00
Kevin Trogant
ca5d8ad8f0
fix(runtime): Use NULL when invalidating a win32 file handle
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 1m26s
2024-07-24 16:42:22 +02:00
Kevin Trogant
faa2b904ea
feat(launcher): Offer API for the game
...
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Has been cancelled
This also turns the meshlet experiment into a proper "game" as the first testcase.
It is necessary to build glfw as a shared library, to allow multiple targets (i.e. the launcher and the game)
to link against it.
This is necessary if the game wants to use glfw for something (imgui, for instance).
2024-07-24 16:39:31 +02:00
Kevin Trogant
578722a0c5
refactor: Remove unnecessary includes
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m36s
2024-07-24 15:14:38 +02:00
Kevin Trogant
77f0db7a7c
feat(linux): Ported aio to linux
...
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m46s
I had to rename the header, because the POSIX async io header has the same name.
2024-07-24 15:10:06 +02:00
Kevin Trogant
e371a24761
fix(launcher): Use WinMain instead of wWinMain
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 1m30s
2024-07-24 12:42:24 +02:00
Kevin Trogant
4ab483c003
fix: Remove broken include from timing.c
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m58s
2024-07-24 12:30:52 +02:00
Kevin Trogant
50bd92dfcb
feat(launcher): Set CVARs from the command line
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m39s
2024-07-24 12:27:52 +02:00
Kevin Trogant
1a389c3759
feat(launcher): Add cvar for selecting an output monitor
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m17s
2024-07-23 19:18:47 +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
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
92fbe1ece4
refactor(build): Using meson devenv makes copying libgcc unnecessary while cross-compiling
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 2m13s
2024-07-23 10:49:39 +02:00
Kevin Trogant
dcf89bcc8b
fix: fix implicit cast to double warning
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 1m14s
2024-07-19 12:47:18 +02:00
Kevin Trogant
14138b4933
Merge branch 'main' of https://libneat.hopto.org/git/kevin/rtengine
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m18s
2024-07-19 10:31:30 +02:00
Kevin Trogant
4e02d43514
Add early config file parsing
...
Also cleaned up contrib/ and made lz4 and xxhash subprojects installed
via wrap.
2024-07-19 10:30:50 +02:00
Kevin Trogant
8f52ea3d3a
Fixed linux -> windows cross compilation
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m32s
2024-07-16 11:48:28 +02:00
Kevin Trogant
36e96fc4d1
Test message
CI Meson / Build on ${{ matrix.os }} with Meson v${{ matrix.meson_version }} (1.4.0, ubuntu-18.04) (push) Waiting to run
CI Meson / Build on ${{ matrix.os }} with Meson v${{ matrix.meson_version }} (1.4.0, ubuntu-20.04) (push) Failing after 52s
CI Meson / Build on ${{ matrix.os }} with Meson v${{ matrix.meson_version }} (1.4.0, ubuntu-22.04) (push) Failing after 40s
CI Meson / Build on ${{ matrix.os }} with Meson v${{ matrix.meson_version }} (1.4.0, ubuntu-latest) (push) Failing after 40s
2024-07-15 17:00:49 +02:00
Kevin Trogant
09c14a8809
WIP meshlets experiment
2024-07-15 16:34:39 +02:00
Kevin Trogant
1b4a17f01a
Get it to compile again
2024-06-05 11:54:35 +02:00
Kevin Trogant
b0e6839a1c
Rip out renderer code
...
THIS WILL NOT COMPILE
2024-06-04 11:45:55 +02:00
Kevin Trogant
88da8ec889
Render a triangle
2024-05-19 12:48:50 +02:00
Kevin Trogant
656b21d1ef
Loading and caching effects
2024-05-14 14:07:04 +02:00
Kevin Trogant
5d988d15b7
give passes views instead of lists
...
A view is a collection of lists. This is useful for a shadow mapping
pass that generates more than one shadow map.
Each view would create lists of objects visible in one shadow map.
2024-05-07 08:12:45 +02:00
Kevin Trogant
6052f35485
Determine pass execution levels
...
Useful for (once we have a job system) executing render passes in
parallel
2024-05-06 12:21:18 +02:00
Kevin Trogant
388b747a04
Executing the simplest possible render graph
2024-04-18 17:06:11 +02:00
Kevin Trogant
df50759303
Merge branch 'main' into f/framegraph-v2
2024-04-04 20:46:03 +02:00
Kevin Trogant
4d575dc229
pipelines
2024-04-04 20:01:37 +02:00
Kevin Trogant
e7971e7bad
compiling shaders
2024-04-04 08:51:48 +02:00
Kevin Trogant
e93847b187
Begin and end pass
2024-04-03 22:56:31 +02:00
Kevin Trogant
2651ce2e9d
buffers
2024-04-03 22:01:33 +02:00
Kevin Trogant
565c330f71
render targets
2024-04-03 20:56:10 +02:00
Kevin Trogant
2035f73f3e
init dx11 and basic present
2024-04-02 19:47:28 +02:00
Kevin Trogant
5a7d06e123
null implementation of the render graph builder
2024-04-02 19:44:51 +02:00
Kevin Trogant
c7e5bb8a31
Render Graph prep
2024-04-02 19:43:02 +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
3d0d4169f1
Progress towards rendering with effects
...
- Added a null renderer to simplify testing
2024-03-08 01:13:10 +01:00
Kevin Trogant
efd1f5f983
Merge branch 'main' of https://libneat.hopto.org/git/kevin/rtengine
2024-02-29 16:49:57 +01:00
Kevin Trogant
41fe5426b8
Start work on effect files
...
Extends pipeline files
2024-02-29 16:43:27 +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
36e2314f35
Fix for allocation problems
...
- Double allocation because of missing break
2024-02-28 16:34:43 +01:00
Kevin Trogant
8dc4f794b3
Workaround for memory corruption in asset processor
...
Somehow the asset processor threads corrupt each others memory - replace
the asset of thread X with the asset of thread Y.
Weird.
2024-02-28 13:57:50 +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
ee24cd4903
Differentiate between graphics and compile passes
2024-02-27 10:00:00 +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
b44b3e651b
Add interface for command buffers
2024-02-09 10:20:00 +01:00