[Mesa-dev] Another Take on the S3TC issue

Ian Romanick idr at freedesktop.org
Tue Aug 13 13:20:30 PDT 2013


On 08/13/2013 11:53 AM, Uwe Schmidt wrote:
> Hi,
>
> I have read about the issue of implementing the S3TC Extension in Mesa:
> http://dri.freedesktop.org/wiki/S3TC/
>
> As I understood, the problem is, that encoding and decoding S3TC in
> software is covered by patents, while passing S3TC compressed data to the
> GPU is still ok.

It's all patented.  Some hardware vendors have licenses for things their 
hardware does.  There's a thing called contributory infringement, too. 
Please don't play arm-chair IP attorney.

> AS NOW:
>
> If "force_s3tc_enable" is enabled in Mesa3D, uploading a S3TC encoded
> texture works if format==internalFormat is true. If format!=internalFormat
> is true, it would fail (as i know).

It doesn't fail.  Mesa just leaves the data uncompressed.  The only 
failure occurs if the application calls glGetComrpessedTexImage to get 
the compressed data back.

> SO MY PROPOSAL:
>
> If 'format' is one of the S3TC types, and format!=internalFormat is true,
> then set internalFormat:=format.

'format' cannot be a compressed type.  Compressed data can only be 
supplied using glCompressedTexImage2D, and that function only has an 
internalFormat parameter.

> Else, if 'internalFormat' is one of the S3TC types, but the 'format' isn't,
> set internalFormat:=format (or any other format, Mesa3D can encode).

The only format that Mesa can encode is FXT1.  Only Intel hardware 
supports FXT1, and the quality (of Mesa's compressor) is not very good. 
  Picking that format would result in bug reports of "game XYZ looks 
horrible on Intel graphix you suck."  So that leaves us with the only 
option of leaving the data uncompressed.

Until S3 grants it's IP to OIN or the patents expire, this is going to 
be the situation.  We've been through this mental exercise of the last 5 
years more times than I can count, and we always come back to the same 
place.

> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list