-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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: Update Vulkan headers, VulkanMemoryAllocator #12875
Vulkan: Update Vulkan headers, VulkanMemoryAllocator #12875
Conversation
Thanks for doing this. Would you mind updating the vulkan headers to a submodule of the repo you have linked instead of updating them manually? |
It has come to my attention the SDL library has its own copy of the vulkan headers. The good news is dolphin already has configured SDL as a submodule and the SDL Dev team updated the vulkan headers five months ago. Should I worry? Should the SDL be updated as well? My gut tells me to do it in a separate PR if necessary. |
Windows still uses MSBuild projects (and not CMake,) so you'll have to update this section as well: dolphin/Source/VSProps/Base.Dolphin.props Line 17 in 21ab26d
|
No idea about this one, that feels like an upstream issue?
|
Are you sourcing from the tags or main? Would definitely suggest sourcing from the latest tag and referencing it in your commit message |
I am referencing the latest tag |
Yeah, its an unused function they left there... |
That's good too. I was referring to the Vulkan headers submodule though. Latest tag there is v1.3.288 |
You are absolutely right. Good catch. Vulkan-Headers are now on tag |
Tested on Android on Zelda Wind Waker: Before 25-27 fps and after 27-30 fps |
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.
Code LGTM. Tested on Windows.
I am getting stable 29.9 fps on rpi5 at native res, default settings. I am getting stable 29.9 fps in menus, 16-ish fps on scenes at 2x native res, default settings. Color me impressed. |
The commit history here is a bit of a mess so I feel like we should clean this up before merging... |
My suggestion @luiscondesdi would be one commit for the VMA update and one commit for the Vulkan headers (migration + turn to submodule). Thanks again for doing this! |
e7e87ec
to
2b0d3d5
Compare
5ebd94f
to
3f64031
Compare
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.
Yup, looks good now.
As part of my investigations on why Vulkan backend rendering via hardware for the Raspberry Pi 5 was not working in master latest I stumbled upon this VulkanMemoryAllocator issue. I checked on
Core/VideoBackends/Vulkan/StagingBuffer.cpp
and in RPi5 VMA was indeed having trouble allocating memory whenVMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT
was requested.This PR updates the submodule to tag
v3.1.0
of VulkanMemoryAllocator and as per @Xphalnos request at #12821, the vulkan headers to tagv1.3.288
from https://github.com/KhronosGroup/Vulkan-Headers. This resolves the issue for Raspberry Pi 5, potentially also fixes this same issue for Raspberry Pi 4 and does not modify dolphin emulator code.I preserve a branch with only the VMA update just in case it is preferred to do just that (as it also solves the issue).