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