NVIDIA Publishes 73k Lines Worth Of 3D Header Files For Fermi Through Ampere GPUs

Written by Michael Larabel in NVIDIA on 9 August 2022 at 06:56 AM EDT. 88 Comments
In addition to NVIDIA being busy working on transitioning to an open-source GPU kernel driver, yesterday they made a rare public open-source documentation contribution... NVIDIA quietly published 73k lines worth of header files to document the 3D classes for their Fermi through current-generation Ampere GPUs!

To NVIDIA's Open-GPU-Docs portal they have posted the 73k lines worth of 3D class header files covering RTX 30 "Ampere" GPUs back through the decade-old GeForce 400/500 "Fermi" graphics processors.

These header files define the classes used to program the 3D engine of the GPU, the texture header and texture sampler layout are documented, and other 3D-related programming bits. Having all of these header files will be useful to the open-source Nouveau driver developers to save on their reverse-engineering and guessing/uncertainty over certain bits.

GPUs back to the Fermi GTX 400 days benefit from this week's NVIDIA documentation release.

NVIDIA's Open GPU Kernel Driver is for only GeForce RTX 20 "Turing" series and newer, so it's great seeing NVIDIA now posting this documentation going back to Fermi which is squarely to help the open-source community / Nouveau.

While all these 3D headers are nice, one of the main blockers for the Nouveau open-source driver right now is the lack of re-clocking on GeForce GTX 900 "Maxwell" GPUs and newer. Those GPUs are stuck to running at their boot clock speeds that tend to be particularly slow. Nouveau has been held up by re-clocking to the rated optimal clock frequencies over signed PMU firmware requirements with the GTX 900 series and later. Thus on newer NVIDIA GPUs the Nouveau driver performance is painfully slow and even on the GeForce GTX 600/700 series where there is re-clocking, it needs to be done manually and the NVIDIA driver remains faster. That's the elephant in the room for the past number of years as it pertains to the existing Nouveau DRM driver and what is preventing this open-source driver from being more useful. Meanwhile Nouveau developers are still working on adding Ampere OpenGL support to their Gallium3D driver and making the necessary Nouveau DRM kernel driver changes, which sadly missed out on the v6.0 cycle.

At least the 3D classes documented may prove to be of some help for the still very early stage work around an open-source Vulkan driver for Mesa.

The timing of NVIDIA opening these 3D classes back to Fermi is interesting and potentially tied to SIGGRAPH 2022 happening this week.

Those wanting to grab NVIDIA's latest open-source GPU documentation can find it via this GitHub repository.
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