NVIDIA Publishes 73k Lines Worth Of 3D Header Files For Fermi Through 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.