Shader caches

From Emulation General Wiki
Jump to navigation Jump to search

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 wont be shown. Another approach is to cache the raw shader pipeline of the system and then use that to compile the shaders before the game even starts. The only drawback here is that someone has to play through the game once to 'build' a cache that can be used by others.

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

Note: Please compress your shader caches with 7zip or Winrar before uploading them.

Cemu[edit]

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.

Current shader version is 150, but Cemu is backwards-compatible from version 149 (Cemu version 1.7.0, 2017/05/16) Cemu 1.25.0+ is not backwards compatible with any prior transferable cache.

Game Link(s) Shader Version Shader Count
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 4212
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
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 Wolly World Download 149 5002

RPCS3[edit]

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

Current shader version is v1.92 (2021/06/27)[1]

Game Link(s) Shader Version Shader Count Renderer Notes
Demon's Souls Download v1.91 599 Vulkan Incomplete
Ratchet and Clank: Tools of Destruction Download v1.91 1075 Vulkan
Ratchet and Clank: Quest for Booty Download v1.91 660 Vulkan
Ratchet and Clank Collection Ratchet and Clank
Going Commando
Up Your Arsenal
Deadlocked
v1.91 100
106
122
147
Vulkan

Xenia[edit]

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

Current shader version is 20210425[2]

Game Link(s) Shader Version Renderer Notes
Ace Combat 6 Download 20201219 DX12 ROV First couple levels

Citra[edit]

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

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

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 3265
The Legend of Zelda: Ocarina of Time 3D Download 1 426
The Legend of Zelda: Majora's Mask 3D Download 1 2211

Ryujinx[edit]

Right click the game in ryujinx's game list, Cache Management > Open Shader Cache Directory and copy/paste the guest folder.

Current shader version is 2469 (2021/07/12)[4]

Emusak is a tool to automatically download and share shader caches for Ryujinx.


yuzu[edit]

Put files in <user>\shader\*opengl* or *vulkan*\transferable\

Current shader version is 21 (2020/06/04)[5]

Game Link(s) Shader Version Shader Count
Animal Crossing: New Horizons OpenGL 21 2830
ARMS OpenGL 21 2734
Astral Chain OpenGL 21 567
Brigandine: Legend of Runesaria OpenGL 21 447
Captain Toad Treasure Tracker OpenGL 21 1793
CTR Nitro-Fueled OpenGL 21 435
Fire Emblem Three Houses OpenGL 21 317
OpenGL Hades 247
Hyrule Warriors: Definitive Edition OpenGL 21 367
Hyrule Warriors: Age of Calamity Vulkan Hades 2233
Kirby Star Allies OpenGL 21 8553
Luigi's Mansion 3 OpenGL 21 1192
OpenGL Hades 1015
Mario & Sonic at the Olympic Games Tokyo 2020 OpenGL 21 346
Mario Kart 8 Deluxe OpenGL 21 4596
Mario Tennis Aces OpenGL 21 2414
New Super Mario Bros. U Deluxe OpenGL 21 639
Paper Mario: Origami King OpenGL 21 4483
Pokemon Sword & Shield OpenGL 21 14165
Splatoon 2 OpenGL 21 2563
Super Mario 3D World + Bowser's Fury OpenGL 21 4520
Super Mario Odyssey OpenGL 21 10040
Vulkan Hades 9348
Super Smash Bros. Ultimate OpenGL 21 19300
OpenGL Hades 11803
Vulkan Hades 16862
The Legend of Zelda: Link's Awakening OpenGL 21 2666
Xenoblade Chronicles: Definitive Edition OpenGL 21 8350

References[edit]