[Mesa-dev] S2TC - yet another attempt to solve the "S3TC issue"

Petr Sebor petr at scssoft.com
Sun Aug 7 15:44:28 PDT 2011


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 ]


More information about the mesa-dev mailing list