Philip Armstrong wrote:
OK, I don't exactly want to stir up this hornets nest *again*, but a
couple of things aren't entirely clear to me and I'd appreciate any
clarifications.

As I understand it, the situation is as follows:

The S3TC algorithm is patented and therefore no-one can distribute an
implementation of the algorithm without a licence from the patent
holders.

S3TC decompression must be implemented in the hardware (otherwise
what's the point), therefore hardware which uses S3TC can be assumed
to have a valid licence to use the code, otherwise the patent owners
would be down on the hardware manufacturers like the proverbial ton of
bricks.

Patent law is actually more complicated than that. I'm not in a position to go into it, but it gets complicated when you have multiple components (i.e., software and hardware) working together to implement something.

As far as I'm aware, the main users of S3TC are modern games with
their vast arrays of textures -- presumably such games come with the
textures precompressed, or are able to compress them and cache the
compressed textures themselves. Presumably again, the authors of the
games have paid for a licence to use the S3TC algorithm from the
patent holders.

Now, if an OpenGL application has a pile of textures already
compressed with the S3TC algorithm, then I don't understand why the
dri drivers can't simply offer the S3TC interfaces to the hardware,
pass the compressed textures to the hardware and let the hardware get
on with its licensed decompression of the textures as required.
Likewise, if the OpenGL application passes compressed textures to the
S3TC API then how it gets hold of the compressed textures in the first
place is it's own responsibility -- the OpenGL API just passes them
on.

Look at the ARB_texture_compression and EXT_texture_compression_s3tc specs again. You can specify uncompressed textures and have the driver compress the AND you can specify compressed textures and have the driver decompress them (to read them back into the application). For example, Quake3 can use the S3's vendor-specific extension (can't remember the name of it right now), but it does NOT have ANY textures pre-compressed. It expects the driver to do the work.

Can we add this to the FAQ, please?




------------------------------------------------------- This SF.net email is sponsored by: SlickEdit Inc. Develop an edge. The most comprehensive and flexible code editor you can use. Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial. www.slickedit.com/sourceforge _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to