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 support #49

Open
ompadu opened this issue Jan 19, 2021 · 10 comments
Open

Vulkan support #49

ompadu opened this issue Jan 19, 2021 · 10 comments

Comments

@ompadu
Copy link

ompadu commented Jan 19, 2021

Hi, I looked over at the trello wip and was wondering what are the current plans regarding completing the Vulkan backend.
Thank you

@polymonster
Copy link
Owner

polymonster commented Jan 19, 2021

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

@ompadu
Copy link
Author

ompadu commented Jan 19, 2021

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.

@polymonster
Copy link
Owner

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.

@ompadu
Copy link
Author

ompadu commented Jan 20, 2021

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.

@polymonster
Copy link
Owner

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.

@ompadu
Copy link
Author

ompadu commented Jan 20, 2021

I'll set up a testing environment with a newer Vulkan SDK, see if that's why they crash. Most likely next weekend.

@ompadu
Copy link
Author

ompadu commented Aug 2, 2021

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.

@ompadu
Copy link
Author

ompadu commented Aug 4, 2021

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.

@polymonster
Copy link
Owner

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.

@ompadu
Copy link
Author

ompadu commented Aug 5, 2021

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.

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

No branches or pull requests

2 participants