Shader caches

From Emulation General Wiki
Jump to navigation Jump to search
This page contains Shader Cache sets to download for specific games

A shader cache is a collection of GPU specific programs known as shaders that get stored in your computer's auxiliary memory for quick retrieval (as you play your game).

Modern consoles and their games make heavy use of precompiled shaders specific to their GPUs, and these shaders can't be run natively on PC hardware, so they need to be translated or recompiled. The simplest way to do this is to recompile them at runtime, but that's slow and can cause stuttering every time a new shader is loaded in the game. A mitigation to this stuttering is to compile the shaders asynchronously to the emulator, but this has its own drawback in that in the time it takes to compile the shader, the effect in-game that relies on it won't be shown.

Another approach is to cache the system's raw shader pipeline and then compile the shaders before the game even starts. The only drawback here is that someone has to play through the game atleast once to 'build' a cache that can be used by others. This page provides files to pre-built caches for seamless use while playing your games.

When an emulator updates the way it handles shaders, it may break compatibility with previous shader caches; for this reason, the shader version is listed below.

Note: Please compress your shader caches with 7-Zip or WinRAR before uploading them.

GPU Shader / Pipeline Caches vs. CPU JIT Recompilation

[edit | edit source]

Shader caches are NOT the same as CPU JIT / PPU / SPU / LLVM recompilation caches. See High and low-level emulation for more information. They are completely independent systems that solve different kinds of stutter:

  • GPU shader / pipeline caches (what you download on this page) → translate console GPU shaders (RSX, GN, GX2, etc.) into Vulkan / D3D12 / OpenGL shaders for your PC GPU.
  • CPU JIT recompilers → dynamically translate console CPU instructions (PowerPC PPU, SPU, ARM, etc.) into x86-64 code. These also produce heavy stutter the first time a code path is executed and use their own separate caching mechanisms.
Aspect GPU Shader / Pipeline Caches
(what you download here)
CPU JIT Recompilation
(PPU/SPU/LLVM in RPCS3, PowerPC JIT in Dolphin, etc.)
What is compiled Console GPU shaders → Vulkan / D3D12 / OpenGL shaders for your PC GPU Console CPU code → native executable code (typically x86-64)
Primary stutter source First time a new draw call triggers an unseen shader/pipeline permutation RPCS3: Long boot-time "Compiling PPU Modules" → "Linking PPU Modules" → "Building SPU Cache" (first run only); rare runtime JIT hitches afterward
Others: First execution of a new function/block/module
Cache files vk_pipeline_cache.bin, gl_cache, transferable .zip/.bin/.vkch, etc. RPCS3: ~/.config/rpcs3/cache/ (PPU-*.bin, SPU-*.bin with LLVM)
Dolphin/etc.: Separate JIT caches
What determines compatibility? GPU architecture + driver version + emulator shader decompiler + pipeline layout hash Emulator build + patches + settings + host CPU
Can be shared between users? Yes*
* Caches built on NVIDIA usually only work on NVIDIA GPUs. AMD/Vulkan caches are less portable but sometimes compatible.
* Driver updates frequently invalidate caches.
* Emulator updates that change the shader decompiler or pipeline layout will invalidate old caches — always check the listed “Shader version” or build number.
No — highly system-dependent
Invalidated by driver update? Very often No
Typical size per game 200 MB – 6 GB 50 MB – 1.5 GB
Even with a perfect GPU cache… …you can still get CPU-side stutter on first playthrough …you can still get GPU shader stutter if the cache is missing or invalid

RPCS3 tip: First boot takes time (PPU/SPU precompilation). This is normal, not a crash; results are cached for future launches.

What you’re downloading vs. driver/OS shader caches

[edit | edit source]

The shader cache files on this page are emulator-specific, per-game collections of translated shaders (sometimes called “shared caches”). They are completely separate from generic driver-level caches used by Windows and GPU drivers.

