Nouveau TGSI Shader Cache Enabled In Mesa 17.1 Git
Building off the work laid by Timothy Arceri and others for enabling a TGSI (and hardware) shader cache in the RadeonSI Gallium3D driver as well as R600g TGSI shader cache due to the common infrastructure work, the Nouveau driver is now leveraging it to enable the TGSI shader cache for Nouveau Gallium3D drivers.
Nouveau NV50/NVC0 can now benefit from the TGSI shader cache. But keep in mind TGSI is just the Gallium3D IR, which caching helps somewhat but isn't as beneficial as caching the final compiled shader for the given GPU. In the context of Nouveau, their main performance blocker isn't on the Gallium3D side but is the lack of proper re-clocking support within the Nouveau DRM driver.
Wiring up the Nouveau TGSI shader cache only took about 30 lines of code due to the common infrastructure work already in Mesa. The support landed with this commit. I'll probably run some tests to see the performance impact, but I'm not overly optimistic considering the main performance blocker is with re-clocking. Nevertheless this is another feature you will be able to find in Mesa 17.1.
Nouveau NV50/NVC0 can now benefit from the TGSI shader cache. But keep in mind TGSI is just the Gallium3D IR, which caching helps somewhat but isn't as beneficial as caching the final compiled shader for the given GPU. In the context of Nouveau, their main performance blocker isn't on the Gallium3D side but is the lack of proper re-clocking support within the Nouveau DRM driver.
Wiring up the Nouveau TGSI shader cache only took about 30 lines of code due to the common infrastructure work already in Mesa. The support landed with this commit. I'll probably run some tests to see the performance impact, but I'm not overly optimistic considering the main performance blocker is with re-clocking. Nevertheless this is another feature you will be able to find in Mesa 17.1.
3 Comments