pmtech
pmtech copied to clipboard
Vulkan support
Hi, I looked over at the trello wip and was wondering what are the current plans regarding completing the Vulkan backend. Thank you
Hi,
I haven't worked on Vulkan for a little while because I didn't have a PC and was just running on Mac. I'm back up and running now so was going to look at Vulkan again although I don't have any concrete timelines but I did want to complete the Vulkan backend this year sometime.
Quite a lot of the samples already work, some have some validation errors but work OK and there are some missing features like MSAA resolving, mip map generation and so on but a lot of the core stuff is working, The CI is currently broken because of the Vulkan SDK installation on build agents, but everything should compile on windows if you have the Vulkan SDK.
If you want to use it or contribute to it feel free to create a fork and send PR's
Thank you for the quick reply :)
It seems the Vulkan backend is further along than I realized. I've build all of the samples but every one I tried to run crashed on startup. I'll take a closer look at them.
Ok if they are crashing I will take a look at them this weekend as well just to make sure they are running on my PC and refresh my memory as to what the status is of everything.
The ones build with the default backend for win32 worked, so I assumed that the win32-vulkan ones were crashing because that backend might have been only a stub (which I learned is not the case).
I am using Vulkan 1.1.121.2
which is a bit old. Does pmtech
have a minimum Vulkan version requirement?
For example basic_triangle
is crashing at renderer_vulkan.cpp:1178
vkGetPhysicalDeviceSurfaceFormatsKHR(_ctx.physical_device, _ctx.surface, &num_formats, nullptr);
with the output:
Exception thrown at 0x00007FF83A205C6D (vulkan-1.dll) in basic_triangle_d.exe: 0xC0000005: Access violation writing location 0x0000000000000000.
Yeah I am not seeing that, I am using SDK 1.2.162 basic_triangle is working fine for me. It seems like it could be an SDK issue or a driver issue on your end.
I'll set up a testing environment with a newer Vulkan SDK, see if that's why they crash. Most likely next weekend.
A million years later I found time to setup Vulkan 1.2.182.0
and try to run the samples. They are still crashing even with this SDK version.
After installing the Vulkan Runtime from LunarG's site it seems that many of the examples including basic_triangle
are running. Some do not work as expected and some crash due to thrown exceptions and failed assertions, but i think that was to be expected.
Yeah I use the SDK installed from LunarG. It is expected that some samples don't work... I don't know if/when I will get round to fixing them up. If you want to fix any of them yourself I will happily take pull requests.
I was using the LunarG Vulkan SDK
since the beginning. What was different this time, is that I installed the LunarG Vulkan Runtime
as well, which seemingly overwrote the vulkan-1.dll
from System32. I don't know if the previous vulkan-1.dll in System32 was from a runtime i've installed in the past or from the AMD driver, but it was responsible for the crash.
I wouldn't mind helping out, but i have only basic knowledge about Vulkan.