-
-
Notifications
You must be signed in to change notification settings - Fork 780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
shader_recompiler: Add swizzle support for unsupported formats. #1869
base: main
Are you sure you want to change the base?
Conversation
Draft until render targets also supported. |
Added in render target swizzles, still needs testing. |
In DW 8 XLCE [CUSA00365] [Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:478: Compiling fs shader 0xe88da41da59d9ad3 when game tries to render models and many messages like shaderBinarySize -1 is not equal [Lib.SysModule] sysmodule.cpp:sceSysmoduleUnloadModule:86: (STUBBED) called But this has been also in previous builds, maybe you know anything about this? |
495e968
to
070c4af
Compare
cbe1905
to
11eb741
Compare
Adds in implicit format and swizzle remapping in sharps for formats that are not commonly supported by graphics APIs but can be trivially supported by swapping components. This was the simplest way I arrived at to accomplish this for both non-storage image views and storage swizzles done within the shader, without introducing additional Vulkan-specific code inside the general AMDGPU resource and shader code. I've also left the door open here to remapping number formats, which can then be reinterpreted to the correct format in the shader.
For now this just remaps
Format11_11_10
toFormat10_11_11
since the former is not supported by Vulkan.Needs testing with a game that uses this format.