Commit Graph

450 Commits

Author SHA1 Message Date
Georgiy NN b87465fd8a Fix building with cubeb disabled 2023-02-25 19:17:19 +01:00
Jonathan Mohrbacher 44c16e1c64 Delete dead EmulatedController::find_controller method 2023-02-25 18:45:42 +01:00
lisa-wolfgang 4c697d3755
Add cross-platform "disable screen saver" setting (#497) 2023-02-24 22:10:07 +01:00
Exzap 80b1c50b50 coreinit: Fix thread scheduler not resetting quantum
When a thread was force-rescheduled (e.g. via OSYieldThread) the next time it resumed it would not reset the time slice duration (remainingCycles) back to ppcThreadQuantum. As a consequence threads were often immediately rescheduled and only on the next turn they would get their full time slice.

Aside from (very slightly) improving performance, this also fixes the OSDisableInterrupts warning spam in the log for TPHD.
2023-02-22 13:37:14 +01:00
Exzap 9d25b88368 Latte: Add support for MIN_DX10 shader instruction 2023-02-22 13:37:14 +01:00
Crementif 05e0f349e0
debugger: Disable Linux read/write breakpoints for now (#669)
It seems that there's some differences for some distros so until a proper solution is found, just disable it for now.
2023-02-20 00:29:32 +01:00
Crementif 6d75776b28
Add GDB stub for debugging (#657)
* Implement GDB stub debugger

Can be enabled by using the "--enable-gdbstub" option (and the debugger GUI, although that's untested) which'll pause any game you launch at start-up. Will start at port 1337 although it'll eventually be user-editable. The code is a bit weirdly sorted and also just needs a general cleanup, so expect that eventually too. And uses egyptian braces but formatting was easier to do at the end, so that's also something to do.

It has been tested to work with IDA Pro, Clion and the standalone interface for now, but I plan on writing some instructions in the PR to follow for people who want to use this. Memory breakpoints aren't possible yet, only execution breakpoints.

This code was aimed to be decoupled from the existing debugger to be able to be ported to the Wii U for an equal debugging experience. That's also why it uses the Cafe OS's thread sleep and resuming functions whenever possible instead of using recompiler/interpreter controls.

* Add memory writing and floating point registers support

* Reformat code a bit

* Format code to adhere to Cemu's coding style

* Rework GDB Stub settings in GUI

* Small styling fixes

* Rework execution breakpoints

Should work better in some edge cases now. But this should also allow for adding access breakpoints since it's now more separated.

* Implement access breakpoints

* Fix some issues with breakpoints

* Fix includes for Linux

* Fix unnecessary include

* Tweaks for Linux compatibility

* Use std::thread instead of std::jthread to fix MacOS support

* Enable GDB read/write breakpoints on x86 only

* Fix compilation for GCC compilers at least

The thread type varies on some platforms, so supporting this is hell... but let's get it to compile on MacOS first.

* Disable them for MacOS due to lack of ptrace

---------

Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2023-02-19 15:41:49 +01:00
goeiecool9999 05d82b09e9
Add back missing flag to keep background image in background (#667) 2023-02-19 14:52:19 +01:00
goeiecool9999 cbb79fd34c
Separate imgui contexts for TV and Pad windows. (#664) 2023-02-18 11:56:43 +01:00
Douglas Thor daf3ef060a
BUILD.md: Add note about 'span' not found (#646) 2023-02-08 11:15:33 +01:00
Exzap f3ff919be2
Code clean up + replace some wstring instances with utf8 (#640) 2023-01-29 13:53:31 +01:00
bslhq ca79a6aa0d
GameList: Fix hidden last column (#632) 2023-01-29 13:06:20 +01:00
Exzap 8651c4bae7 coreinit: Correctly return success code in FSRemove 2023-01-28 10:05:29 +00:00
Exzap 9a4f945f33 Add dump folder to .gitignore 2023-01-27 09:57:10 +00:00
Exzap 404af95a2c Latte: Less aggressive texture readback
By mistake we would read affected textures back after every single drawcall. As an optimization if the same texture gets drawn to multiple times we'll try to only read it back once at the end of the sequence.
2023-01-27 09:57:10 +00:00
Exzap 859dc78e90 coreinit: Dont yield uninterruptible threads in spinlock 2023-01-27 09:57:10 +00:00
Exzap 387b712959 Logging: Add TextureReadback logtype and clean up code 2023-01-27 09:57:10 +00:00
Exzap 9bbfd33842 Latte: FragCoord w should not be reciprocal
Fixes rendering in various Virtual Console DS titles
2023-01-27 09:57:10 +00:00
Exzap 43b5ad2f1c PPCInterpreter: Improve overflow handling 2023-01-27 09:57:10 +00:00
Exzap 4b5014c16a coreinit: Fix memory mapping API
Fixes Unity based games freezing on boot
2023-01-27 09:57:10 +00:00
Exzap f2671f417f Input: Fix potential race condition
Operator = for ControllerButtonState wasn't properly synchronized
2023-01-27 09:57:10 +00:00
jn64 9d55f46eb1
Always show "Open Cemu folder" menu item (#612) 2023-01-13 15:59:15 +01:00
UltraHDR 4014de622b
Add macOS to README.md (#599) 2023-01-13 13:49:01 +01:00
Tillsunset 1cf72265cd
Update to llvm15 (#594) 2023-01-06 03:46:10 +01:00
arijnr 1e946f76be
BUILD.md: Add g++ to the dependencies (#589) 2023-01-06 03:45:30 +01:00
goeiecool9999 33bd10b4e0
Vulkan: Use the correct resolution for out-of-date check (#595) 2022-12-29 00:19:05 +01:00
qurious-pixel 1b660e0c16
AppImage: Better motion support (#593)
Add libudev headers for better motion support on supported controllers.
2022-12-28 18:32:29 +01:00
bslhq 0c6f18ab97
TitleMgr: Fix "c" showing up in account list for saves (#590) 2022-12-26 23:46:53 +01:00
Tillsunset 058d11b49b
Optimized timer code for macOS (#576) 2022-12-15 10:28:44 +01:00
SSimco fcab8f8f1a
Linux: Add CMake find module for wayland + make wayland optional (#572) 2022-12-15 08:44:14 +01:00
Tillsunset aea9f5b966
Fix SDL controller reversed y axis in UI (#574) 2022-12-14 05:41:48 +01:00
jn64 c78b3da872
Minor AppImage fixes (#561) 2022-12-12 09:46:20 +01:00
Tillsunset 4491560b32
Add check for backwards delete (#564) 2022-12-09 18:01:08 +01:00
Elijah 5a143c7b4b
Linux/MacOS: Use faster clock_gettime() for tick_cached() (#563) 2022-12-08 17:08:15 +01:00
SSimco fca7f5dfe4
Linux: Add Vulkan support for wayland (#553) 2022-12-07 16:45:25 +01:00
Exzap 2c81d240a5
Make codebase more CPU-agnostic + MacOS disclaimer (#559) 2022-12-07 01:48:24 +01:00
Tom Lally 445b0afa95
Better screenshot error handling (#552) 2022-12-05 17:16:08 +01:00
iamqk c1afa4cad0
PPCAssembler: Fix incorrect cast sign of branch distance calculate (#555) 2022-12-05 13:52:02 +01:00
Tom Lally dd538d477c
Correctly create screenshot directory if it does not exist (#551) 2022-12-03 17:57:32 +01:00
Tom Lally b361b154d8
Cross-platform screenshots (#543)
Co-authored-by: Tom Lally <tomlally@protonmail.com>
Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2022-12-02 04:51:07 +01:00
goeiecool9999 2cfb7f3737
Automatically scale imgui text based on display pixel density (#545) 2022-12-01 15:58:08 +01:00
Exzap 503e99d069
Fix MSVC workflow
Selecting a toolset version manually is no longer necessary
2022-11-30 19:16:37 +01:00
goeiecool9999 d3721c3f46
Fix render resolution at different UI scales (#514) 2022-11-30 13:39:32 +01:00
goeiecool9999 a3476c7b7c
macOS: Workaround for MoltenVK stride limitation (#534) 2022-11-30 01:26:42 +01:00
goeiecool9999 79e731d9b4
Add macOS keycodes for left/right control and tab (#535) 2022-11-30 01:26:12 +01:00
Tillsunset 6f985c3c78
Fix black screen when graphics packs are used (#541) 2022-11-29 10:54:11 +01:00
Tillsunset 87d2f8ad55
Fix shader preset regex (#536) 2022-11-28 08:24:52 +01:00
Tillsunset 523a0e1706
Force async compile off for macos (#532) 2022-11-26 02:10:51 +01:00
goeiecool9999 bc104859f3
Vulkan: return to more conventional swapchain sync method, encapsulate more code (#525) 2022-11-25 09:51:47 +01:00
SSimco 8162477dc1
ui: Add Open Cemu folder & delete shader cache buttons (#524)
* Add option to open UserDataPath folder
* Add option to remove shader caches

Co-authored-by: ssimco <ssimco-github@proton.me>
2022-11-24 18:57:13 +01:00