Commit Graph

991 Commits

Author SHA1 Message Date
Rhener Furtado
d7da74dcec
Merge acfe7db873 into daacdda0ba 2026-08-07 13:47:03 +00:00
capitalistspz
daacdda0ba
coreinit: Return correct size from MEMResizeForMBlockExpHeap when requested size equals block size (#2022)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-08-06 22:50:38 +02:00
capitalistspz
1706e5f379
UI: Correct tooltips on checksum tool buttons (#2014)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-31 02:15:43 +02:00
techmuse
b8f2cf4b43
coreinit: Implement Dynload notify callbacks (#2003)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-23 07:25:39 +02:00
goeiecool9999
50b9e4ba1d vulkan: crash on fence errors instead of possibly spamming the log
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-22 01:22:01 +02:00
primaviera
13d1826b4d
nn_fp: Improve Comment struct and fix invalid Mii name on Linux (#1986)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-19 08:08:57 +02:00
techmuse
3005cb7b46
coreinit: Implement a few more DynLoad functions (#1990)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-18 02:36:43 +02:00
goeiecool9999
f82598e42f build: Fix CMAKE_CXX_FLAGS
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-07-17 23:11:12 +02:00
rhemf
acfe7db873 ci: add Windows ARM64 build job
Builds Cemu for windows-11-arm with clang-cl + Ninja and uploads the ARM64 exe as an artifact, so official ARM64 Windows builds can be produced.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 15:30:08 +01:00
rhemf
2dcaac317c Add native Windows ARM64 (AArch64) support
Enables building and running Cemu natively on Windows on ARM (e.g.
Snapdragon devices) with clang-cl. The existing AArch64 recompiler
backend is used, so no x64 emulation is involved.

Build system (CMakeLists.txt, dependencies/ih264d, src/Cafe):
- Auto-select the arm64-windows-static vcpkg triplet and detect the
  AArch64 architecture even when the emulated host shell misreports it.
- Disable IPO for clang-cl (LTO would force lld-link, which cannot read
  vcpkg's MSVC /GL objects) and link clang_rt.builtins for the
  compiler-rt calls (e.g. __udivti3) that lld-link does not add.
- Set the static CRT on the xbyak_aarch64 target.
- Locate pkgconf under the actual vcpkg host triplet instead of a
  hardcoded x64-windows path.
- Build the bundled ih264d decoder as portable C on ARM64/Windows; its
  NEON .s files use ELF-only :got: relocations that do not assemble for
  COFF targets.

Source (precompiled.h, ExceptionHandler_win32, Debugger, LatteTextureCache):
- Guard x86-only intrinsics/paths behind ARCH_X86_64. clang-cl defines
  _MSC_VER but not __GNUC__, so several `#if defined(_MSC_VER)` branches
  wrongly selected x86 intrinsics on ARM64. Adds AArch64 register
  dumping to the crash handler.

Manifest: use processorArchitecture="*" for Common-Controls so it
resolves on ARM64.

See BUILD.md for the build steps (Ninja + clang-cl + -DCMAKE_LINKER_TYPE=MSVC).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 14:05:33 +01:00
Samuel
acb105bd58
build: Link SDL3 earlier (#1982)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
Hacky workaround for a problem where wxWidgets uses SDL2 and Cemu uses SDL3. See #1982
2026-07-13 02:56:18 +02:00
Exzap
d8a5f4bac9 Latte: Smaller fixes
Fixes #1979
2026-07-13 01:50:10 +02:00
Exzap
578312b6e0 nn_nfp: Fix wrong constant 2026-07-13 01:50:10 +02:00
Exzap
4b72d7cf1e swkbd: Refactor + implement and stub more API
MH3G/MH3U has fragile multi-threaded use of swkbd and gets stuck if some operations complete too fast, specifically if SwkbdCreate completes quickly. For now we solve this by adding a sleep delay.

Also modernized and API registration and SwkbdInitLearnDic will create a valid empty dictionary now since MH3G tries to parse it
2026-07-13 01:50:10 +02:00
Exzap
372cadd617 RPL: Improve load order
System RPLs are actually never loaded from the game's code directory. Verified on console.
Also do a minimalist check if the necessary files are dumped for erreula and swkbd, otherwise they will just crash on load.

Fixes #1977
2026-07-13 01:50:10 +02:00
Exzap
0e1c927d59 h264: Handle stream interruption more gracefully
Streams will still struggle to catch up, but at least it shouldn't deadlock games anymore
2026-07-13 01:48:43 +02:00
Crementif
145ad1e9d5 deps: update to wxwidgets 3.3.3
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-11 02:07:40 +02:00
goeiecool9999
2b9938d48a Latte: Fix caching of shader error state
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
Fixes: #1985
2026-07-10 16:51:18 +02:00
Crementif
aa7c82dda3 ppc: add mcrf support to assembler
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-06 02:49:02 +02:00
Crementif
c201c65147 ppc: Add mfcr and mtcrf support to assembler
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-07-05 23:20:06 +02:00
Exzap
880d2b3bd0 Vulkan: Make vertexPipelineStoresAndAtomics optional
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-01 13:26:24 +02:00
Emma
c2e807f8a3
Metal: specify blit options when copying to textures (#1912)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-06-29 13:17:49 +02:00
Exzap
4c4ef50f49 Vulkan: Smaller fixes + code cleanup
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-06-25 17:26:41 +02:00
Exzap
53a74e44df coreinit+UI: Implement exit()
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
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)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-06-21 17:54:49 +02:00
capitalistspz
079a4af651
debugging: Add GDB pretty printers for common types (#1957)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
By default, GDB will not autoload this for security reasons. See https://sourceware.org/gdb/current/onlinedocs/gdb.html/Auto_002dloading-safe-path.html to see how to enable it.
2026-06-17 18:24:09 +02:00
Crementif
fe70fdcfe5 debugger: Don't clear register views when continuing to run code
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-06-13 20:35:12 +02:00
goeiecool9999
dbec2c717c
Clean up includes in MainWindow and remove duplicate helper (#1955)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-06-13 15:54:26 +02:00
Exverge
65a37336a7
ih264d: Fix color inaccuracy on aarch64 (#1954)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-06-11 22:23:18 +02:00
capitalistspz
b517fbc147
build: Make CMake ask for fmt 12.1 instead of 9 (#1953)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-06-11 15:38:44 +02:00
Exzap
a52c9bd74f README.md: Add LLM policy
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
This does not apply retroactively to pull requests which are already open
2026-06-10 17:28:55 +02:00
Exzap
0a4f634eaf Latte: Handle texture copy edge-case
Fixes save preview images in BotW
2026-06-10 17:28:55 +02:00