Eglantine Branch: nx2: async shader translation, compute pre-compilation, frame spike recorder; cold hints off by default

Wait 5 sec.

Test build of branch fix/oot-map-change at 42d397d.This is not a release. It is for testing, and the next push to the branch replaces it.Commits on top of nx2Fixed the compute shader pre-compilation not working on loose dumps (42d397da3b)video_core: measure late texture pool reads in async translation (7ac7ca85de)video_core, yuzu: let a shader precache build stop early (b19685e2c3)video_core: write the Vulkan pipeline cache before the background builds start (78059315a9)yuzu: put the RAM tab's settings in a General group (e6a6241c9d)docs: nx2: cold hint modes (a959291645)common, core, yuzu, mcp: release uploaded guest memory only when RAM is low (42fdfac891)-Wself-assign-field fix for macos (2ef93ccd6c)docs: nx2: cold hints (988721c562)yuzu: a RAM tab in Performance with the cold hints setting (7bd099ba56)common, core, mcp: cold hints off by default, with a setting and an MCP switch (3b87091034)docs: nx2: the frame spike recorder (9102b015d2)video_core, mcp: a frame spike recorder (497543a72b)docs: nx2: queued translations, precache scheduling and SPIR-V identity (d142e14caf)tests: check that the shader precache builds the game's SPIR-V (aacd0244c6)video_core: the shader precache waits for the game's pipeline builds (cd5646cd91)video_core: a draw that can't be skipped translates its queued pipeline itself (12dfe71a66)video_core: use the portable cycle counter in the buffer cache sync stats (4a2ac55067)video_core: build the NX2 timeline and draw stats diagnostics with MSVC (dea0fb656f)docs: nx2: shader compilation notes (789d49beba)common, frontends: a setting for the private driver shader cache and its size (51b1fa573c)video_core, yuzu: pre-compile a game's compute shaders from its files (b4d80e4d70)common, frontends: keep NVIDIA's driver shader cache in a folder of our own on Linux (dfdf190200)video_core: log driver pipeline build times (212568b2f0)video_core: translate a queued pipeline's stages in parallel (ecc96f264f)video_core: as many pipeline translators as driver compile workers, below normal priority (40633dc5ce)video_core: reuse translated native shader stages across pipelines (d1195b7d49)common: asynchronous shaders on by default (2d61242e29)video_core: translate new native graphics pipelines on worker threads (0f1ae997c2)tests: offline shader translation bench over native dumps (1cbc9a404c)shader_recompiler: remove static clip_distance_written data race in SPIR-V emit (36c6325950)shader_recompiler: skip instructions failed storage buffer searches already walked (87b0f018a8)shader_recompiler: create SSA phis of sealed blocks only when they are needed (5c2c7f468b)spirv: remember the ids of scalar constants (398dfbc1dd)shader_recompiler: keep SSA definitions of predicates and flags in blocks (e4197fb887)shader_recompiler: drop unused identities at the end of the SSA rewrite (847cba4d07)video_core: EDEN_NX2_HOST_IMPORT is on by default for NVIDIA on Linux (56e70161d7)video_core: probes for uniform stream reuse in EDEN_NX2_BIND_STATS (62564b004d)video_core: EDEN_NX2_BIND_STATS probes for draw preparation (321aaa0662)video_core: EDEN_NX2_BIND_STATS diagnostics for the buffer cache (145c283b0a)video_core: stop write-protecting guest pages the CPU rewrites every frame (f27522bfb9)video_core: cache GPU page translations per thread (b1e650849e)video_core: protect, draw and thread CPU diagnostics for the back thread (7da9d855a7)video_core: EDEN_NX2_TIMELINE and EDEN_NX2_SAMPLER diagnostics for the guest-to-fence chain (1182ee3242)yuzu: Performance settings page with per-platform launch arguments (1eeb6e957c)video_core: EDEN_NX2_HOST_IMPORT, native uniform banks read guest memory in place (51523cba8f)video_core: count guest bytes read per upload class under EDEN_NX2_HAZARD (05c952b8b7)video_core: skip same-value instance-loop writes and batch macro writes on the split front (1c46e5b151)video_core: EDEN_NX2_HAZARD log-only detector for frames-ahead hazards (3be2922a10)breakpad: prefer system client library on Linux and limit dump size (d59f7e72bd)mcp: document the NX2 debug_knobs bits in the tool description (777ee36ed0)video_core: cut NX2 front/back split waits, add live knobs and drain profiling (d3612f82b1)tools/nx2: unattended debug sessions with crash evidence (56a5823e21)vulkan_wrapper: retry swapchain and surface enumerations on VK_INCOMPLETE (c40fca7da4)mcp: address fifth review (d5e16a5bc8)mcp: move the settings to their own MCP tab (6caa7c1e87)mcp: address fourth review (111314e0a8)mcp: use the emulator's debugging features (d0a71f9125)mcp: document touched functions (fb7b0db934)mcp: address third review (56064a9f81)mcp: address second review (6d4de3341e)mcp: document functions (f15153f943)mcp: address review feedback (e59167fa48)docs: document the MCP server (c9397748b2)Add a built-in MCP server for AI agents (13d34459cd)core: optional observers for IPC, SVCs, crashes and unimplemented commands (e7498b8f41)eden-cli: fix -d/-i crashing on a null optarg; advance TAS every frame (0a8d295cd8)core: find module names of Switch 2 programs (450e7f8850)LinuxThe AppImage is self-contained (needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch): make it executable with chmod +x and run it. The tar.gz uses your system libraries, so Qt 6 and the usual libraries must be installed.Build TypeStandardPGO (Recommended)Notesamd64AppImage · tar.gzAppImage · tar.gzARM (aarch64)AppImage · tar.gzAppImage · tar.gzWindowsWindows packages are in-place zip files: extract and run eglantine.exe, or eden-cli.exe from a terminal.Build TypeStandardPGO (Recommended)Notesamd64 / x86_64 (MSVC)MSVC zipUse if you run into graphical issues on other buildsamd64 / x86_64 (MinGW)MinGW PGO zipBuilt with MinGW clang; bundles its own DLLs, no Visual C++ redistributable neededmacOSBuild TypeStandardPGO (Recommended)Notesarm64 (Apple Silicon)zip · dmgmacOS 15 or newer. Not notarized: right-click and choose Open the first time, or run . is inside the app, in .The PGO builds are the same programs compiled with profile-guided optimization (clang plus Eglantine's profile); prefer them when your CPU supports it.