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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

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

Reply via email to