Commit Graph

472 Commits

Author SHA1 Message Date
Exzap 9f9bc9865f Vulkan: Avoid calling vkCmdClearColorImage() on compressed textures
This is not allowed according to the spec and can crash drivers. Fixes #1100
2024-03-08 14:43:40 +01:00
Exzap b8d81283e8 Vulkan: Remove unnecessary index buffer for backbuffer drawcall 2024-03-08 14:39:46 +01:00
Exzap 8f1cd4f925 Vulkan: Update some code to use VK_KHR_synchronization2 2024-03-08 14:39:46 +01:00
Simon 49c55a3f56
nsyshid: remove stray print statements (#1106) 2024-03-06 14:37:36 +01:00
Exzap 72ce4838ea Latte: Optimize uniform register array size for known shaders 2024-02-20 10:57:05 +01:00
Exzap 96bbd3bd25 Latte: Avoid assert in texture view check 2024-02-20 10:57:05 +01:00
capitalistspz ed01eaf5f9
Gamelist: Add right-click actions for copying title ID, name, and icon (#1089) 2024-02-18 05:56:36 +01:00
Steveice10 9bbb7c8b97
Add support for portable directory without build flag (#1071) 2024-02-18 05:54:41 +01:00
Squall Leonhart 6a08d04af9
UI: Make Alt+F4/Ctrl+Q more reliable (#1035) 2024-02-18 05:52:11 +01:00
Squall Leonhart 81acd80a97
Cubeb: Add a default device to the selection (#1017) 2024-02-18 05:51:00 +01:00
capitalistspz 18679af4ec Ignore Wii U pro controller 2024-01-19 16:25:04 +01:00
Mike Lothian 72aacbdcec Vulkan: Don't use glslang internal headers
Signed-off-by: Mike Lothian <mike@fireburn.co.uk>
2024-01-19 04:58:08 +01:00
Colin Kinloch e53c63b828 Flatpak: Create shortcuts that launch flatpak 2024-01-17 02:49:58 +01:00
Colin Kinloch f899ab7c34 Vulkan: Check for 0 size before wayland resize
Fixes "Launching games directly with the --title-id argument doesn't work
in Wayland" (#999)
2024-01-17 02:18:29 +01:00
Live session user 7e778042ee Fix macos missing dylib file 2024-01-16 14:51:12 +01:00
Exzap f58b260cbd Fix macos missing dylib file 2024-01-15 16:32:04 +01:00
Exzap f39a5e757b Add "Open MLC folder" option
Also updated Patron supporter list
2024-01-15 15:15:00 +01:00
Exzap 9b0a1d53dc Latte: Fix syntax error in generated GLSL 2024-01-14 23:40:29 +01:00
Exzap 223833cac4 Update libraries 2024-01-13 22:36:04 +01:00
GaryOderNichts 4405116324
GDBStub: Support watchpoints on linux (#1030)
* GDBStub: Support watchpoints on linux
* GDBStub: Use `TCP_NODELAY`
2023-12-23 15:25:01 -08:00
Exzap bab1616565 nsysnet: Add support for SO_BIO and handle SO_ENOTCONN 2023-12-13 22:43:51 +01:00
Exzap d2ba4e65c5 Latte: 1D views are compatible with 1D textures 2023-12-13 18:10:10 +01:00
Exzap 2167143c17 Latte: Support for SAMPLE_LB 2023-12-13 12:45:20 +01:00
Exzap df282ab230 Latte: Clean up OpenGL relics in shared render code 2023-12-13 12:45:20 +01:00
Exzap 646835346c Latte: Refactor legacy OpenGL code for shader binding 2023-12-13 12:45:20 +01:00
Exzap dee764473d Latte: Small refactor for GLSL texture coord handling
Also adds support for 2D textures coordinates with source as 0.0 or 1.0 literals instead of GPRs. Seen in shaders generated by CafeGLSL
2023-12-10 08:30:52 +01:00
Exzap e7fa8ec0c6 Vulkan: Properly shut down compilation threads 2023-12-10 08:30:52 +01:00
Exzap bffeb818d1 GfxPack: Refactor + better unicode support 2023-12-10 08:30:52 +01:00
Exzap 67f7ce815c nn_pdm: Refactor code to use new module structure 2023-12-10 08:30:52 +01:00
Exzap 9398c0ca6b Latte: Simplify and fix texture copy 2023-12-10 08:30:52 +01:00
shinra-electric f6bb666abf
Mac: Add wua filetype to info.plist (#1039) 2023-12-10 08:30:08 +01:00
capitalistspz 1849083073
Use hidapi for Wiimotes on Windows (#1033) 2023-12-06 02:33:29 +01:00
shinra-electric 09409a5108
Set macOS min version to 12.0 Monterey (#1025) 2023-11-27 12:24:26 +01:00
GaryOderNichts 5047c4d083
GDBStub: Fix checkSum string to int conversion (#1029) 2023-11-27 12:21:52 +01:00
Exzap f3c95f72e7 nn_fp: Multiple fixes 2023-10-19 05:55:52 +02:00
Exzap b0a7fd4e07 Set default alignment for SysAllocator to cache-line size
Avoids memory corruptions when the memory is cleared via DCZeroRange. Seen in BotW with AX AUX buffers.
2023-10-18 10:49:59 +02:00
Exzap 9bb409314d coreinit: Fix potential race condition in IPC code 2023-10-18 10:43:36 +02:00
bslhq 9ec50b865d
Fix nfc menu list of recent nfc files (#996) 2023-10-17 14:45:55 +02:00
Exzap 63861bf812 Fix SpotPass downloads on Linux/MacOS 2023-10-17 13:07:43 +02:00
Exzap 66711529be Avoid wxGetKeyState since it asserts on Linux with wayland GTK
Only modifier keys are allowed, but we used it to test for Escape
2023-10-17 13:06:45 +02:00
Exzap c440ecdf36 FPD: Fix a crash due to incorrect instantiation 2023-10-17 06:16:29 +02:00
Exzap 2959802ae2 Use utf-8 for exe path 2023-10-17 05:26:30 +02:00
Exzap 0d71885c88 nn_fp: Full rework of friend service 2023-10-17 05:26:30 +02:00
Francesco Saltori 13a50a915e
Fix several language selection issues (#994) 2023-10-16 13:41:06 +02:00
goeiecool9999 d4a2a8e8de
Vulkan: Cleanup image barrier code (#988) 2023-10-16 07:33:12 +02:00
Exzap db53f3b980 Fixes for titles in NUS format
Symlinks were not handled correctly
2023-10-02 21:24:50 +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 9523993a24 Fix file menu list of recent games 2023-10-01 11:46:26 +02:00
Francesco Saltori 5b27d32cb7
Minor localization adjustments (#984) 2023-09-30 15:27:56 +02:00
Exzap 43976ca7eb Prioritize non-NUS format over NUS
If a title exists multiple times in the game folder in different formats, then prefer and use non-NUS format if one is available. This is so we match previous Cemu behavior where Cemu would pick non-NUS simply due the fact that NUS format wasn't supported yet.
2023-09-30 06:21:14 +02:00
Exzap ce34b95b82 Fix game path not respecting utf8 encoding 2023-09-30 03:07:49 +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 8a4abb8bbb Update Windows build instructions 2023-09-29 06:48:10 +02:00
Exzap 6217276681 Enable DPI awareness on Windows 2023-09-29 06:48:10 +02:00
Exzap 21c1f84a87 Fix WUA conversion not detecting updates 2023-09-29 06:48:10 +02:00
Exzap abce406ee8 Refactor more wstring instances to utf8-encoded string 2023-09-29 06:48:10 +02:00
Exzap f6c3c96d94 More detailed error messages when encrypted titles fail to launch 2023-09-29 06:48:10 +02:00
Exzap 5ad57bb0c9 Add support for games in NUS format (.app)
Requires title.tmd and title.tik in same directory
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
Squall Leonhart 638c4014a1
nn_olv: Handle nullptr key in SetSearchKey (#974) 2023-09-22 19:20:22 +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
capitalistspz 323bdfa183
More changes to finding wiimotes (#961) 2023-09-19 17:54:38 +02:00
Simon 98b5a8758a
nsyshid: Add backends for cross platform USB passthrough support (#950) 2023-09-19 01:27:40 +02:00
Exzap 2a735f1fb7 coreinit: Use native COS locks instead of STL 2023-09-14 20:52:40 +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 b902aa2048 Logging: Refactor and optimizations 2023-09-14 20:52:40 +02:00
Exzap fda5ec2697 ih264d: Small optimizations and experiments with multi-threading
Using the multi-threaded decoder doesn't seem to be worth it but at least we have a way to enable it now
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 62889adfde Use memory barriers in Linux fiber implementation
Prevent compilers from caching TLS variables across swapcontext calls
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 96800c6f97
Additional localization fixes (#966) 2023-09-14 12:47:59 +02:00
Francesco Saltori c66ab0c51a
Use native language names in language selector (#964) 2023-09-08 02:09:28 +02:00
Francesco Saltori c16e258c93
Localization improvements and fixes (#956) 2023-09-08 02:09:03 +02:00
Gloria d7f0d67904
Add a pairing utility for Wiimotes to Cemu (#941) 2023-09-06 04:59:50 +02:00
jn64 2abf1c2059
Disable auto-update on Linux/macOS (#955)
It's not implemented yet
2023-09-02 05:57:21 +02:00
capitalistspz 5e84862e28
[Linux/MacOS] Further Wiimote changes for parity with Windows (#945) 2023-08-31 03:29:12 +02:00
GaryOderNichts d8b9a74d86
Latte: rendertarget is a bitmask (#942) 2023-08-16 23:52:06 +02:00
capitalistspz 85aa4f095b
Linux/MacOS: Add wiimote support via HIDAPI (#934) 2023-08-15 09:37:37 +02:00
Exzap 892ae13680 Log Windows version + Fix logging crash on Linux 2023-08-13 14:50:38 +02:00
Colin Kinloch 22bf6420d2
Log platform info (#931) 2023-08-08 23:22:22 +02:00
Exzap a17111e6b0 TitleManager: Improvements for .wua conversion
- Print more detailed paths in confirmation dialogue
- Prefer the title right clicked by the user
- When sourcing titles from other .wua files, use the correct subpath
Fix include path
2023-08-03 20:31:12 +02:00
Exzap 911573e0dd TitleList: Use narrower filter for identifying data titles
Previous code accidentally caught some game updates and dlc titles
2023-08-03 20:31:12 +02:00
Exzap 0f469eb2b9 Small cleanup + Fix memory base logged as 0 2023-08-03 20:31:12 +02:00
Exzap 6268a24a4b Fix crash in title manager 2023-08-03 20:31:12 +02:00
Exzap 0d96255bae nn_olv: More work on post API 2023-08-03 20:31:12 +02:00
Exzap 67819a68d9 nn_act: Handle incorrect slot 0 for PersistentId 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
capitalistspz 7111cbb103
Quote and escape desktop entry executable path (#917) 2023-08-03 14:54:16 +02:00
Exzap 2200cc0ddf
Initial support for title switching + better Wii U menu compatibility (#907) 2023-07-21 13:54:07 +02:00
capitalistspz bfbeeae6f6
Linux: Save icons to user data directory + use real path of AppImage for shortcuts (#894) 2023-07-10 00:53:00 +02:00
capitalistspz f1c200a016
Add '--title-id' parameter and desktop shortcut creation (#889)
* Add '--title-id' launch option to launch titles by title id
* Add title id column to game list
* Add option to create game shortcuts

Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2023-07-08 01:48:41 +02:00
Rambo6Glaz ea86c77088
Fix UTC offset calculation (#890) 2023-07-05 20:20:01 +02:00
Rambo6Glaz b0ae008a89
Fix NEX DataStore uploads (nlibcurl) and stub Miiverse PostApp (#888) 2023-07-05 18:59:33 +02:00
Exzap 9499870cc9 Debugging: Add minimalist PPC profiler 2023-06-25 08:40:52 +02:00
Exzap 45072fccb2 Remove remnants of frame profiler code 2023-06-25 08:40:52 +02:00
Exzap 4a04fab9c4 coreinit: Set file flag in stat 2023-06-25 08:40:52 +02:00
Rambo6Glaz a8d157d310
nn_olv: Added community related API (#873)
- Initialize
- Download communities (self-made / favorites / officials)
- Upload communities (create subcommunity)
- Upload favorite status (Add/Delete favorite to a subcommunity)

Enough for support of Mario Kart 8 tournaments
2023-06-24 14:51:41 +02:00
Squall Leonhart 1beec40445
Fix logging related crash in KPADGetUnifiedWpadStatus (#875) 2023-06-22 04:11:31 +02:00
Maschell fd3b5b7f27
coreinit: Fix FSGetMountSource and FSAppendFile implementation (#863)
Fixes SD access in SSBU
2023-06-17 13:51:55 +02:00
Chris Purnell 950e9564e6
Fix register window not updating in PPC debugger (#864) 2023-06-17 13:50:40 +02:00
Chris Purnell f0ef8f3cc2
Fix some out of bound array access. (#862) 2023-06-16 20:15:43 +02:00
Chris Purnell f6a1cc598e
Fix error message when SDL fails to initialize (#861) 2023-06-16 19:57:27 +02:00
Exzap 633e5c0e05 Fix incorrect return values in OSAtomic 2023-06-15 22:36:45 +02:00
Exzap 808d1bb424 Add debug asserts for invalid MEMPTR
Also fixed some corruptions this uncovered
2023-06-15 22:36:35 +02:00
Exzap 7886b594a2 nsysnet: Implement inet_ntop 2023-06-15 22:36:25 +02:00
Exzap 0bead50065 coreinit: Implement support for ".." in paths 2023-06-15 21:23:18 +02:00
Maschell f1ebfa9941
coreinit: Implement several FSA functions and fix some bugs (#844) 2023-06-15 21:05:16 +02:00
Colin Kinloch ae4cb45cf3
Check wx dialogs aren't returning blank paths (#845) 2023-06-06 14:17:41 +02:00
Maschell 6073ab3ec6
coreinit: Refactor FS functions to be more accurate (#842) 2023-06-04 11:13:45 +02:00
Colin Kinloch 4ae5b4f8b8
Wayland: Use viewporter (#836) 2023-05-28 02:04:24 +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
Exzap eda4cf4b24
Fix UI crash on Windows (#813) 2023-05-11 15:27:45 +02:00
Nicholas F 1bcdb35e42
Add GameMode support for Linux build (#796) 2023-05-11 07:19:44 +02:00
Jonathan Barrow b74ae21953
Resolve domains to IPs in Friends NEX (#807) 2023-05-10 11:51:54 +02:00
goeiecool9999 d56bc807cf
GraphicsPackWindow2: Use UTF8 (#802) 2023-04-26 15:41:23 +02:00
why-keith 1f16e999c5
Migrate missing forceLog_printf statement to new logging (#800) 2023-04-25 18:15:37 +02:00
why-keith e58a84629f
Migrate coreinitMemLog_printf to new logging (#799) 2023-04-25 18:09:00 +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 f48ad6a1ca Dont format logging calls with only the format string 2023-04-20 14:37:11 +02:00
Exzap 41f2c27229 Remove dependency on boost::dll and boost::range 2023-04-16 11:51:25 +02:00
why-keith 80953fe603
Migrate saveLog_printf to new logging (#768) 2023-04-16 00:31:53 +02:00
why-keith 27a5671056
Migrate inputLog_printf to new logging (#767) 2023-04-16 00:18:11 +02:00
why-keith a519b01b58
Migrate socketLog_printf to new logging (#766) 2023-04-16 00:08:22 +02:00
why-keith 9c6e3fb144
Migrate nfpLog_printf to new logging (#769) 2023-04-15 15:19:00 +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 a640bd079c
Migrate sndApiLog_printf to new logging (#762) 2023-04-13 14:18:45 +02:00
why-keith 486e228f72
Migrate gx2Log_printf to new logging (#761) 2023-04-13 14:13:54 +02:00
Michael d27935a1bd
Update URLs related towards cemu_graphic_packs repo. (#764) 2023-04-13 04:37:53 +02:00
why-keith 4be57f4896
Migrate force_log_printf to new logging (#714) 2023-04-12 16:31:34 +02:00
Exzap 072c18a6e3 Improve exception logging on posix
Fix compile errors
2023-04-06 07:33:41 +02:00
Nicholas F 55e1551cc7
Add F11 hotkey to gamepad view (#727) 2023-04-04 04:39:29 +02:00
goeiecool9999 cb9570e229
Fix disable screensaver workaround (#728) 2023-03-30 11:32:25 +02:00
Colin Kinloch b3180bc4a6 Fix GamePad window when using vulkan with wayland 2023-03-29 18:22:48 +02:00
Colin Kinloch be1e77186e
Wayland: Set app_id for icon in kde (#718) 2023-03-29 16:28:17 +02:00
Nicholas F 715d2247a9 Allow user to enter fullscreen with F11 2023-03-29 14:24:51 +02:00
Tillsunset aa63a6a36e Disable the "Disable screen saver" option 2023-03-29 02:23:52 +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
Tillsunset 18a266155f Revert "Force async compile off for macos (#532)"
This reverts commit 523a0e1706.
2023-03-24 18:06:19 +01:00
Rivan Parmar 823386cc09
gui: Added location column in Title Manager (#697)
Thanks @RivanParmar!
2023-03-19 11:25:05 +01: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