Commit Graph

2387 Commits

Author SHA1 Message Date
Arisotura 5fb8836440 port video settings shit 2024-05-26 21:28:00 +02:00
Arisotura de18f029a6 port camera stuff 2024-05-26 13:08:41 +02:00
Arisotura a203d06c24 Revert "make screen filtering work with Qt rendering, too"
fuck everything
2024-05-26 01:00:11 +02:00
Arisotura eca52bcca2 make screen filtering work with Qt rendering, too 2024-05-26 00:23:50 +02:00
Arisotura d480808d72 port screen layout stuff. encapsulate screen layout code. 2024-05-26 00:16:55 +02:00
Arisotura 2451f3fed8 rework window size/maximized save/restore 2024-05-25 12:57:37 +02:00
Arisotura 7b709e6847 port WifiSettings -- still needs porting the LAN stuff 2024-05-25 01:32:46 +02:00
Arisotura c0c78553e6 port MPSettings 2024-05-25 01:17:51 +02:00
Arisotura f391c39592 port PowerManagement 2024-05-25 00:41:54 +02:00
Arisotura 449d3b342a port FirmwareSettings 2024-05-25 00:08:02 +02:00
Arisotura b5996f5ab6 port DateTime 2024-05-24 23:40:24 +02:00
Arisotura 038f7a9171 port PathSettings 2024-05-24 23:28:22 +02:00
Arisotura 5855e93f43 port InterfaceSettings to the new config system. 2024-05-24 22:52:43 +02:00
Arisotura 28e4d39363 maybe things wouldn't be weird if you initialized your fucking variables, Arisotura 2024-05-24 20:46:45 +02:00
Arisotura 03d5c2516c more small fry... 2024-05-24 20:32:28 +02:00
Arisotura f0b81a9050 resurrect some of the OSD, properly dispatch it to all windows 2024-05-24 19:29:58 +02:00
Arisotura a7bce8e233 some more small fry 2024-05-24 19:19:23 +02:00
Arisotura b5cc5a2cf7 port some small fry to the new config system. 2024-05-24 11:41:51 +02:00
Arisotura f9449999ec add required shit for loading per-window config (I think) 2024-05-23 23:31:15 +02:00
Arisotura d50f01b774 port input subsystem 2024-05-23 18:50:29 +02:00
Arisotura daf981e7c2 port audio settings to new config system 2024-05-23 02:23:24 +02:00
Arisotura d634c450bb MERGEZORZ II 2024-05-20 01:07:35 +02:00
Arisotura d75c46c9f3 Merge remote-tracking branch 'origin/master' into doublemelon
# Conflicts:
#	src/frontend/qt_sdl/Config.cpp
#	src/frontend/qt_sdl/EmuThread.cpp
#	src/frontend/qt_sdl/EmuThread.h
#	src/frontend/qt_sdl/Screen.cpp
#	src/frontend/qt_sdl/main.cpp
2024-05-20 00:50:25 +02:00
Arisotura 8bd50bb8b3 MERGEZORZ 2024-05-20 00:46:59 +02:00
Arisotura c3226f435c make it actually work, somewhat
still a lot more crap to fix
2024-05-20 00:19:22 +02:00
Arisotura e50463e983 finally, it builds
(don't get your hopes up. it crashes)
2024-05-20 00:04:05 +02:00
Arisotura 3d47fa08b8 migrate AudioInOut inside EmuInstance 2024-05-19 23:58:14 +02:00
Arisotura 21de51bb3f zarg 2024-05-19 21:34:20 +02:00
Arisotura cde47f56c5 it keeps going 2024-05-19 01:42:44 +02:00
Arisotura 30444036a6 botch one more thing 2024-05-18 11:58:17 +02:00
Arisotura 2fc1ae780b hey look, more shit 2024-05-18 11:45:31 +02:00
Arisotura 10380320c5 more work
aaaaaaaa
2024-05-16 21:20:10 +02:00
Nadia Holmquist Pedersen a72b79a55a that needs to be public actually 2024-05-15 19:43:34 +02:00
Nadia Holmquist Pedersen cfc49eb286 Revert slirp dynamic/static check, and make it not use dllimport/export
when building statically
2024-05-15 19:37:14 +02:00
Nadia Holmquist Pedersen d21bc64cb3 MinGW build portability fixes
AKA you can build melonDS for Windows on Fedora now
2024-05-15 18:57:49 +02:00
Nadia Holmquist Pedersen a2406e3c0e
Vendored libslirp (#2045)
Add vendored libslirp into the repo with a shim to remove its dependency on glib.
2024-05-15 18:00:55 +02:00
Nadia Holmquist Pedersen 747f50de98 Refactor how CCache is set up
* Use RULE_LAUNCH_COMPILE property as you're apparently supposed to
* Detect if compiler is already ccache to prevent build failure
2024-05-15 10:55:10 +02:00
Arisotura d10b5f8b8a more work
feuhqdskfqejlmdsjjjvwdccccccccccccccccccccccccccccccccccc
2024-05-15 01:00:41 +02:00
Nadia Holmquist Pedersen 5ab8161a21 Prevent turning on compute renderer on macOS 2024-05-14 11:39:06 +02:00
RSDuck 442661747e add assert to make sure all shaders were compiled 2024-05-14 04:09:20 +02:00
RSDuck 5df83c97c7 bump up compute shader renderer tile amount factor to 16
also why did I think DS could render 4096 polygons? Use that extra bit for larger work offset
2024-05-13 19:15:48 +02:00
RSDuck 347f4a79fd Fix division by zero 2024-05-13 17:23:05 +02:00
RSDuck 043244a56d
Compute shader renderer (#2041)
* nothing works yet

* don't double buffer 3D framebuffers for the GL Renderer
looks like leftovers from when 3D+2D composition was done in the frontend

* oops

* it works!

* implement display capture for compute renderer
it's actually just all stolen from the regular OpenGL renderer

* fix bad indirect call

* handle cleanup properly

* add hires rendering to the compute shader renderer

* fix UB
also misc changes to use more unsigned multiplication
also fix framebuffer resize

* correct edge filling behaviour when AA is disabled

* fix full color textures

* fix edge marking (polygon id is 6-bit not 5)
also make the code a bit nicer

* take all edge cases into account for XMin/XMax calculation

* use hires coordinate again

* stop using fixed size buffers based on scale factor in shaders
this makes shader compile times tolerable on Wintel
- beginning of the shader cache
- increase size of tile idx in workdesc to 20 bits

* apparently & is not defined on bvec4
why does this even compile on Intel and Nvidia?

* put the texture cache into it's own file

* add compute shader renderer properly to the GUI
also add option to toggle using high resolution vertex coordinates

* unbind sampler object in compute shader renderer

* fix GetRangedBitMask for 64 bit aligned 64 bits
pretty embarassing

* convert NonStupidBitfield.h back to LF only new lines

* actually adapt to latest changes

* fix stupid merge

* actually make compute shader renderer work with newest changes

* show progress on shader compilation

* remove merge leftover
2024-05-13 17:17:39 +02:00
Arisotura 7e705b6b41 almost looks like something? 2024-05-12 01:24:03 +02:00
Arisotura 3f6af2ce3b backport Nadia's zstd fix 2024-05-12 00:00:51 +02:00
Arisotura 199c2df8bb some more work, nearly done porting ROMManager shit over 2024-05-11 23:59:08 +02:00
Nadia Holmquist Pedersen c85a2103bb Allow adding a suffix to the displayed melonDS version 2024-05-11 22:40:45 +02:00
Arisotura b96f1bd734 add more shit to EmuInstance 2024-05-11 10:18:05 +02:00
Arisotura faa6cfec48 WIP. lay base for EmuInstance. 2024-05-10 12:48:32 +02:00
Nadia Holmquist Pedersen 10798c3464 fix README build badges finally 2024-05-05 08:40:37 +02:00