On 4.8.2011 12:19, Rudolf Polzer wrote:
On Wed, Aug 03, 2011 at 12:47:47PM -0700, Ian Romanick wrote:
On 08/03/2011 12:11 PM, Bryan Cain wrote:
Pardon my ignorance, but why do hardware drivers need a decompressor?
To quote the EXT_texture_compression_s3tc spec:

     WARNING:  Vendors able to support S3TC texture compression in Direct3D
     drivers do not necessarily have the right to use the same
functionality in
     OpenGL.

This is the same issue that Linux distros have with ARB_texture_float
being enabled in hardware drivers.  The hardware may implement the
functionality, and the hardware vendor may have some license for the
patent, but that license may not cover making the functionality
available in Mesa.  That S3 has sued Apple is some indication that these
licenses may have very narrow scope.
Ian,

I think it is really not the same issue. The S3TC patent is about the algorithm itself, not about copying blocks of memory. The quote from EXT_texture_compression_s3tc only underlines the fact that Direct3D stack (both runtime and driver) does not have to provide S3TC compression/decompression algorithm at all, whereas driver providing EXT_tc_s3tc typically has to be able to compress the textures in the software (and thus implement the patented stuff). Direct3D serves as a pass-through to the hardware, they don't have to mess with the patent at all while the hw vendor typically has the decompression part covered.

Feeding precompressed data, however, is also none of Mesa's business - and
also, Mesa ALREADY does this, so if it's illegal, that's a risk Mesa already is
taking. However, Mesa doesn't know if it's feeding S3TC or S2TC data - it feeds
a data block as is. So, if anyone needs IP rights then, it's the author of the
game that comes with precompressed S3TC textures - and not the graphics driver!
I had the similar argument several weeks ago. I have suggested that Mesa could use similar approach I have seen several years ago with GL drivers on windows - ie. drivers reporting DXTn formats in the available compressed format list through the ARB_texture_compression, whereas _not_ listing EXT_tc_s3tc in the extension string, effectively doing the same thing as the Direct3D, allowing a passthrough of such data. I can only guess that the vendor didn't have had the compression part covered nor wanted to pay for that part at the given time. It worked well.

Regards,
Petr

--
Petr Sebor / SCS Software [ http://www.scssoft.com ]
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to