ATI compressed texture formats & auto-compression
sroland at tungstengraphics.com
Fri Apr 4 03:34:22 PDT 2008
> On Thursday 03 April 2008 22:47:38 you wrote:
>>> GL_ARB_texture_compression is supported... So why don't I get a value
>>> besides 0 when getting GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB? Or am I
>>> looking in the wrong place and the open driver doesn't actually support
>>> any compressed textures?
>> This is all about the unclear state of S3's texture compression patents as
>> they apply to open-source GL implementations.
>> In particular it's not clear if an opensource driver for ATI (or
>> other)hardware can legally compress/decompress the S3TC textures - I tend
>> tobelieve that this is somehow already covered by agreements the
>> hardwarevendor would have with the patent holder, but like I said it's
>> anunclear situation & people tend to be conservative in those cases.
> OK. Thanks. I did see and understand about the software doing compression.
> (Although IIUC it's perfectly legal here since you can't patent software over
> here AFAIK). For some reason though, I was under the impression that it was
> possible in HARDWARE. Which the user already owns a license to use, since if
> it's in the chip, we'd assume that the manufacturer has already paid the
> patent holder...
There's no hardware which can do that - well maybe with the very recent
chips it would be feasible to just run the compression code on the gpu,
but there never was any hardware afaik which has dedicated hardware for it.
>> To get this working locally, there's some sort of library you can download
>> & plug in yourself though...
> Ah... I'll have a look. Thanks. It's really only of academic interest. I was
> wondering whether compressed textures might render faster... (Not that I have
> a problem at the moment).
Note that often you don't even need online compression, if you have
precompressed textures you can enable s3tc regardless with driconf (but
this is not compliant with the spec). And yes compressed textures indeed
are somewhat faster, it depends on the chip and the application how much
(this is entirely due to the memory bandwidth savings) - though in some
cases it may even save you from texture thrashing if you're short on
More information about the xorg