Vulkan Shader Cache/Precompiled Database #600

Open
jackchentwkh opened this Issue Jul 15, 2016 · 5 comments

Projects

None yet

5 participants

@jackchentwkh
jackchentwkh commented Jul 15, 2016 edited

Currently some games are playable but with graphical glitches, most of those graphical issues are related to HLSL to SPIR-V translation. And the translation also takes meaningful time which results in a lag up to minutes or even longer.

The wii emulator Dolphin introduced a shader database, when a game was played, a translated shader was stored in the database, so when you play the game again the emulator will pickup the translated shader from the database which saves the CPU time and reduce the lag.

I hope that xenia can someday implement this shader database to reduce the lags introduced by shader translation. Together with the shader dump function, maybe we can refine the shader play ground, so for those mistranslated shaders, user can manually check the source shader and the translated SPIR-V shader, then modify the errors by hand editing or by 3rd party tools and then run xenia again to see whether the modified shader's result.

with this approach, we could improve the xenia's performance, and debug/improve the shader translation via those errors we picked up in the process.

anyone with me?

@DrChat
Collaborator
DrChat commented Jul 21, 2016

A shader cache is already implemented in the OpenGL backend, and a Vulkan implementation is to come.

@DrChat DrChat added the gpu label Jul 21, 2016
@DrChat DrChat changed the title from Shader cache/precompiled database possible? to Vulkan Shader Cache/Precompiled Database Jul 21, 2016
@RenegadeSaiyan

The better question is, will AMD ever git gud Open GL drivers?

@RenegadeSaiyan

Because right now Xenia is crap on AMD

@hekar
hekar commented Jul 24, 2016 edited

@RenegadeSaiyan It has been said numerous times. There's no point in supporting OpenGL in the future. Vulkan will be the only supported API.

AMD stated they will not support anything pre-GCN (there is a possibility that the open source Linux driver could see support for older cards in 2 - 3 years, provided Mesa catches up.)

NVIDIA stated they will not support the 500 and 400 series, because there was a lack of interest from customers.

If you want you want your video card manufacturer to support Vulkan, then contact them.

Edit: do not assume that simply having Vulkan support means the GPU will work efficiently with Xenia. Emulating an Xbox 360 is difficult to say the least.

@Gamedev1909

AMD supports OpenGL 4.5 and new drivers are ADDING ARB extentions also so all good for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment