Commit graph

367 commits

Author SHA1 Message Date
GaryOderNichts
5047c4d083
GDBStub: Fix checkSum string to int conversion (#1029) 2023-11-27 12:21:52 +01:00
Exzap
0d71885c88 nn_fp: Full rework of friend service 2023-10-17 05:26:30 +02:00
goeiecool9999
d4a2a8e8de
Vulkan: Cleanup image barrier code (#988) 2023-10-16 07:33:12 +02:00
Exzap
29c823fa1f Latte: Fix uniform size limit being too low 2023-10-02 19:05:44 +02:00
Exzap
757d458161 Compatibility with fmtlib 10.1.x 2023-10-02 18:53:00 +02:00
Exzap
ff9d180154 Code cleanup 2023-10-01 11:46:26 +02:00
Exzap
8bb7ce098c
Bump CI clang version to 15 + workaround for unsafe fiber optimizations (#982) 2023-09-29 17:17:28 +02:00
Exzap
abce406ee8 Refactor more wstring instances to utf8-encoded string 2023-09-29 06:48:10 +02:00
Exzap
f9f6206929 Vulkan: Add profiler for Vulkan API CPU cost
Disabled by default. Set VULKAN_API_CPU_BENCHMARK to 1 to enable
2023-09-29 06:48:10 +02:00
Exzap
3e925b7707 Latte: Bound uniform buffers based on access patterns within the shader 2023-09-29 06:48:10 +02:00
Exzap
4d6b72b353 Latte: Very minor refactor + optimization 2023-09-29 06:48:10 +02:00
goeiecool9999
b4aa10bee4
Vulkan: Only create imgui renderpass once (#972) 2023-09-20 19:01:56 +02:00
Exzap
90c56b7731
Latte: Optimizations and tweaks (#706) 2023-09-19 21:17:21 +02:00
Exzap
92ab87b049 Latte: Fix shader compilation error when subroutines are used
Fixes character colors in Tekken Tag Tournament 2
2023-09-14 20:52:40 +02:00
Exzap
f04c7575d7 coreinit: Handle non-existing modules in OSDynLoad_Acquire
Fixes Togabito crashing on boot

coreinit: Handle non-existing modules in OSDynLoad_Acquire
2023-09-14 20:52:40 +02:00
Exzap
c168cf536a Vulkan: Dont immediately crash on bad pipeline cache 2023-09-14 20:52:40 +02:00
Exzap
524188bb7a Refactor more GX2 code to use LatteReg.h 2023-09-14 20:52:40 +02:00
Francesco Saltori
c16e258c93
Localization improvements and fixes (#956) 2023-09-08 02:09:03 +02:00
GaryOderNichts
d8b9a74d86
Latte: rendertarget is a bitmask (#942) 2023-08-16 23:52:06 +02:00
Exzap
0f469eb2b9 Small cleanup + Fix memory base logged as 0 2023-08-03 20:31:12 +02:00
Crementif
651e5336b4
debugger: Add logging breakpoint + misc fixes (#927) 2023-08-03 15:45:11 +02:00
Colin Kinloch
1d1e1e781b
Vulkan: Retry instance creation if validation layer is not present (#909) 2023-08-03 15:16:22 +02:00
Exzap
2200cc0ddf
Initial support for title switching + better Wii U menu compatibility (#907) 2023-07-21 13:54:07 +02:00
Exzap
45072fccb2 Remove remnants of frame profiler code 2023-06-25 08:40:52 +02:00
Exzap
808d1bb424 Add debug asserts for invalid MEMPTR
Also fixed some corruptions this uncovered
2023-06-15 22:36:35 +02:00
Crementif
d903b2cf12
Remove deprecated logging system and expose developer logging window (#825) 2023-05-20 02:46:12 +02:00
Alexander
b8dec03cb5
Add missing template arguments for std::forward (#819) 2023-05-15 18:31:53 +02:00
why-keith
caa57a3cfd
Logging migration (forceLogDebug_printf) (#780)
* script changes - no arguments

* script changes with 2 arguments

* script changes with > 2 arguments

* script conversions with 1 argument - pt. 1

* script conversions with 1 argument - pt. 2

* script conversions with 1 argument - pt. 3

* script conversions with 1 argument - pt. 4

* script conversions with 1 argument - pt. 5

Pointer format hunting

* Fixed pointer format

* script conversions with 1 argument - final

* fixed conversion in non utf-8 file

* fixed conversion with capital letter

* actually fixed conversion with capital letter

* fixed another capital lettering issue

* Added conversions with LR removed

* removed LR from logs

* Converted logs that previously contained LR

* converted log that originally specified string length

* fixed log with commas in main text

* fixed multi-line log

* Fixed more logs with commas in main text

* Fixed unformatted pointer

* added conversion with float value

* converted lines with double parameters

* converted missed line

* corrected argument formatting

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>

* Fixed misspellings of "unhandled"

unhandeled -> unhandled

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>

---------

Co-authored-by: Crementif <26669564+Crementif@users.noreply.github.com>
2023-04-25 08:43:31 +02:00
Exzap
ecb7b77326 Latte: Use better hashing algorithm for cache invalidation
Decreases chance of hash collisions while also being faster due to 4 channel vectorization
2023-04-15 10:08:58 +02:00
why-keith
4be57f4896
Migrate force_log_printf to new logging (#714) 2023-04-12 16:31:34 +02:00
Exzap
3ff3b732c8
Upgrade vcpkg + submodule dependencies (#719) 2023-03-28 17:43:02 +02:00
JP-Carr
a7f6043205 switched cafeLog_logLine() with cemuLog_log() 2023-03-26 15:10:48 +02:00
Exzap
9049ad91f9 Add missing constructor 2023-03-13 05:34:53 +01:00
Exzap
e803c6be47 Use attribute for AES-NI instead of -maes option 2023-03-13 05:34:53 +01:00
Exzap
504e0488a8 Remove shaderMulAccuracy "min" option
It's less accurate and it doesn't actually perform better on most hardware.
2023-03-13 05:34:53 +01:00
Exzap
8ce3f834c4 Latte: Optimize shader decompiler output 2023-03-13 05:34:53 +01:00
Exzap
a2c518354f Remove unnecessary include 2023-03-02 16:44:22 +01:00
Exzap
466ad8d35e Latte/Vulkan: Set RoundingModeRTE for all float types
Seems like GLSL's unpackHalf2x16() is affected by the 16bit rounding setting
2023-03-02 16:22:28 +01:00
Exzap
f8ea594447 Latte: Small refactor for shader decompiler
Latte: Small refactor for shader decompiler
2023-03-02 16:22:19 +01:00
Exzap
4a564e2447 Latte/Vulkan: Set shader rounding mode via VK_KHR_SHADER_FLOAT_CONTROLS 2023-03-02 16:22:05 +01:00
lisa-wolfgang
4c697d3755
Add cross-platform "disable screen saver" setting (#497) 2023-02-24 22:10:07 +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
Exzap
f3ff919be2
Code clean up + replace some wstring instances with utf8 (#640) 2023-01-29 13:53:31 +01: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
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