(patented) S3TC/DXTC algorithms, but adds an option to dlopen a library module
providing functions to do so. Because it uses dlopen, it is only enabled if
USE_EXTERNAL_DXTN_LIB=1 is defined (which is only in linux-dri config, so far).
It adds support for S3TC to several DRI drivers, and adds a DRI config option to
force enabling S3TC even if the software compression/decompression is
unavailable. This may allow people to use apps that require S3TC even though
they don't have a license to implement the patented material themselves, if
those apps use precompressed textures.
Ideally we would get permission from the current holder of the patents to
implement the algorithm in Mesa, at which point the dlopen mess could go away.
Until then, this allows some to run applications they couldn't otherwise, and
hopefully will provide us with more push to get the final step of getting that
permission done.
happen before any state had been set, causing a hang later on. Fix this by
calling r200Flush instead of FIREVERTICES (which checks if any state has been
emitted but not flushed, before calling Flush) in r200Clear. While here, add
some more debugging info which was useful, and remove an unnecessary
save/restore in BackUpAndEmit.
it's not that big of a deal in more normal apps, and axes a good bit of code.
And I assume that t_vertex will only get faster. Removes ~43k from compiled
binary.
Tested with: quake3, ut, ipers, texcyl, chromium, tuxracer, neverball (kinda)
scratch. There were just too many cut-and-paste errors in the code,
and it was too hard to follow.
This fixes Mesa bugzilla #1508. #1509 is probably also fixed, but
I'd like to do some more testing before I close that particular bug.
Additionally, this cuts almost 4,600 lines of code from the driver.
state with a function. This function sets the bits correctly. Did some
trivial refactoring on some of the GL_COMBINE code.
First pass at replacing classic texture environments with GL_COMBINE.
This is controlled by the EXPERIMENTAL_COMBINE_MODE define.
for GL_ARB_texture_mirrored_repeat. Enabled GL_NV_blend_square. It has
always actually been supported. Removed redundant EXT versions of ARB
extension strings.
state in a ready-to-emit cmdbuf, which avoids the issue Nicolai Haehnle reported
where the check() could return differently during backup-and-emit than it should
have if it were called at the right time. Move the lit emission before most of
the TCL state emission on r200, which fixes neverball issues.
Tested with: r100/r200 with neverball, tuxracer, chromium, quake3, ipers