Skip to content

gallium/drisw: Use layered drivers if available before falling back to true software

Jesse Natalie requested to merge jenatali/mesa:d3d12-wsl-by-default into master

For end-users running on a system without a DRI-capable driver, GL will eventually end up falling back to drisw. Currently drisw has hardware-accelerated layered drivers available, but they need to be explicitly selected.

This MR adjusts the drisw logic to support fallbacks. If GALLIUM_DRIVER is set, that's the only option that'll be used. If it's not, then a sorted fallback list will be used. In practice, this will always be the first compiled-in software driver (softpipe, llvmpipe, swr) after the first commit.

The second commit re-sorts the list to put layered drivers higher, since they're likely to provide a better end-user experience by being much faster than true software. These layered drivers will fail screen creation if the underlying implementation's not available, at which point we'll end up falling back to true software.

Edited by Jesse Natalie

Merge request reports