Commit Graph

1009 Commits

Author SHA1 Message Date
capitalistspz
d13feb9e31
Merge 83ad48762e into aa7c82dda3 2026-07-07 19:25:15 -05:00
Crementif
aa7c82dda3 ppc: add mcrf support to assembler 2026-07-06 02:49:02 +02:00
Crementif
c201c65147 ppc: Add mfcr and mtcrf support to assembler 2026-07-05 23:20:06 +02:00
Exzap
880d2b3bd0 Vulkan: Make vertexPipelineStoresAndAtomics optional 2026-07-01 13:26:24 +02:00
Emma
c2e807f8a3
Metal: specify blit options when copying to textures (#1912) 2026-06-30 18:20:19 +02:00
shinra-electric
0e7e9ee632
CI: homebrew - Untap aws and azure to silence warnings (#1972) 2026-06-30 18:19:16 +02:00
Exzap
359f1d9beb h264: Improve H264DECGetImageSize and fix a regression 2026-06-29 13:17:49 +02:00
Exzap
4c4ef50f49 Vulkan: Smaller fixes + code cleanup 2026-06-27 13:12:37 +02:00
Exzap
62ac48f0e9 Latte: Add support for VK_EXT_attachment_feedback_loop
Requires both VK_EXT_attachment_feedback_loop and VK_EXT_attachment_feedback_loop_dynamic_state to be provided by the driver. Otherwise it will fall back to the old code. Main benefit is for improving performance as it makes barriers cheaper and doesn't force us to unnecessarily interrupt renderpasses
2026-06-27 13:12:37 +02:00
Exzap
e142fadfcd Latte: Remove calculation of unused minIndex 2026-06-27 13:12:37 +02:00
Exzap
57bc919e7c Latte: Simplify code 2026-06-27 13:12:37 +02:00
Exzap
3923bfcc01 Latte: Optimize shader lookup by caching whole sets
Skips the overhead of having to lookup each shader stage individually. Additionally, having whole sets as a lookup key gives us a more trustworthy heuristic than if we only have independent information for each shader stage. We can use this to skip shader hashing most of the time when they are part of a known set.
2026-06-27 13:12:37 +02:00
Exzap
a39e99ecd4 h264: Improve H264DECMemoryRequirement 2026-06-27 13:12:37 +02:00
Exzap
a5d8ceb0dd Vulkan: Additional smaller optimizations 2026-06-27 13:12:37 +02:00
Exzap
6d050e68ea Latte+Vulkan: Optimize by using incremental state update checking 2026-06-27 13:12:37 +02:00
Exzap
c7ee701edd Latte: Omit FragCoordScale uniform in shader if unused
We insert padding when needed to keep alignment intact for backwards compatibility with gfx pack shaders.
2026-06-27 13:12:37 +02:00
Exzap
45eedb4cd3 Vulkan: Separate function for continued drawcalls 2026-06-27 13:12:37 +02:00
Exzap
309bca61b2 Latte+Vulkan: More code tweaks for performance and cleanup 2026-06-27 13:12:37 +02:00
Exzap
377307515c Latte+Vulkan: Several smaller optimizations 2026-06-27 13:12:37 +02:00
Exzap
321fa4d74d Latte+Vulkan: Small code cleanup and optimization 2026-06-27 13:12:37 +02:00
Exzap
038781a05e Latte: Widen conditions for fast draw mode 2026-06-27 13:12:37 +02:00
Cynthia Coan
1c7fbafb00
coreinit: Flush logs when forwarding (#1965) 2026-06-25 17:26:41 +02:00
Exzap
53a74e44df coreinit+UI: Implement exit()
When coreinit exit() is hit, then Cemu will only close when the game was launched directly via command line parameters (-g or -t). Otherwise it returns to the game list. In the case where Cemu closes it will forward the coreinit exit status code as it's own exit status code. This is useful for cases where Cemu is used as a CLI tool for testing homebrew
2026-06-25 06:42:33 +02:00
Cynthia Coan
a3d6395ed7
Add command line parameters to make Cemu more useful for running tests (#1959) 2026-06-23 04:59:53 +02:00
JosJuice
f3d5788f0c
FST: Look for .key file next to wud/wux file (#1961) 2026-06-23 04:50:35 +02:00
JosJuice
4ee027d3a8
UI: Show "Could not decrypt title" for drag and drop too (#1962) 2026-06-21 17:54:49 +02:00
capitalistspz
83ad48762e Slightly more accurate behaviour
- Call `CAMClose` instead of `CAMExit` on unload
- Add OSDriver registration
- Never join the worker thread.
2026-06-19 18:38:23 +01:00
capitalistspz
9079c8e17f Clean up 2026-06-19 16:29:42 +01:00
capitalistspz
88b3dfe2f9 Use wxComboBox instead of wxChoice
For some reason `wxChoice` on GTK frequently produces
```
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug
```
and displays incorrectly
2026-06-19 16:29:42 +01:00
capitalistspz
cfd148ac36 Move camera code to CemuInput
Compiling the precompiled headers for `CemuCamera` took longer than compiling `CemuCamera` itself, so it just ends up being noticeably faster to just add it to one of the existing sublibs. It probably wasn't a problem for MSVC because precompiled header reuse works there, but I'm not using MSVC
2026-06-19 16:29:42 +01:00
capitalistspz
02c063e44b Store camera name to config instead of unique ID
Unique IDs vary across restarts and re-plugs, which isn't really suitable for being saved to config
2026-06-19 16:29:42 +01:00
capitalistspz
5adefd1d0f Swap buffers during capture
Also ensures a lock is released
2026-06-19 16:29:42 +01:00
capitalistspz
da28096d7a Prevent CameraManager::Deinit from stopping the application entirely 2026-06-19 16:29:42 +01:00
capitalistspz
ef44b4b40d Use cemu_use_precompiled_header 2026-06-19 16:29:42 +01:00
capitalistspz
d09429dfb6 Link to CemuConfig in CemuCamera
I'm using it after all
2026-06-19 16:29:42 +01:00
capitalistspz
ca10a5169d Revert "Give up on using the precompiled headers"
This reverts commit 9fb8618c44.
2026-06-19 16:29:42 +01:00
capitalistspz
1219bcb75d Give up on using the precompiled headers 2026-06-19 16:29:42 +01:00
capitalistspz
7fb5c83bbe Link to CemuGui in CemuCamera despite not using any GUI code
Every other Cemu component links it
2026-06-19 16:29:42 +01:00
capitalistspz
a8980a8d0b Link CemuCommon as PUBLIC
I know it doesn't match the rest of the `CMakeLists`
2026-06-19 16:29:42 +01:00
capitalistspz
883e5de59d Link to CemuCamera in CemuBin 2026-06-19 16:29:42 +01:00
capitalistspz
31fdaeff1c Remove extra #pragma once 2026-06-19 16:29:42 +01:00
capitalistspz
6338e40aa3 CMakeLists.txt adjustments 2026-06-19 16:29:42 +01:00
capitalistspz
543d6b4b2a Formatting and cleanup 2026-06-19 16:29:42 +01:00
capitalistspz
a39830e5ec Use OSMutex 2026-06-19 16:29:42 +01:00
capitalistspz
90c6016a9f Small changes to worker thread func 2026-06-19 16:29:42 +01:00
capitalistspz
8d2f196e25 Remove unused variables 2026-06-19 16:29:42 +01:00
capitalistspz
1a632aeb43 Init CameraManager on open, deinit on close
And buffer allocation and deallocation occur on init and deinit
2026-06-19 16:29:42 +01:00
capitalistspz
3235ffbda4 Remove duplicate sources in CMakeLists.txt 2026-06-19 16:29:42 +01:00
capitalistspz
27e10ca5da Update openpnp-capture (fix turbojpeg link failure when used alongside vcpkg) 2026-06-19 16:29:42 +01:00
capitalistspz
5c562a2d0f Update openpnp-capture (fix turbojpeg import) 2026-06-19 16:29:42 +01:00