Nouveau NV10-NV20 Can Now Handle S3TC
While still not available by default, the Nouveau NV10/NV20 Mesa DRI driver can now handle S3TC texture compression support when available.
A commit landed in Mesa Git master yesterday by Viktor Novotný for added general support for compressed formats to the Nouveau DRI driver (read: their pre-Gallium3D driver for the oldest NVIDIA fixed-function hardware) and that was followed up by actually added in the S3TC support for the NV10/NV20 class hardware (the second commit).
The Nouveau NV10 class hardware is the GeForce 256, GeForce 2, and GeForce 4 MX GPUs. The NV20 is the GeForce 3 and GeForce 4 Ti series.
Using S3TC for these older NVIDIA GPUs or any of the other open-source Mesa/Gallium3D drivers still requires the external libtxc_dxtn library. You won't find this DXTn library part of Mesa or shipped by tier-one distributions due to patent concerns about S3TC texture compression support. The same goes for the other newer Mesa/Gallium3D drivers too for Nouveau/Intel/Radeon where there can be S3TC support exposed, but it's not by default in this open-source code.
Additional information on the Mesa S3TC status can be found from this Wiki page while the S3TC library code remains at this Git repository.
As well, I was recently explaining this lack of S3 Texture Compression support by default in open-source Linux graphics drivers to a major game developer. He found these patent concerns to be silly to even the point of pure stupidity and will be looking at what can be done to resolve these concerns so there could be this support "out of the box" seeing as how many modern OpenGL games require this texture compression functionality.
A commit landed in Mesa Git master yesterday by Viktor Novotný for added general support for compressed formats to the Nouveau DRI driver (read: their pre-Gallium3D driver for the oldest NVIDIA fixed-function hardware) and that was followed up by actually added in the S3TC support for the NV10/NV20 class hardware (the second commit).
The Nouveau NV10 class hardware is the GeForce 256, GeForce 2, and GeForce 4 MX GPUs. The NV20 is the GeForce 3 and GeForce 4 Ti series.
Using S3TC for these older NVIDIA GPUs or any of the other open-source Mesa/Gallium3D drivers still requires the external libtxc_dxtn library. You won't find this DXTn library part of Mesa or shipped by tier-one distributions due to patent concerns about S3TC texture compression support. The same goes for the other newer Mesa/Gallium3D drivers too for Nouveau/Intel/Radeon where there can be S3TC support exposed, but it's not by default in this open-source code.
Additional information on the Mesa S3TC status can be found from this Wiki page while the S3TC library code remains at this Git repository.
As well, I was recently explaining this lack of S3 Texture Compression support by default in open-source Linux graphics drivers to a major game developer. He found these patent concerns to be silly to even the point of pure stupidity and will be looking at what can be done to resolve these concerns so there could be this support "out of the box" seeing as how many modern OpenGL games require this texture compression functionality.
11 Comments