Samuliak
e0791c3bf4
set stencil reference value
2024-08-08 11:58:18 +02:00
Samuliak
a50ce997df
fix: writing to depth from a fragment shader
2024-08-07 21:14:31 +02:00
Samuliak
1bcdade83e
set stencil state
2024-08-07 20:59:05 +02:00
Samuliak
d3249dc324
implement texture readback
2024-08-07 18:20:09 +02:00
Exzap
bf2208145b
Enable async shader compile by default
2024-08-07 16:35:15 +02:00
Samuliak
e2ec602c43
specialize fragment shader output types & fix: shader errors
2024-08-07 13:25:38 +02:00
Samuliak
d7e9aff230
implement triangle fan reindexing
2024-08-07 11:44:16 +02:00
Exzap
d81eb952a4
nsyshid: Silence some logging in release builds
2024-08-06 22:58:23 +02:00
Samuliak
ac651eba77
implement vertex stride workaround
2024-08-06 20:42:38 +02:00
Samuliak
82dcbd98a6
prepare for vertex stride workaround
2024-08-06 19:08:22 +02:00
Samuliak
99ff282720
implement more primitive types & warn about vertex stride
2024-08-06 16:29:06 +02:00
Samuliak
5fc45407db
fix: texture swizzle
2024-08-06 13:42:06 +02:00
Samuliak
0a7f30c6a4
implement texture swizzle
2024-08-06 10:23:57 +02:00
Samuliak
d64e64e5ef
fix: texture updates and buffer bindings
2024-08-06 06:43:22 +02:00
Samuliak
f11526a244
fix: texture bindings
2024-08-05 08:54:11 +02:00
Samuliak
5030a2e84a
implement color buffer clear
2024-08-04 15:09:49 +02:00
Exzap
1575866eca
Vulkan: Add R32_X8_FLOAT format
2024-08-04 14:47:51 +02:00
Samuliak
763d57d921
implement texture copy and clear
2024-08-04 13:30:34 +02:00
Samuliak
ce6d4cacd1
implement sampler states
2024-08-03 19:58:40 +02:00
Samuliak
d2edc41680
fix: present issues
2024-08-03 16:15:22 +02:00
Samuliak
fa53af54db
fix: memory leaks
2024-08-03 15:26:57 +02:00
Samuliak
fe3b84b4a7
fix: buffer allocator
2024-08-03 15:01:52 +02:00
Samuliak
406a85672d
implement depth stencil cache & fix: textureSize
2024-08-03 10:01:57 +02:00
Samuliak
d7411e27f7
implement render pipeline cache
2024-08-03 09:33:32 +02:00
Samuliak
c6f66167a5
fix: viewport
2024-08-03 08:36:34 +02:00
Samuliak
db709c3495
fix: present issue
2024-08-03 08:24:39 +02:00
Samuliak
4022755a33
implement proper bit cast in shaders
2024-08-02 20:25:37 +02:00
Samuliak
4173675f03
implement depth state & texture clears
2024-08-02 19:42:34 +02:00
Samuliak
a2d15858ad
fix: shader errors
2024-08-02 17:48:25 +02:00
Samuliak
e4abb305ac
implement blending
2024-08-01 20:45:24 +02:00
Samuliak
d4564c18f2
fix: viewport and scissor
2024-08-01 17:55:16 +02:00
Samuliak
1fbd6ad376
set viewport and scissor
2024-07-31 20:50:24 +02:00
Samuliak
be8a560496
optimize index buffers
2024-07-30 19:27:52 +02:00
Samuliak
0cb83d4668
fix: support buffer data & fix: depth
2024-07-29 20:04:41 +02:00
Samuliak
f01130022a
rework command encoder system
2024-07-29 19:00:13 +02:00
SamoZ256
89a2c23dd7
Merge branch 'cemu-project:main' into metal
2024-07-29 15:13:39 +02:00
Samuliak
8800de0229
update CMakeLists.txt
2024-07-29 15:12:42 +02:00
Joshua de Reeper
517e68fe57
nsyshid: Tidyups and Fixes ( #1275 )
2024-07-28 18:50:20 +02:00
Samuliak
7ae29a74cd
present
2024-07-28 18:43:47 +02:00
Samuliak
35eea12950
bind default sampler
2024-07-28 16:32:37 +02:00
Samuliak
7ea18d8a5f
bind resources to shaders
2024-07-28 07:36:32 +02:00
Samuliak
cb525b22ff
implement vertex descriptors & draw
2024-07-27 21:26:26 +02:00
Samuliak
e5395277a7
implement render passes
2024-07-27 19:14:00 +02:00
Samuliak
4c78c6afbb
implement texture decoding
2024-07-27 15:20:51 +02:00
Samuliak
4976ff3084
fix: sampling & capture boundaries
2024-07-27 11:36:51 +02:00
Exzap
c73fa3761c
Fix compatibility with GCC
2024-07-27 04:45:36 +02:00
Samuliak
af3ce80b7c
fix: shader errors and shader crashes
2024-07-26 18:56:30 +02:00
Samuliak
aac9b123a5
improve shadergen & create shaders
2024-07-26 15:43:15 +02:00
Samuliak
69597166f3
start the shader decompiler
2024-07-26 11:42:18 +02:00
Samuliak
46981d7b03
implement pixel formats and texture copy
2024-07-26 08:51:27 +02:00
Exzap
5328e9eb10
CPU: Fix overflow bit calculation in SUBFO instruction
...
Since rD can overlap with rA or rB the result needs to be stored in a temporary
2024-07-26 06:03:00 +02:00
Exzap
47f1dcf996
debugger: Add symbol support to PPC stack traces
...
Also moved the declaration to precompiled.h instead of redefining it wherever it is used
2024-07-26 06:03:00 +02:00
Exzap
252429933f
debugger: Slightly optimize symbol list updates
2024-07-26 06:03:00 +02:00
Exzap
026d547dcc
Use HTTP 1.1 in Nintendo API requests
2024-07-26 06:03:00 +02:00
Exzap
f1685eab66
h264: Use asynchronous decoding when possible ( #1257 )
2024-07-26 05:48:42 +02:00
Samuliak
9b127be38d
create and present drawable
2024-07-25 16:37:38 +02:00
Samuliak
6db893c446
implement texture view & fix: crashes
2024-07-25 14:05:56 +02:00
Samuliak
98370260d3
initialize Metal
2024-07-25 12:53:24 +02:00
Samuliak
2477bad06b
start metal backend
2024-07-25 11:18:35 +02:00
capitalistspz
e65abf4898
Suppress unnecessary GTK messages ( #1267 )
2024-07-23 22:18:55 +02:00
Joshua de Reeper
a1c1a608d7
nsyshid: Emulate Infinity Base ( #1246 )
2024-07-23 03:18:48 +02:00
Exzap
64232ffdbd
Windows default to non-portable + Reworked MLC handling and related UI ( #1252 )
2024-07-23 03:13:36 +02:00
goeiecool9999
7522c8470e
resource: move fontawesome to .rodata ( #1259 )
2024-07-19 14:24:46 +02:00
Exzap
9d366937cd
Workaround for compiler issue with Visual Studio 17.10
2024-07-07 08:55:26 +02:00
Joshua de Reeper
5209677f2f
nsyshid: Add SetProtocol and SetReport support for libusb backend ( #1243 )
2024-07-02 03:32:37 +02:00
Colin Kinloch
64b0b85ed5
Create GamePad window at correct size ( #1247 )
...
Don't change the size on canvas initialization
2024-06-29 22:31:47 +02:00
Joshua de Reeper
aefbb918be
nsyshid: Skylander emulation fixes and code cleanup ( #1244 )
2024-06-28 15:44:49 +02:00
Joshua de Reeper
93b58ae6f7
nsyshid: Add infrastructure and support for emulating Skylander Portal ( #971 )
2024-06-28 00:55:20 +02:00
Exzap
f3d20832c1
Avoid an unhandled exception when mlc path is invalid
2024-06-25 19:28:21 +02:00
Exzap
d4c2c3d209
nsyskbd: Stub KBDGetKey
...
Fixes MSX VC games freezing on boot
2024-06-25 15:50:06 +02:00
Exzap
1672f969bb
Latte: Add support for vertex format used by Rabbids Land
2024-06-09 17:53:34 +02:00
Exzap
16070458ed
Logging: Restructure menu + allow toggeling APIErrors logtype
...
The logtype "APIErrors" previously was always enabled. This option is intended to help homebrew developers notice mistakes in how they use CafeOS API. But some commercial games trigger these a lot and cause log.txt bloat (e.g. seen in XCX). Thus this commit changes it so that it's off by default and instead can be toggled if desired.
Additionally in this commit:
- COS module logging options are no longer translatable (our debug logging is fundamentally English)
- Restructured the log menu and moved the logging options that are mainly of interest to Cemu devs into a separate submenu
2024-06-02 21:39:40 +02:00
Exzap
5f825a1fa8
Latte: Always allow views with the same format as base texture
...
Fixes crash/assert in VC N64 titles
2024-06-02 21:39:40 +02:00
Colin Kinloch
d33337d539
Fix GamePad window size ( #1224 )
2024-05-29 00:36:12 +02:00
Exzap
f576269ed0
Refactor legacy method of emulating thread events
2024-05-29 00:34:11 +02:00
Exzap
da8fd5b7c7
nn_save: Refactor and modernize code
2024-05-29 00:07:37 +02:00
Exzap
1ee9d5c78c
coreinit: Tweak JD2019 workaround to avoid XCX softlock
2024-05-27 01:24:24 +02:00
goeiecool9999
aadd2f4a1a
Input: Assign profile name correctly on save ( #1217 )
2024-05-25 01:48:53 +02:00
qurious-pixel
149fe10a4e
CI+MacOS: Use libusb dylib from vcpkg ( #1219 )
2024-05-25 01:48:17 +02:00
Exzap
b048a1fd9e
Use CURLOPT_USERAGENT instead of manually setting User-Agent
2024-05-22 05:08:03 +02:00
Exzap
a059338890
Add initial NTAG and NFC implementation
2024-05-22 04:45:10 +02:00
goeiecool9999
523a1652df
OpenGL: Restore ProgramBinary cache for GL shaders ( #1209 )
2024-05-22 04:23:33 +02:00
goeiecool9999
c913a59c7a
TitleList: Add homebrew title type ( #1203 )
2024-05-22 04:11:02 +02:00
GaryOderNichts
964d2acb44
Filestream_unix: Include cstdarg
2024-05-18 20:47:09 +02:00
GaryOderNichts
a115921b43
Fix inconsistency with int types
2024-05-18 20:37:37 +02:00
GaryOderNichts
eb1983daa6
nfc: Remove backup path
2024-05-18 20:37:37 +02:00
GaryOderNichts
8fe69cd0fb
Properly implement NFC result codes
2024-05-18 20:37:37 +02:00
GaryOderNichts
41fe598e33
nfc: Implement UID filter
2024-05-18 20:37:37 +02:00
GaryOderNichts
8e8431113a
ntag: Implement NTAGWrite
2024-05-18 20:37:37 +02:00
GaryOderNichts
1c6b209692
Add initial ntag and nfc implementation
2024-05-18 20:37:37 +02:00
GaryOderNichts
84e78088fb
PPCCoreCallback: Add support for stack args if GPR limit is reached
2024-05-18 20:37:37 +02:00
splatoon1enjoyer
13b90874f9
Fix commas edge case in strings when parsing an assembly line ( #1201 )
2024-05-13 16:52:25 +02:00
GaryOderNichts
b2a6cccc89
nn_act: Implement GetTransferableId ( #1197 )
2024-05-09 12:12:34 +02:00
GaryOderNichts
10d553e1c9
zlib125: Implement deflateInit_
( #1194 )
2024-05-07 11:56:28 +02:00
Exzap
3f8722f0a6
Track online-enable and network-service settings per-account instead of globally
2024-05-06 18:18:42 +02:00
Exzap
065fb7eb58
coreinit: Add reschedule special case to avoid a deadlock
...
Fixes Just Dance 2019 locking up on boot
2024-05-06 09:15:36 +02:00
capitalistspz
7d6d417354
Input: Improve setting of dpd_enable_fg ( #1127 )
2024-05-06 03:27:30 +02:00
Exzap
bd13d4bdc3
nn_act: Make AcquireToken gracefully fail in offline mode + refactor
2024-05-05 17:05:11 +02:00
Exzap
dd3ed56509
nn_save: Fix inverted condition preventing accessing other title's saves
2024-05-05 10:05:35 +02:00
Exzap
70afe3a033
nlibcurl: Use separte logging type
2024-05-05 09:11:08 +02:00
goeiecool9999
dc480ac00b
Add support for WUHB file format ( #1190 )
2024-05-05 02:35:01 +02:00
qurious-pixel
f28043e0e9
Linux/Mac Auto-Updater ( #1145 )
2024-05-05 01:34:36 +02:00
Exzap
a744670486
coreinit: Add export for OSGetForegroundBucketFreeArea
2024-05-05 01:33:15 +02:00
Exzap
48d2a8371b
sndcore: Write log message instead of asserting in AXSetDeviceRemixMatrix
...
Fixes a crash in Watch Dogs due to the non-debug assert
2024-05-05 01:33:15 +02:00
Exzap
91a010fbdd
proc_ui: Fix crash due to incorrect version handling
...
Resolves a crash in NEX Remix
2024-05-04 08:05:10 +02:00
Exzap
a16c37f0c5
coreinit: Rework thread creation
...
New implementation is much closer to console behavior. For example we didn't align the stack which would cause crashes in the Miiverse applet
2024-05-04 07:05:59 +02:00
Exzap
041f29a914
nn_act: Implement GetTimeZoneId placeholder
2024-05-03 02:44:10 +02:00
Exzap
1b5c885621
nn_acp: Implement ACPGetTitleMetaXml
2024-05-03 02:41:39 +02:00
Exzap
c11d83e9d8
coreinit: Implement MCP_GetTitleId
2024-05-03 02:41:05 +02:00
Exzap
379950d185
coreinit+nn_save: Cleanup some legacy code
2024-05-01 05:06:50 +02:00
Exzap
e7c6862e19
DownloadManager: Fix missing updates
2024-05-01 01:55:55 +02:00
Exzap
1c73dc9e1b
Implement proc_ui.rpl + stub SYSSwitchToEManual() to avoid softlocks
...
- Full reimplementation of proc_ui.rpl with all 19 exports
- Foreground/Background messages now go to the coreinit system message queue as they should (instead of using a hack where proc_ui receives them directly)
- Add missing coreinit API needed by proc_ui: OSGetPFID(), OSGetUPID(), OSGetTitleID(), __OSCreateThreadType()
- Use big-endian types in OSMessage
- Flesh out the stubs for OSDriver_Register and OSDriver_Unregister a bit more since we need to call it from proc_ui. Similiar small tweaks to other coreinit API
- Stub sysapp SYSSwitchToEManual() and _SYSSwitchToEManual() in such a way that they will trigger the expected background/foreground transition, avoiding softlocks in games that call these functions
2024-04-30 23:29:15 +02:00
Exzap
c038e758ae
IOSU: Clean up resource on service shutdown
...
Also set device-dependent thread name
2024-04-30 23:19:11 +02:00
GaryOderNichts
fdf239929f
nsysnet: Various improvements ( #1188 )
...
- Do not raise an assert for unimplemented optnames
- recvfrom: src_addr and addrlen can be NULL
- getsockopt: Implement SO_TYPE
2024-04-29 00:24:43 +02:00
goeiecool9999
5be98da0ac
OpenGL: Fix a crash when GL_VERSION is null ( #1187 )
2024-04-27 15:49:49 +02:00
Exzap
efbbb817fe
DownloadManager: Always use Nintendo servers + additional streamlining
...
- Download manager now always uses Nintendo servers. Requires only a valid OTP and SEEPROM dump so you can use it in combination with a Pretendo setup even without a NNID
- Account drop down removed from download manager since it's not required
- Internally all our API requests now support overriding which service to use
- Drop support for act-url and ecs-url command line parameters. Usage of network_services.xml ("custom" option in the UI) is preferred
2024-04-20 12:19:06 +02:00
Exzap
989e2b8c8c
prudp: More code cleanup + fix compile error
2024-04-18 23:11:39 +02:00
Exzap
e2f9725719
prudp: Code cleanup
2024-04-18 19:23:00 +02:00
Exzap
ee36992bd6
prudp: Improve ping and ack logic
...
Fixes the issue where the friend service connection would always timeout on Pretendo servers
The individual changes are:
- Outgoing ping packets now use their own incrementing sequenceId (matches official NEX behavior)
- If the server sends us a ping packet with NEEDS_ACK, we now respond
- Misc smaller refactoring and code clean up
- Added PRUDP as a separate logging option
2024-04-18 19:23:00 +02:00
Exzap
6ea42d958c
nlibcurl: Fix compile error
2024-04-13 11:03:02 +02:00
Exzap
9c28a728e4
prudp: Dont expect sessionId to match for PING+ACK
...
Fixes friend service connection periodically timing-out on Pretendo.
Seems that unlike Nintendo's servers, Pretendo doesn't set sessionId for PING ack packets.
2024-04-13 10:43:21 +02:00
Exzap
d5a8530246
nlibcurl: Detect invalid header combo + refactoring
...
Fixes error 106-0526 when opening course world on Super Mario Maker
Manually attaching Content-Length header for POST requests is undefined behavior on recent libcurl.
To detect the bad case some refactoring was necessary. In general we should try to move away from directly forwarding curl_easy_setopt() to the underlying instance as the behavior is diverging in modern libcurl. Much more refactoring work is required in the future to fix all of this.
2024-04-13 10:43:21 +02:00
goeiecool9999
84cad8b280
Vulkan: Remove unecessary present fence ( #1166 )
2024-04-11 06:41:57 +02:00
qurious-pixel
391533dbe5
Gamelist: Enable icon column by default ( #1168 )
2024-04-11 06:08:26 +02:00
Exzap
d45c2fa6d1
erreula: Avoid triggering debug assert in imgui
...
It does not like empty window titles
2024-04-10 20:23:15 +02:00
Exzap
12eda10387
nn_acp: Implement ACPGetOlvAccesskey + code clean up
...
Added ACPGetOlvAccesskey() which is used by Super Mario Maker
iosu acp, nn_acp and nn_save all cross talk with each other and are mostly legacy code. Modernized it a tiny bit and moved functions to where they should be. A larger refactor should be done in the future but for now this works ok
2024-04-10 20:22:27 +02:00
47463915
33a74c2035
nn_nfp: Avoid current app from showing up as "???" for others in Friend List + View friends' status ( #1157 )
2024-04-09 00:33:50 +02:00
Maschell
7b635e7eb8
nn_boss: Implement startIndex parameter usage in nn:boss:::GetDataList ( #1162 )
2024-04-08 19:51:30 +02:00
Maschell
9b30be0258
drmapp: Stub more functions to allow title loading from Wii U Menu ( #1161 )
2024-04-08 19:50:57 +02:00
Maschell
efbf712305
nn_sl: Stub GetDefaultWhiteListAccessor__Q2_2nn2slFv to avoid crash in Wii U Menu when an online account is used ( #1159 )
2024-04-08 19:15:49 +02:00
Exzap
74e8d205b0
coreinit: Handle SD mounting permission in FSGetMountSource
...
One Piece requires this to not get stuck in an infinite loop on boot.
This also sets up initial infrastructure for handling cos.xml permissions
2024-04-06 22:18:38 +02:00
goeiecool9999
075eac626b
ELF: Fix crash due to not allocating recompiler ranges ( #1154 )
2024-04-06 22:13:19 +02:00
Exzap
51072b510c
nn_boss: Large rework with various improvements
...
Lots of internal changes. On the surface this only fixes a crash in Mario & Sonic Rio 2016 (at least what I saw from my testing) but it may affect more games.
Summary of changes:
- Rewrite code to use newer cafeExportRegisterFunc
- Simplify code by merging namespaces and structs of the same types
- Correctly set ppc vtables for the virtual boss classes
- Fix some wrong function definitions and implement a little bit more of the boss API (mainly constructors and destructors)
2024-04-03 01:56:49 +02:00
Exzap
3e467e220e
Logging: Prevent crash for nullptr strings
2024-04-03 01:56:49 +02:00
Exzap
fa8bab2f39
Latte: Add support for LOOP_START_NO_AL shader instruction
...
This instruction is used by Injustice: Gods Among Us and Project Zero
Also improved robustness of rendering to be less prone to crashing when a game tries to draw with broken shaders
2024-04-03 01:56:49 +02:00
Exzap
60adc38205
Latte: Add support for more fence conditions
...
MEM_OP_GREATER is required by Injustice: Gods Among Us
2024-04-03 01:56:49 +02:00
Exzap
b0b2c25762
coreinit: Improve accuracy of OSSwitchCoroutine
...
Fixes Injustice: Gods Among Us crashing during boot.
2024-04-03 01:56:48 +02:00
goeiecool9999
5230fcab37
Debugger: Fix infinite loop in symbol storage ( #1134 )
2024-03-27 11:14:01 +01:00
goeiecool9999
4f3d4624f5
GraphicPacksWindow: Disable update button when a game is running ( #1137 )
2024-03-26 13:09:24 +01:00
goeiecool9999
111e383d1b
coreinit: Fix race condition that causes crash ( #1138 )
2024-03-26 13:07:08 +01:00
SSimco
fa4ad9b8c1
Gamelist: Add option to hide the icon column ( #604 )
2024-03-25 22:30:39 +01:00
Exzap
4b7d2f88ae
Latte: Enable colorbuffer optimization if gfx packs are aware
...
The optimization for colorbuffer resolution introduced in PR #706 is now enabled. This optimization changes the resolution of certain framebuffer textures, which may conflict with the texture resolution rules set by some graphic packs. As a result, if a graphic pack that specifies texture resolution rules is in use, the optimization will automatically be turned off to prevent any issues.
To circumvent this, graphic packs can now include the setting "colorbufferOptimizationAware = true" in their rules.txt. This setting indicates that the pack has been updated to handle the resolution changes introduced by the optimization. Cemu will allow the optimization to remain enabled if resolution packs have this flag set.
2024-03-25 21:35:38 +01:00
Francesco Saltori
4d148b3696
Add supported locales to macOS plist ( #1133 )
2024-03-25 21:34:40 +01:00
capitalistspz
241915e1a6
Gamelist: Display title long names + improvements for shortcuts ( #1126 )
...
- Windows icons are stored as .ico files to %LOCALAPPDATA%/Cemu/icons/
- Long title names chosen as some games (NSMBU + NSLU) add trailing dots for their shortnames
- Long title names have their newlines replaced with spaces at parsing
- Linux shortcut paths are saved with UTF-8 encoding
- Game titles are copied and saved with UTF-8 encoding
2024-03-24 11:11:18 +01:00
goeiecool9999
17060752b6
Vulkan: Several swapchain fixes and refactors ( #1132 )
2024-03-24 10:57:08 +01:00
goeiecool9999
4d609f06b8
InputSettings: Fix controller type counter to restore WPAD limit ( #1118 )
2024-03-20 10:22:48 +01:00
goeiecool9999
42d14eec96
Minor code improvements ( #1124 )
2024-03-18 09:18:02 +01:00
goeiecool9999
eaa82817dd
Update thread names ( #1120 )
2024-03-15 23:06:48 +01:00
Exzap
731713de3a
OpenGL: Remove "-legacy" flag
...
"Intel legacy mode" was a special mode to workaround various Intel OpenGL driver limitations during the earlier years of Cemu. It's been unmaintained for years and no longer serves a purpose.
If we ever bring back compatibility with ancient Intel GPUs it should be done in a more structured way than a blunt yes/no flag.
2024-03-14 03:11:04 +01:00
Exzap
193767e6cc
Latte+Vulkan: Code cleanup
...
Besides a general cleanup:
- Remove deprecated resource destruction queues
- Move functionality from renderer into Latte base classes to deduplicate code
2024-03-14 01:10:52 +01:00
Exzap
bc04662525
Latte+GL+VK: Improve handling of gfx pack texture overwrite format
...
Graphic packs can overwrite the format of a texture (e.g. for higher bitdepth to lessen banding) but the code for this wasn't correctly working anymore.
- Fixes overwrite format being ignored for texture views on Vulkan backend
- Fixes overwrite format not being used for texture views on OpenGL
Format aliasing is complicated enough as it is, even without overwrites, so this adds a new rule to make behavior more well defined: If two textures share memory but only one uses an overwrite format, then they are no longer synchronized and are considered separate textures.
Bonus fixes for OpenGL:
- Use fbo 0 instead of -1 as the default. This silences some warnings in debug output
- On OpenGL, bind new framebuffers on handle generation so they are considered created
2024-03-13 02:41:42 +01:00
Exzap
8bc444bb97
Latte: Derive framebuffer size from correct mip of depth buffer
2024-03-12 16:16:52 +01:00
Exzap
6fa77feba3
Latte: Fix regression in dd7cb74
2024-03-12 05:53:31 +01:00
Exzap
a50e25300d
Vulkan: Remove unused code path for texture copies
...
In 2020 we switched to drawcalls for texture copies replacing the copy-via-buffer path. It's not been used since so lets remove it
2024-03-11 23:01:37 +01:00
Exzap
1f9b89116f
Vulkan: Fix crash during shutdown if shaders are still compiling
...
Make sure the async shader compiler threads are stopped before the shaders are deleted
2024-03-11 21:57:37 +01:00
Exzap
40d1eaeb72
nn_ac: Refactor and implement more API
...
Doesn't fix any issue as far as I know but it removes some of the unsupported API complaints in debug logging
2024-03-11 21:57:37 +01:00
Exzap
dd7cb74cd2
Latte: Small refactor and clean up for texture size code
2024-03-11 21:57:37 +01:00
Exzap
0993658c82
GX2: Rework GX2Set*UniformReg
...
- Use cafeExportRegister() instead of legacy export
- Submit as a single PM4 packet
- Add logging for the special case of the size parameter (not sure if this is used by any game?)
- Add some extra validation and logging which may be helpful to homebrew devs
2024-03-11 21:57:37 +01:00
Exzap
3d0d987d89
Logging: Introduce logOnce helper
...
For cases where printing a message once is enough and to avoid spamming log.txt
2024-03-11 21:57:37 +01:00
goeiecool9999
bb88b5c36d
Fix crash introduced by #1115 ( #1117 )
...
* Revert "CafeSystem: Init recompiler after game profile has been loaded (#1115 )"
* Instead move gameprofile load call
2024-03-11 02:40:47 +01:00
goeiecool9999
ccabd93159
Linux: Exit on SIGTERM ( #1116 )
2024-03-11 02:13:53 +01:00
goeiecool9999
788da3cdf7
CafeSystem: Init recompiler after game profile has been loaded ( #1115 )
2024-03-11 01:47:31 +01:00
goeiecool9999
e1435066ee
OpenGL: Fix crash related to wxWidgets handling of vsync ( #1112 )
2024-03-11 00:57:31 +01:00
goeiecool9999
a2d74972d4
Prevent changing of console language while a game is running ( #1114 )
2024-03-11 00:55:31 +01:00
goeiecool9999
f69fddc6e5
TitleManager: Fix crash when sorting by format ( #1113 )
2024-03-10 23:25:16 +01:00
Exzap
d9e8ca2c83
Revert "Vulkan: Update some code to use VK_KHR_synchronization2"
...
This reverts commit 8f1cd4f925
.
We received reports from users stuck with Vulkan drivers from 2019. (E.g. Kepler on Windows). So let's not unnecessarily increase the Vulkan requirement for now and postpone this to after the next stable release
2024-03-09 02:38:08 +01:00
Exzap
ea68f787eb
Vulkan: For MSAA surface copies make the target MSAA too
...
Fixes #1108
2024-03-08 14:45:02 +01:00
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