3 ms·
Isn't this the idea of Gallium3D (part of the MESA project)? You write one driver and have support for Vulkan, OpenGL, etc.
by est31 6y ago
Isn't this the idea of Gallium3D (part of the MESA project)? You write one driver and have support for Vulkan, OpenGL, etc.
- david-gpu 6y agoIn terms of achieving a certain level of functionality, you can do that, but the additional abstraction you add into your software stack translates into poorer performance and additional complexity. It's a trade-off. Source: worked on GPU drivers for over a decade and had to make decisions like that.
- codetrotter 6y agoThis may be a weird question and probably not your call but, since you work for Nvidia and you mentioned having worked on GPU drivers I would be curious to know something I have been wondering for a long while, namely 1) how come the Nvidia drivers for FreeBSD don’t support CUDA, and more importantly 2) what would it take for CUDA support in Nvidia drivers for FreeBSD to happen? Apologies in advance if this is asking questions that you are not allowed to comment on.
- david-gpu 6y agoI've never worked on drivers at NVidia, so on the one hand I don't know the answer, but I can speculate with an educated guess. Porting, testing and providing ongoing support for an OS is very costly. If there's not enough customer demand for it, it won't be done because it doesn't make business sense.
- Jasper_ 6y agoGallium's architecture of "state trackers" are sort of antithetical to the idea of Vulkan in many ways. Neither Intel's Vulkan driver, nor RADV, bother using it.
- anthk 6y agoGallium's 0.4 performance on my card is atrocious. I am using MESA 13.0.6 on libDRM 24.68, and yet even Flare is damn slow. On current, it's much better, but Google's Street View is still slow, albeit gaming on PPSSPP is fast and good.. AMD/ATi RS 690 with MESA 20, I tried it, but I went back. Go figure. Even Quake ports are barely accelerated under the old MESA/KMS combo... And no, I am not using LLVMPIPE.
- deleted 6y ago[deleted]
- shmerl 6y agoVulkan drivers in Mesa aren't using Gallium3D, they are using NIR as intermediate representation though. For example ACO (new shader compiler for radv and potentially radeonsi) complies NIR into AMD GCN / RDNA machine code.