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

OGL: Fall back to the old dual-source blending behaviour. #4402

Merged
merged 3 commits into from Oct 31, 2016

Conversation

CrossVR
Copy link
Contributor

@CrossVR CrossVR commented Oct 29, 2016

This allows us to still use dual-source blending in cases where it is required for accurate emulation and not just for small precision enhancements where it could crash some driver.

I also added OS X Intel to the bug, as those drivers seem to be affected by a similar bug. The OS X Nvidia drivers are not affected. I've tested it on my own MacBook Pro and confirmed this PR works correctly.


This change is Reviewable

@ligfx
Copy link
Contributor

ligfx commented Oct 29, 2016

I appreciate the enthusiasm to get this fixed :) I'd like to talk about this some more. I've heard a lot about how much better dual-source blending is, will turning it off on OSX lead to a performance hit?

If so, I'm still interested in a solution like #4397, which would let us keep dual-source turned on. We could probably come up with some numbers to better quantify "compiling a bunch of extra shaders:" in the FIFO log I've been testing, for example, only 1/28 shaders is used both with dual-source blending and normal blending, and on a short run of Super Mario Sunshine I'm seeing 11/192 shaders get used with both options (tracking from ProgramShaderCache::SetShader, which seems like the right place to do so).

@CrossVR
Copy link
Contributor Author

CrossVR commented Oct 29, 2016

@ligfx This doesn't turn off dual-source blending, it just doesn't use it for minor blending precision anymore on drivers that can't handle it correctly. Dual-source blending is still used in cases where the feature is required for proper emulation.

@ligfx
Copy link
Contributor

ligfx commented Oct 29, 2016

@Armada651 So no performance hit?

@CrossVR
Copy link
Contributor Author

CrossVR commented Oct 29, 2016

@ligfx No performance hit, just some minor color differences invisible to the naked eye.

@ligfx
Copy link
Contributor

ligfx commented Oct 29, 2016

Okay great! Thanks for answering my questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants