Editing Shader caches
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | 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 once to 'build' a cache that can be used by others. | |
− | |||
− | |||
− | |||
− | 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 | ||
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. | 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. | |
==[[Cemu]]== | ==[[Cemu]]== | ||
Put files in <code><cemuFolder>\shaderCache\transferable\</code> | Put files in <code><cemuFolder>\shaderCache\transferable\</code> | ||
− | 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 | + | 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. |
+ | |||
The current shader version is '''150''', but Cemu is backward-compatible from version '''149''' (Cemu version 1.7.0, 2017/05/16) | 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. | Cemu 1.25.0+ is not backward-compatible with any prior transferable cache. | ||
Line 176: | Line 171: | ||
Put the raw and pipeline folders in <code><RPCS3Folder>\cache\<gameSerial>\ppu-<hash>-EBOOT.BIN\shaders_cache\</code> | Put the raw and pipeline folders in <code><RPCS3Folder>\cache\<gameSerial>\ppu-<hash>-EBOOT.BIN\shaders_cache\</code> | ||
− | Current shader version is v1.94 (2022/12/11)<ref>[https://github.com/RPCS3/rpcs3/blob/master/rpcs3/Emu/RSX/VK/VKGSRender.cpp# | + | Current shader version is v1.94 (2022/12/11)<ref>[https://github.com/RPCS3/rpcs3/blob/master/rpcs3/Emu/RSX/VK/VKGSRender.cpp#L513 RPCS3's shader version source on Github]</ref> |
{| class="wikitable" style="text-align:center;" | {| class="wikitable" style="text-align:center;" | ||
Line 187: | Line 182: | ||
! scope="col"|'''Renderer''' | ! scope="col"|'''Renderer''' | ||
! scope="col"|'''Notes''' | ! scope="col"|'''Notes''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|Ratchet and Clank: A Crack in Time | |Ratchet and Clank: A Crack in Time | ||
Line 222: | Line 196: | ||
|Vulkan | |Vulkan | ||
| | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 257: | Line 211: | ||
! scope="col"|'''Renderer''' | ! scope="col"|'''Renderer''' | ||
! scope="col"|'''Notes''' | ! scope="col"|'''Notes''' | ||
+ | |- | ||
+ | |Ace Combat 6 | ||
+ | |[https://www.mediafire.com/file/kef3lw048calycg/AC6_Xenia_cache.7z/file Download] | ||
+ | |<abbr title="2020/12/19 - 2021/04/25">20201219</abbr> | ||
+ | |DX12 ROV | ||
+ | |First couple levels | ||
|- | |- | ||
|Lost Odyssey | |Lost Odyssey | ||
|[https://www.mediafire.com/file/wkjg0bpagkc7u2i/LostOdysseyXenia2.zip/file Download] | |[https://www.mediafire.com/file/wkjg0bpagkc7u2i/LostOdysseyXenia2.zip/file Download] | ||
− | |20220720 | + | |<abbr title="20220720">20220720</abbr> |
|DX12 ROV | |DX12 ROV | ||
|100% Full Playthrough (Discs 1-4) | |100% Full Playthrough (Discs 1-4) | ||
Xenia Canary Build December 25 2022 (9f0d3d4) | Xenia Canary Build December 25 2022 (9f0d3d4) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|Gears of War 3 | |Gears of War 3 | ||
|[https://www.mediafire.com/file/6nt15znflol7uc7/GOW3_Xenia.rar/file Download] | |[https://www.mediafire.com/file/6nt15znflol7uc7/GOW3_Xenia.rar/file Download] | ||
− | | | + | |<abbr title="20230217">20230217</abbr> |
|DX12 ROV | |DX12 ROV | ||
|Full Playthrough | |Full Playthrough | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 335: | Line 271: | ||
|- | |- | ||
|Super Smash Bros. 3DS | |Super Smash Bros. 3DS | ||
− | |[https://www.mediafire.com/file/ | + | |[https://www.mediafire.com/file/9avtz26uq404ghc/SSB3DS_Citra_cache.7z/file Download] |
|1 | |1 | ||
− | | | + | |3265 |
|- | |- | ||
|The Legend of Zelda: Ocarina of Time 3D | |The Legend of Zelda: Ocarina of Time 3D | ||
Line 348: | Line 284: | ||
|1 | |1 | ||
|2211 | |2211 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
==[[Ryujinx]]== | ==[[Ryujinx]]== | ||
− | Right click the game in | + | Right click the game in ryujinx's game list, Cache Management > Open Shader Cache Directory and copy/paste the guest folder. |
− | + | '''[https://github.com/Ecks1337/RyuSAK/releases Ryusak] is a tool to automatically download and share shader caches for Ryujinx.''' | |
− | + | ==[[yuzu]]== | |
− | + | Right click the game in yuzu's game list and click <code>Open Transferable Pipeline Cache</code> and copy/paste the .bin file. | |
− | Current shader version is | + | Current shader version is '''10''' (2023/1/11). <ref>[https://github.com/yuzu-emu/yuzu/blob/master/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp#L56 Vulkan] and [https://github.com/yuzu-emu/yuzu/blob/master/src/video_core/renderer_opengl/gl_shader_cache.cpp#L52 OpenGL] shader version source on Github</ref> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable" style="text-align:center;" | {| class="wikitable" style="text-align:center;" | ||
Line 514: | Line 318: | ||
|5 | |5 | ||
|247 | |247 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|Kirby and the Forgotten Land | |Kirby and the Forgotten Land | ||
Line 545: | Line 344: | ||
|- | |- | ||
|Mario Kart 8 Deluxe | |Mario Kart 8 Deluxe | ||
− | |[https://www.mediafire.com/file/ | + | |[https://www.mediafire.com/file/d0mmobhhjha3fjb/Mario_Kart_8_Vulkan_shaders.rar/file Vulkan] |
− | | | + | |5 |
− | | | + | |6130 |
|- | |- | ||
|Metroid Dread | |Metroid Dread | ||
Line 568: | Line 367: | ||
|5 | |5 | ||
|437 | |437 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|Pokemon Shield | |Pokemon Shield | ||
Line 583: | Line 377: | ||
|5 | |5 | ||
|7178 | |7178 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|Super Mario Odyssey | |Super Mario Odyssey | ||
Line 599: | Line 388: | ||
|11803 | |11803 | ||
|- | |- | ||
− | + | |[https://www.mediafire.com/file/8wceutnahk4x59b/SSBU+yuzu+vulkan+cache.7z/file Vulkan] | |
− | + | |5 | |
− | + | |16862 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |[https://www.mediafire.com/file/ | ||
− | | | ||
− | | | ||
|- | |- | ||
|Xenoblade Chronicles 2: Torna | |Xenoblade Chronicles 2: Torna |