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

Vulkan: Add missing barrier between multiple passes to the same target. #12224

Merged
merged 2 commits into from
Aug 8, 2019

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented Aug 8, 2019

Games are sometimes a bit silly and render a bit to one target, a bit to another, then go back and render more to the first. We need to tell Vulkan that there's a sequential dependency, otherwise the driver might try to execute the passes concurrently or out of order. ARM Mali notably does this in newer driver versions.

Fixes #12215.

There's also potential here for increasing performance by merging passes.

@hrydgard hrydgard added this to the v1.9.0 milestone Aug 8, 2019
@hrydgard hrydgard merged commit 59712ee into master Aug 8, 2019
@hrydgard hrydgard deleted the vulkan-barrier-fixes branch August 8, 2019 14:02
@Deivmsr
Copy link

Deivmsr commented Aug 8, 2019

Thank you very much hrydgard.

@hrydgard
Copy link
Owner Author

hrydgard commented Aug 9, 2019

This turned out to also fix a flicker issue in Star Wars: Force Unleashed. And probably more.

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

Successfully merging this pull request may close these issues.

God of War Ghost of Sparta screen flickering in Vulkan
2 participants