Experimental Code Gets Open-Source Mesa RADV Vulkan Driver Running On Windows
([Radeon] 15 Minutes Ago
RADV On Windows)
- Reference: 0001476844
- News link: https://www.phoronix.com/news/Experimental-RADV-Windows
- Source link:
Over the years there have been various attempts at [1]getting the open-source RADV Vulkan driver on Windows , Faith Ekstrand of Collabora has been recently hacking on it and achieving success for having this popular Radeon Vulkan API driver for Linux working under Windows.
Faith recently opened up a Mesa merge request providing Vulkan WDDM2 (Windows Display Driver Model 2.0) device support. The focus has been around enabling RADV on Windows -- RADV being the driver backed by Valve and the other open-source community as an alternative to AMD's official AMDVLK driver. Faith explains in that still-open [2]merge request :
"This is a placeholder MR to hold a few patches from my RADV branch and maybe get some discussion going. As with everything in the runtime, I'm trying to take a light approach at first. So far, this branch just has WDDM2 device enumeration and support for a new vk_sync type for WDDM2 monitored fences.
For device enumeration, I added a vk_wddm2_adapter_info struct which gets populated with a couple of common queries that are available starting with WDDM 2.0. This gives the driver the PCI info so that it can quick-reject the adapter before actually cloning its own handle and doing any additional queries. It's unclear how much of this we want in common Vulkan code and how much we should just tell drivers to call D3DKMTQueryAdapterInfo() themselves. For now, I went with roughly the same information as is in drmDevice."
These Vulkan WDDM2 bits in current form just amount to over 800 lines of new code.
Ekstrand then shared on [3]Mastodon a Vulkan code sample running on the RADV driver under Windows.
Nice work! It will be interesting to see how far this work goes and how fruitful it will be as well as ultimately how well RADV performs on Windows relative to the official AMD Radeon Software Vulkan driver.
[1] https://www.phoronix.com/news/Mesa-Build-RADV-On-Windows
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29945
[3] https://mastodon.gamedev.place/@gfxstrand/112679926724151376
Faith recently opened up a Mesa merge request providing Vulkan WDDM2 (Windows Display Driver Model 2.0) device support. The focus has been around enabling RADV on Windows -- RADV being the driver backed by Valve and the other open-source community as an alternative to AMD's official AMDVLK driver. Faith explains in that still-open [2]merge request :
"This is a placeholder MR to hold a few patches from my RADV branch and maybe get some discussion going. As with everything in the runtime, I'm trying to take a light approach at first. So far, this branch just has WDDM2 device enumeration and support for a new vk_sync type for WDDM2 monitored fences.
For device enumeration, I added a vk_wddm2_adapter_info struct which gets populated with a couple of common queries that are available starting with WDDM 2.0. This gives the driver the PCI info so that it can quick-reject the adapter before actually cloning its own handle and doing any additional queries. It's unclear how much of this we want in common Vulkan code and how much we should just tell drivers to call D3DKMTQueryAdapterInfo() themselves. For now, I went with roughly the same information as is in drmDevice."
These Vulkan WDDM2 bits in current form just amount to over 800 lines of new code.
Ekstrand then shared on [3]Mastodon a Vulkan code sample running on the RADV driver under Windows.
Nice work! It will be interesting to see how far this work goes and how fruitful it will be as well as ultimately how well RADV performs on Windows relative to the official AMD Radeon Software Vulkan driver.
[1] https://www.phoronix.com/news/Mesa-Build-RADV-On-Windows
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29945
[3] https://mastodon.gamedev.place/@gfxstrand/112679926724151376
phoronix