Important distinction:

  • Shader cache → emulator-level translation artifacts.
  • Pipeline cache → driver-level binary blobs generated from those shaders.

Pipeline caches are typically hash-based and may be invalidated by driver changes, GPU microcode updates, or pipeline layout differences.

Type Emulator/Game-Specific Cache
(what you download here)
Windows D3D12 Shader Cache NVIDIA NV_Cache / DXCache
Purpose Pre-translated console → PC GPU shaders for one game Generic DirectX 12 cache NVIDIA internal driver caches
Location Emulator folder (shader_cache, cache, gl_cache, etc.) %LocalAppData%\D3DSCache %LocalAppData%\NVIDIA\…
%ProgramData%\NVIDIA Corporation\…
Shareable between users? Yes* (see notes above) No No
Survives driver updates? Often not Sometimes (can occasionally cause bugs) Usually wiped
Deleting one affects the other? No No No

Important: Deleting your NVIDIA or D3DSCache folders will not affect emulator caches you download here, and vice versa.

Technical note (OS-level D3D12 cache): The OS cache is controlled through official DirectX 12 Shader Cache APIs introduced in Windows 10 version 2004.[1] These APIs allow applications (including some emulators) to create in-memory or disk-backed cache sessions, explicitly store/find shaders, and query driver-managed caches. NVIDIA’s NV_Cache and DXCache folders exist outside this specification and are not directly controllable by applications.

How emulators solve shader compilation stutter

[edit | edit source]

When emulating seventh-generation consoles and newer, thousands — sometimes millions — of unique shader permutations must be translated for your PC GPU. Compiling them on-the-fly causes noticeable stuttering. Emulators use several techniques to reduce or eliminate this problem. Files hosted on this page are most commonly transferable disk shader/pipeline caches. When your emulator version, GPU vendor, and driver version align, you can achieve near stutter-free gameplay from the moment you press Play.

Technique How it works Pros Cons Typical emulators using it
Synchronous compilation Compiles on the main thread the moment the shader is needed Simple to implement Severe stuttering (100 ms – seconds per shader) Older builds
Asynchronous compilation Background threads compile; until ready, draws may be skipped or placeholders used Major stutter reduction Brief visual glitches or missing effects while compiling Azahar, Cemu, RPCS3[1], Eden - Citron, Xenia Canary - Xenia Edge[2]
Async Recompiler with Interpreter Fallback Runs an interpreter for new GPU commands/shaders immediately while an optimized recompiler runs in the background; swaps once ready. No missing visuals (unlike standard Async); much less stutter than Sync. The "Interpreter phase" can be slow, leading to temporary frame rate fluctuations. Certain complex shaders (e.g., tessellation) may still fallback to skipping draws entirely. RPCS3[3], Xenia Edge (Vertex shaders only)[4]
Disk shader and pipeline cache Saves discovered shaders/pipelines to disk after creation; instantly reused later Little to no stutter after the first full playthrough Stutter on first encounter; invalidated by some driver/emulator updates Dolphin, RPCS3, Cemu, Azahar[5][6], Vita3K, ehw's Xemu fork[2], Xenia Canary - Xenia Edge
Exclusive Ubershaders One giant “do-everything” shader emulates the full GPU pipeline with no runtime specialization Eliminates shader stutter High constant GPU overhead; unsuitable for low-end hardware Dolphin (Exclusive mode)[7]
Hybrid Ubershaders Uses an ubershader temporarily for unseen shaders while specialized versions compile in the background Near-zero stutter with eventual full performance Slightly higher RAM/CPU usage during compilation Dolphin (Hybrid mode)[8]
Pre-launch pipeline precompilation Before gameplay, pipelines are compiled from previously discovered shaders or transferable caches Minimal in-game stutter when cache is populated Long launch times; requires an existing cache; invalidated on updates Cemu, Dolphin, RPCS3 (partial)
Speculative pre-warming Predicts likely shaders and compiles them at boot or level load Smoother early gameplay Extra CPU/GPU cost; predictions may miss rare shaders Experimental / uncommon
Notes
Transferable / pre-built cache: Community-shared caches built for a specific GPU architecture and driver. Can provide near-zero shader stutter immediately if compatible. Large files; often break after driver or emulator shader changes.
Parallel compilation: Uses multiple CPU threads to compile many shaders simultaneously, dramatically reducing loading times at the cost of high temporary CPU usage.[9]
LRU cache eviction / size limits: Automatically deletes least-recently-used shaders when a storage limit is reached, preventing unbounded cache growth. Revisiting evicted content requires recompilation.
SPIR-V optimization passes: Options such as "Optimize SPIR-V Output" do not eliminate shader stutter but can reduce pipeline build cost, sometimes improving first-time compilation smoothness. Helpful, but not a substitute for caches or async compilation.[10]

