Commit Graph

25 Commits

Author SHA1 Message Date
Hyper
2c2e37f6fe Implemented immersive dark title bar 2024-12-03 19:24:08 +00:00
Skyth (Asilkan)
d36aa26bac Specialization constants, reverse Z and async PSO implementation. (#9)
* Specialization constant implementation for Vulkan.

* Implement DXIL library linking.

* Implement proper reverse Z & fix motion blur flicker.

* Mirage API mapping.

* Initial work for async PSO.

* Further async PSO work.

* Set pipeline names.

* Handle special layers writing depth.

* Handle bones in shadow pipeline.

* Fix additive mode setting wrong pipeline field.

* Pass models to compilation threads through shared pointers.

* Safety improvements.

* Allow DXIL linking to happen in parallel.

* Display more debug information.

* Queue unique models for compilation immediately.

* Put async PSO debug printing behind a macro.

* Kick off terrain models to pipeline compilation thread the moment they are made.

* Hook a different function to do waiting in.

* Fix pipelines getting dropped.

* Account for ConstTexCoord.

* Fix async PSO accounting for alpha to coverage even when MSAA is off.

* Remove "has bone" specialization constant.

* Sky shader compilation & more debugging helpers.

* Assign names to shaders during loading.

* Fix string symbol definitions.

* Print description of recently compiled render thread pipelines.

* Switch to an enum library that doesn't murder IntelliSense.

* Precompile pipelines for object icons.

* Skip fur pipelines.

* Skip printing info for pipelines compiled during loading.

* Precompile pipelines for Sonic's mouth, motion blur, and forced transparent objects.

* Precompile planar reflection shaders.

* Precompile sparkle shaders in loading screens.

* Precompile fur shader.

* Refactor model traversing to enqueue every single compilation to worker threads.

* Dynamically create pipeline threads depending on hardware concurrency.

* Fix MSAA depth resolve not accounting for reverse Z.

* Integrate smol-v.

* Implement PSO caching.

* Update ShaderRecomp & remove unused function.
2024-11-29 23:30:48 +03:00
Skyth
e403f961aa Cherry pick of global delta time from 'options-menu' branch.
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
2024-11-20 10:39:58 +03:00
Hyper
118c2f3ce2 config_detail: move implementation to cpp, relocate sources 2024-11-15 21:21:43 +00:00
Hyper
4d9e835c88 Update window icon dynamically for Werehog 2024-11-10 22:47:11 +00:00
Hyper
f157b21d67 Implemented SDL event listener class and HUD toggle key (#4)
* Implemented SDL event listener class

* Add HUD toggle.

* frontend_listener: clean-up

* window: invoke all listener callbacks at once

* window: use raw pointers for listeners

* Rename WindowListener to SDLEventListener, reduce virtual functions

---------

Co-authored-by: RadiantDerg <jayvier13@gmail.com>
2024-11-10 21:23:36 +03:00
Skyth
05e09ba7e2 Implement ImGui. 2024-11-09 21:47:50 +03:00
Hyper
ec5c51f54c Migrate game.cpp to categorised source files (#3)
* Migrate game.cpp to categorised source files

Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
Co-Authored-By: Michael <15317421+ActualMandM@users.noreply.github.com>

* Move motion blur hook to video_patches.cpp

---------

Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
Co-authored-by: Michael <15317421+ActualMandM@users.noreply.github.com>
2024-11-08 16:18:41 +03:00
Hyper
fabc1ffbc7 window: fix abnormal window states erroneously saving dimensions 2024-11-05 14:37:07 +00:00
Hyper
43ec0797b0 window: hide mouse cursor on fullscreen boot 2024-11-04 12:47:44 +00:00
Hyper
f96b2ad16c window: use SDL flags to determine centred window config 2024-11-04 03:28:47 +00:00
Hyper
0564cbc483 window: exit fullscreen on F2 reset 2024-10-30 11:44:37 +00:00
Hyper
1c7b66237d window: refactored code 2024-10-30 11:41:48 +00:00
Hyper
78cba0e78d window: save config on close with window dimensions 2024-10-21 23:17:09 +01:00
Hyper
efaf8fb8c4 config: implemented string<->enum conversion 2024-10-21 22:23:52 +01:00
Hyper
23b5bdab85 config: use enum classes 2024-10-21 20:09:57 +01:00
Hyper
231a78a118 config: override type operator 2024-10-21 17:18:17 +01:00
Hyper
cf8bba788b config: implemented saving 2024-10-21 17:07:58 +01:00
Hyper
a272c6d32a High DPI window fixes 2024-10-20 23:16:40 +01:00
Hyper
8f80396b1f Remove graceful exit hook
Might as well stick with ExitProcess, seeing as this is how the game is exited on Xbox.
2024-10-18 09:02:41 +01:00
Hyper
ceee6948a8 Implemented score hooks 2024-10-17 23:41:38 +01:00
Hyper
ee35458b5d Config: implemented toml reading 2024-10-17 21:20:35 +01:00
Hyper
3c1c13e4ce Implemented camera aspect ratio hooks 2024-10-17 19:16:33 +01:00
Hyper
7b4caece2f Window: add game icon and window events 2024-10-17 17:51:17 +01:00
Hyper
86a80fbc61 Move gpu/Window.cpp to ui/window.cpp 2024-10-17 14:36:02 +01:00