[Mesa-dev] Naked DXTn support via ARB_texture_compression?

Joakim Sindholt bacn at zhasha.com
Sun Mar 20 04:50:18 PDT 2011

On Sun, 2011-03-20 at 10:55 +0100, Petr Sebor wrote:
> On 20.3.2011 1:40, Henri Verbeet wrote: 
> > On 20 March 2011 00:42, Petr Sebor <petr at scssoft.com> wrote:
> > > And this is not an undocumented hack. ARB_texture_compression explicitly
> > > defines mechanisms to work with 'unknown' formats providing a safe
> > > passthrough.
> > > Thats what glCompressedTexImage actually is for.
> > > 
> > Sure, the CompressedTexImage* calls are in principle agnostic to the
> > specific format. But without the s3tc extension there's nothing that
> > defines e.g. GL_COMPRESSED_RGBA_S3TC_DXT5_EXT. So you can't use those
> > tokens, unless you have another extension that defines them.
> There is a slight difference between unknown and 'unknown'. You would
> enumerate the 'unknown'
> formats first via 
> glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &num_formats)
> glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, &format_table)
> compare the values returned with the format values you have and if
> there is a match, you're done.
> Sure it is convenient to know GL_COMPRESSED_RGBA_S3TC_DXT5_EXT is
> 0x83f3.
> I don't want to pretend that S3TC extension doesn't exist. Of course,
> there is a negligible
> overlap with the EXT_tc_s3tc extension specification in the sense that
> is is convenient to know
> the value of the format tokens. I assume that by defining and using
> such tokens isn't illegal.
> To sum this up, ARB_tc offers a way to pass through precompressed
> data, yet the Mesa code
> blocks anything S3TC related unless the compressing library is not
> present. I was asking for
> relaxing this requirement, at least on hardware where we're sure to
> not enter the legal grounds
> (apparently at least NV). So take it or leave it. The world isn't
> going to collapse if this opportunity
> is ignored.

I'd just like to point out that the nvidia-texture-tools FAQ has this to

Can I use the NVIDIA Texture Tools in the US? Do I have to obtain a
license of the S3TC patent (US patent 5,956,431)?

NVIDIA has a license of the S3TC patent that covers all our products,
including our Texture Tools. You don't have to obtain a license of the
S3TC patent to use any of NVIDIA's products, but certain uses of NVIDIA
Texture Tools source code cannot be considered NVIDIA products anymore.
Keep in mind that the NVIDIA Texture Tools are licensed under the MIT
license and thus are provided without warranty of any kind.

This (to me) indicates that nVIDIA has licensed it for their products,
hardware AND software, and their products only.

More information about the mesa-dev mailing list