5 ms·
> Mesa 3D - driver library that provides open source driver (mostly copy of AMD-VLK) Wrong, wrong, very wrong. No copy here. Mesa's RADV was developed complete
by floatboth 5y ago
> Mesa 3D - driver library that provides open source driver (mostly copy of AMD-VLK)
Wrong, wrong, very wrong. No copy here. Mesa's RADV was developed completely independently from AMD, in fact it predates the public release of AMDVLK. It's also possibly the best Vulkan implementation out there. Valve invested heavily in the ACO compiler backend, so it compiles shaders both very well and very quickly.
- mhh__ 5y ago(Thank you valve!)
- MayeulC 5y agoValve is contributing quite a bit, with their ACO compiler for instance, but the RADV driver did not in fact originate with them. We owe a great deal to David Airlie for that. He wrote a complete vulkan driver years before AMD released the source code for AMDVLK. Valve started contributing a few years in, IIRC. To AMD's credit, they did help with documentation, questions, and much of the work was built on top of what was there for RadeonSI (OpenGL): shader compiler back-end, etc. https://www.phoronix.com/scan.php?page=news_item&px=RADV-Radeon-Vulkan-Driver https://www.phoronix.com/scan.php?page=news_item&px=RADV-Rad... -> https://airlied.livejournal.com/81460.html https://airlied.livejournal.com/81460.html
- MayeulC 5y agoNot to mention that there is much more to Mesa than RADV. Gallium3D and state trackers, RadeonSI and a few other drivers (Apple M1, Qualcomm Adreno, Broadcom, Mali) to only name these. The status of some drivers is tracked here: https://mesamatrix.net/ https://mesamatrix.net/
- Jasper_ 5y agoNote that a lot of the Gallium3D architecture is designed for the stateful APIs like OpenGL. Very little of it is used in the Vulkan drivers.
- MayeulC 5y agoAh, yes. Gallium is itself a bit like Vulkan IIRC, though a bit higher level. There are state trackers for OpenGL, D3D9-10, OpenCL, and probably others. I guess one could make a Vulkan "state tracker", but it might not be efficient. Gallium can be used on top of bare metal, but also CPU (LLVMpipe/OpenSWR), Vulkan trough zink, or now D3D12 thanks to Microsoft's recent work. https://docs.mesa3d.org/drivers/zink.html https://docs.mesa3d.org/drivers/zink.html
- MayeulC 5y agoLooks like they fixed the mistake, and improved the description a lot. The description could still be improved, and I started commenting on how it could, but I realize this would warrant its own blog post.