On 20.3.2011 1:40, Henri Verbeet wrote:
On 20 March 2011 00:42, Petr Sebor<p...@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.

Petr

--
Petr Sebor / SCS Software [ http://www.scssoft.com ]

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

Reply via email to