-
Notifications
You must be signed in to change notification settings - Fork 603
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
Vulkan: Make scaling shaders compatible + fixes #1392
base: main
Are you sure you want to change the base?
Conversation
this makes the shader consistent with hermite and fixes the wrong offset
makes the shader look a lot better and less pixelated
Undoes previous change where it would always use linear, like OpenGL does for DrawBackBuffer. This allows GetDefaultTextureSampler to remain somewhat generic, even though it's only used for DrawBackBufferQuad right now.
- Make textureSrcResolution the actual resolution of the textureSrc sampler image This reflects the expectations of graphic pack creators - Rename inputResolution to nativeResolution which is the non-overriden size Not sure if this is useful, but it's there already so let's not remove it. - Change SetUniformParameters to use lambda expression
do you have plan to support spir-v directly ? |
After merging this some users might be confused about why their image quality suddenly changed. So I wonder if we should force-reset to bilinear as part of this PR? It would unfortunately also reset the scaling options on OpenGL but that might be the lesser evil. |
Considering people already convinced themselves that hermite looks better than bilinear when it wasn't even implemented I don't think it's that big of a deal. You have to really pixel peep to tell the difference. I think it would probably be equally or slightly more confusing if a user remembered their settings and saw that they changed on their own. |
Did some more comparisons and yeah it's probably fine. Hermite starts looking bad for really large upscale factors, but thats beyond what anyone would reasonably run into. |
Make built-in scaling shaders compatible with vulkan and incorporate the fixes from #879
Changes for graphic pack developers
textureSrcResolution
is now the actual resolution of the textureSrc sampler.inputResolution
has been replaced bynativeResolution
and gives the resolution that the game would render at without graphic pack overrides.Full preamble (as of writing) for reference
Cemu/src/Cafe/HW/Latte/Renderer/RendererOuputShader.cpp
Lines 287 to 302 in e2e9e81