Skip to content
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 generation: Start sharing some parts between backends #13551

Closed
wants to merge 10 commits into from

Conversation

hrydgard
Copy link
Owner

I plan to add some new capabilities to shader blend replacement, to fix some issues with masking for example (I think I'll be able to solve Outrun's car reflection color, for example). To be able to only (mostly) do these changes in one place, I here split out that part from all the shader generators so it can be shared between them.

This requires injecting a few compatibility defines and renaming some uniforms, but I think it'll be worth it.

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Oct 17, 2020
@hrydgard hrydgard added this to the v1.11.0 milestone Oct 17, 2020
@hrydgard
Copy link
Owner Author

hrydgard commented Oct 19, 2020

Got a bit scared of breakage here, so made a brute force shader generator verifier (D3D11/Vk only since they have offline compilers that don't need an active device) and added to the unit test project. It found some bugs and might find more once I add the various GLSL and D3D9 paths...

@hrydgard
Copy link
Owner Author

hrydgard commented Oct 21, 2020

I've decided to approach this from the other direction: First get the shader generator test in, which will require some mild surgery in the GLSL generation due to the insane variety of shader language versions it supports. And only then start refactoring. This should minimize the risk of breakage properly. All the work here will be reused then, of course.

@hrydgard hrydgard closed this Oct 21, 2020
@hrydgard hrydgard removed this from the v1.11.0 milestone Oct 21, 2020
@hrydgard hrydgard deleted the shader-refactor branch November 1, 2020 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GE emulation Backend-independent GPU issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant