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

Closed
wants to merge 2 commits into from

Conversation

stenzek
Copy link
Contributor

@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.

@github-actions github-actions bot added GS Dependencies Pull requests that update a dependency file GS: Vulkan labels May 3, 2024
@stenzek stenzek closed this by deleting the head repository Jul 15, 2024
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