-
Notifications
You must be signed in to change notification settings - Fork 831
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
[d3d9] Fix issues with presentation #3392
Conversation
imho using const const bool swapEffectCopy = m_presentParams.SwapEffect == D3DSWAPEFFECT_COPY || m_presentParams.SwapEffect == D3DSWAPEFFECT_COPY_VSYNC; |
I wrote a test application to figure out how this is supposed to behave:
|
3251f21
to
4e6f76f
Compare
FWIW, I tested Zusi 3 with your latest patches applied on top of master, and it seems to work without issues. 🐸 Zusi 3 needed the noExplicitFrontBuffer config because it uses DISCARD swapeffect & 1 backbuffer. Thanks for working to get rid of that noExplicitFrontBuffer hack! Edit: Still works on latest patches without the frontbuffer blit (b5f03a8) |
Tested FlexRadio SmartSDR, which is a WPF app that has absolutely horrible performance with regular wine and broken (mostly black) display with dxvk 2.1 and master. This build makes it run just like it does on wined3d — visually correct, but near-unusably slow. I guess it was too much to hope for a magic fix :) |
Yes this implementation is expected to be slow |
2ce9ee8
to
b5f03a8
Compare
First round of testing based on most of the maybe Partial Present tracked issues #2732 Fixed |
@K0bin Do you want to add all of these issues to your commit with a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nits.
The very first bug report about the front buffer stuff might have been #1368, which this PR fixes properly instead of special-casing the workaround, so if you want to add it to the super long |
- Blit the backbuffer contents into the frontbuffer, so GetFrontBufferData returns the expected data- ReplacenoExplicitFrontBuffer
with that frontbuffer blit (this needs testing)Fixes #2732
Fixes #2240
Fixes #2568
Fixes #3238
Fixes #1476
Fixes #1481
Fixes #2456
Fixes #2542
Fixes #3005
Fixes #3208
Fixes #3238
Fixes #3206
Fixes #3141
Fixes #3250
Fixes #1554
Fixes #2756
Fixes #2915
Closes #2749