Technical insight: Modern GPUs use highly state-dependent pipelines. A single logical shader may generate dozens or hundreds of pipeline permutations depending on blend state, render targets, MSAA, vertex layout, and depth configuration. This combinatorial behavior is one reason fully eliminating first-run shader compilation remains difficult for many emulators.

Put files in <cemuFolder>\shaderCache\transferable\

Newer versions of Cemu leverage Vulkan 1.2 and asynchronous shaders in a way that it may be preferable on modern GPUs to use async shaders instead of a shader cache, so try enabling that before hunting for shader caches. The current shader version is 150, but Cemu is backward-compatible from version 149 (Cemu version 1.7.0, 2017/05/16) Cemu 1.25.0+ is not backward-compatible with any prior transferable cache.

Game Link(s) Shader Version Shader Count Notes
Bayonetta 2 Download 149 1210
Captain Toad Treasure Tracker Download 149 2146
Devil's Third Download 149 4421
Donkey Kong Country: Tropical Freeze Download 149 1950
Fast Racing NEO Download 149 1776
Fatal Frame 5 Download 149 1023
Hyrule Warriors Download 149 1222
Kirby and the Rainbow Curse Download 149 3004
Mario Kart 8 Download 149 12029
Mario Party 10 Download 149 1235
Mario Tennis Download 149 1230
New Super Mario Bros. U + New Super Luigi U Download 149 886
Ninja Gaiden 3: Razor's Edge Download 149 868
Pikmin 3 Download 149 2423
Splatoon Download 149 6790
Star Fox Zero Download 149 384
Super Mario 3D World Download 149 4298
Super Mario Maker Download 149 584
Super Smash Bros. WiiU Download 150 4765
Tekken Tag Tournament 2 Download 149 1980
The Legend of Zelda: Breath of the Wild Download 149 9674
Download 150 6500ish shaders, 11000 vulkan pipelines Incomplete, this is meant for Vulkan users (the cache above will still work with Vulkan) so they don't have to build pipelines.
Don't try to combine the pipelines with another cache, as they are incompatible.
Download 150 9627 shaders, 32609 vulkan pipelines Almost perfect, JPN version of Breath of the Wild for the Cemu 1.25, other region versions can use the OpenGL shaders, change its name, for example, change 9300 to 9500.
The Vulkan pipelines will increase with your hardware driver update.
Download 150 9430 shaders, 56354 vulkan pipelines US version of zelda breath of the wild game played through with Cemu version 1.26.2f using Vulkan Graphics API, this is the entire shaderCache folder.
The Legend of Zelda: Twilight Princess HD Download 149 2635
The Legend of Zelda: Wind Waker HD Download 149 11835
Tokyo Mirage Sessions #FE Download 149 2438
Xenoblade Download 149 17592
Yoshi's Woolly World Download 149 5002

Put the raw and pipeline folders in <RPCS3Folder>\cache\<gameSerial>\ppu-<hash>-EBOOT.BIN\shaders_cache\

Current shader version is v1.95 (2025/02/20)[3]

Game Link(s) Shader Version Shader Count Renderer Notes
Asura's Wrath Download v1.95 8989 Vulkan
God of War III Download v1.94 9330 Vulkan
Guitar Hero 5 Download v1.94 1485 Vulkan
Guitar Hero: Warriors of Rock Download v1.94 1953 Vulkan
ModNation Racers Download v1.94 1311 Vulkan
Ratchet and Clank: A Crack in Time Download v1.93 1191 Vulkan
Ratchet and Clank: Into the Nexus Download v1.93 1150 Vulkan
Rock Band 3 Deluxe Download v1.94 1280 Vulkan
Skylanders Giants Download v1.94 2831 Vulkan
The Beatles: Rock Band Download v1.94 721 Vulkan

Put the files in <XeniaFolder>\cache_host\shaders\shareable

Current shader version is 20220720[4]

Game Link(s) Shader Version Renderer Notes
Lost Odyssey Download 20220720 DX12 ROV 100% Full Playthrough (Discs 1-4)

Xenia Canary Build December 25 2022 (9f0d3d4)

Gears of War 2 Download 20220720 DX12 ROV Full Playthrough of Main Campaign
Gears of War 3 Download 20220720 DX12 ROV Full Playthrough
Gears of War Judgment Download 20220720 DX12 ROV Full Playthrough Judgment/Aftermath
Fracture Download 20220720 DX12 ROV Full Playthrough of Main Campaign on Hardcore
Bloodforge Download 20220720 DX12 RTV Full Playthrough
Sonic Unleashed Download 20220720 DX12 ROV Full Playthrough
Red Dead Redemption Download 20220720 DX12 ROV Full Playthrough of Main Campaign and Undead Nightmare
Sonic Unleashed Download 20220720 DX12 ROV Full Playthrough
WET Download 20220720 DX12 ROV Full Playthrough of Main Campaign

Put files in <user>\shaders\opengl\transferable\

Current shader version is 1 (2019/09/07)[5]

Game Link(s) Shader Version Shader Count
Animal Crossing: New Leaf Download 1 1403
Mario Kart 7 Download 1 299
New Super Mario Bros. 2 Download 1 1308
Pokemon: Ultra Sun Download 1 703
Super Mario 3D Land Download 1 1379
Super Smash Bros. 3DS Download 1 3312
The Legend of Zelda: Ocarina of Time 3D Download 1 426
The Legend of Zelda: Majora's Mask 3D Download 1 2211
The Legend of Zelda: A Link Between Worlds Download 1 49
Tomodachi Life Download 1 10123
Hatsune Miku Project Mirai DX Download 1 1022
Mario Kart 7 Download 1 742

Right click the game in Ryujinx's game list, Cache Management > Open Shader Cache Directory, and extract the zip there.

To share: Right click the game in Ryujinx's game list, Cache Management > Open Shader Cache Directory and zip all the files named "guest" and "shared". Use the title ID as filename (check the file path for a folder with a name that resembles 010015100b514000).

  • Don't upload shaders if you used mods.
  • Vendors seem to matter, so if your card is AMD and there's only an NVIDIA shader cache available, add another entry, and vice-versa. Don't just replace caches from different vendors.

Current shader version is 1.1 (2023/10/23)[6]

Game Link(s) Shader Version Vendor Shader Count
Advance Wars 1+2: Re-Boot Camp Download 1.1 Nvidia 279
Bayonetta 2 Download 1.1 AMD 1117
Bayonetta 3 Download 1.1 AMD 1943
Crash Team Racing Nitro-Fueled Download 1.1 AMD 579
Demon Slayer -Kimetsu no Yaiba- The Hinokami Chronicles Download 1.1 AMD 7521
Donkey Kong Country: Tropical Freeze Download 1.1 Apple 784
Donkey Kong Country: Tropical Freeze Download 1.1 NVIDIA 796
Kirby and the Forgotten Land Download 1.1 NVIDIA 6774
Kirby and the Forgotten Land Download 1.1 AMD 6635
Mario Kart 8 Deluxe Download 1.1 NVIDIA 5934
Mario Kart 8 Deluxe Download 1.1 AMD 5921
Mario Kart 8 Deluxe Download 1.1 Apple 5989
Metroid Dread Download 1.1 NVIDIA 401
Luigi's Mansion 2 HD Download 1.1 NVIDIA 117
Pokémon Legends: Z-A Vulkan 1.1 AMD 3311
Pokémon Sword Download 1.1 AMD 26042
Pokémon Violet 3.0.1 (with DLCs) Vulkan 1.1 NVIDIA 7637
Super Mario 3D World + Bowser's Fury Download 1.1 NVIDIA 3634
Super Mario Bros. Wonder Download 1.1 NVIDIA 4169
Super Mario Bros. Wonder Download 1.1 AMD 4119
Super Mario Bros. Wonder Download 1.1 Intel 7773
Super Mario Odyssey Download 1.1 NVIDIA 14040
Super Mario RPG Download 1.1 Apple 822
Super Smash Bros. Ultimate Download 1.1 NVIDIA 22425
Super Smash Bros. Ultimate Download 1.1 AMD 37892
Super Smash Bros. Ultimate Download 1.1 NVIDIA 22425
The Legend of Zelda: Echoes of Wisdom Download 1.1 AMD 4445
The Legend of Zelda: Echoes of Wisdom Download 1.1 NVIDIA 4518
Master Detective Archives: Rain Code Download 1.1 AMD 4085
Xenoblade Chronicles 2 Download 1.1 NVIDIA 4517

Dump from defunct RyuSAK servers. Have in mind that some shaders might be broken (such as Mario Kart 8).

Avoid re-uploading these shaders to the list above.

NOTE: Yuzu is no longer being maintained and shutdown their services (including all repositories) because of legal troubles.

Right click the game in Yuzu's game list and click Open Transferable Pipeline Cache and copy/paste the .bin file.

Current shader version is 11 (2024/1/27). Use version 1659 and below to get shader version 10[7]
Yuzu build 1644

Game Link(s) Shader Version Shader Count
Crash Team Racing Nitro-Fueled Vulkan 5 954
Donkey Kong Country: Tropical Freeze Vulkan 5 1084
Fire Emblem Three Houses OpenGL 5 247
Hyrule Warriors: Age of Calamity Vulkan 10 1162
Luigi's Mansion 3 OpenGL 5 1015
Vulkan 5 1946
Kirby and the Forgotten Land Vulkan 11 37354
Kirby Return to Dream Land Deluxe Vulkan 11 33055
LEGO Harry Potter Collection Vulkan 5 3181
Mario & Sonic at the Olympic Games Tokyo 2020 Vulkan 5 545
Mario Kart 8 Deluxe Vulkan 10 7843
Metroid Dread Vulkan 5 490
Metroid Prime Remastered Vulkan 10 2323
New Super Mario Bros. U Deluxe Vulkan 5 1308
Nickelodeon Kart Racers Vulkan 5 437
Pokemon Shield Vulkan 5 13169
Super Mario 3D World + Bowser's Fury Vulkan 5 7178
Super Mario Bros. Wonder Vulkan 10 17531
Super Mario Odyssey Vulkan 5 28852
Super Smash Bros. Ultimate OpenGL 5 11803
Vulkan 10 14529
The Legend of Zelda: Breath of the Wild Vulkan 10 52239
The Legend of Zelda: Tears of the Kingdom Vulkan 11 54945
Xenoblade Chronicles 2: Torna Vulkan 5 19369
Xenoblade Chronicles 2 Vulkan 11 4000
Xenoblade Chronicles 3: Future Redeemed Vulkan 10 55000

See also

[edit | edit source]

References

[edit | edit source]