Am Sonntag, 24. Mai 2009 21:11:27 schrieb Mike Kaplinskiy:
I believe mesa looks for libtxc_dxtn @ http://homepage.hispeed.ch/~rscheidegger/dri_experimental/s3tc_index.html and then enables full s3tc support. The library itself is tiny and in (ugly) C, so that is already good news. But as stated on the website, you cannot use the code due to legality. Maybe there would be a way to do on-demand loading as with mesa and output a warn/fixme if the library is not found? It seems like the approach would be similar to the way the font bytecode interpreter was handled (turn on if available).
Wine did that a while ago, prior to my ddraw rewrite. However, from testing it seems that the S3TC decompression of that lib did not work properly(Gothic 2 showed bad textures), and the compression code according to that site is ugly.
So my 2c is that we need a better library than this libtxc_dxtn stuff. Maybe we can get a C wrapper around the nvidia texture tools lib in place. The nvidia texture tools also have command line utilities - maybe that works.
Note that I don't think we can ship nvidia texture tools, but we can load the lib dynamically and enable / disable. Maybe we should require the Win32 version, not the Linux version, and handle it similarily to gecko.