More NVK Driver Improvements Merged For Mesa 24.3

Written by Michael Larabel in Nouveau on 18 August 2024 at 06:20 AM EDT. Add A Comment
NOUVEAU
Faith Ekstrand has merged another two dozen patches for the open-source NVIDIA "NVK" Vulkan driver with next quarter's Mesa 24.3.

Ekstrand's latest effort has been having the NVK driver use the MME (NVIDIA's Macro Method Expander) for more functionality. These two dozen patches for further making use of the MME is a stepping stone toward enabling device generated commands support within the NVK driver.

NVK more MME merge request


Besides being a requirement in working toward the NVK DGC support, Ekstrand does note it may also make the driver a little faster:
"These might make the driver a little faster as it reduces state dirtying but that's not really the primary goal. The real here is to effectively split up the HW state. There are several HW states which depend on more than one piece of state. Sometimes that's fairly simple such as if it combines two dynamic states. However, sometimes it's much more complicated such as when some of the state comes from a shader and some comes from dynamic state or elsewhere. The big, crazy example of this is SET_HYBRID_ANTI_ALIAS_CONTROL and the sample masks which depend on both minSampleShading, which we get as a side-effect of the pipeline/shader compile and rasterizationSamples, which is a dynamic state. To make matters worse, this one nominally depends on floating-point math. Naturally, this macro is a little bit complicated, so...

This merge request also adds a simple unit testing framework to NVK which runs the macro against simulated state and checks that the methods emitted from the macro match an expected method/data array. This also makes it way easier to develop new macros because we can reliably test them and single-step through the simulator if needed. It also provides some sense of security because the unit tests run at compile time and against both the Fermi and Turing MME simulators."

See this merge request for the latest tranche of NVK patches now merged for Mesa 24.3.

Also worth bringing up on the NVK side is this open merge request since last week. That effort is around optimizing global state updates in the name of performance to reduce GPU stalling.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week