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

GS/Vulkan: Use dynamic rendering instead of render passes #11179

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

stenzek
Copy link
Member

@stenzek stenzek commented May 3, 2024

Description of Changes

Since VK_KHR_dynamic_rendering_local_read is a thing now, we can use dynamic rendering and still have our feedback loops.

I'm mainly PRing this since it's a different approach that may help with the RDNA3 crashes. I don't have a RDNA3 GPU, so I have no idea if it does or not.

If it does help with RDNA3, then I'll re-add a render pass fallback path for Kepler and Polaris, since it doesn't support the local read extension, and we'd lose Vulkan support for those GPUs otherwise. But if it doesn't, it's potentially not worth bothering with this change in the first place.

Rationale behind Changes

~10% lower CPU usage on GS thread in barrier-heavy situations.

Suggested Testing Steps

Check RDNA3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies Pull requests that update a dependency file GS: Vulkan GS Hold Merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant