i965: add software fallback for conformant 3D textures and GL_CLAMP
authorRobert Ellison <papillo@vmware.com>
Wed, 4 Mar 2009 23:48:51 +0000 (16:48 -0700)
committerRobert Ellison <papillo@vmware.com>
Wed, 4 Mar 2009 23:59:00 +0000 (16:59 -0700)
commit34683150878e0af0859c94d0c1f0c4bf8395b042
tree668c22346796f50b2aae8782d21111eeb43574c6
parent1281bac3ba8e4870e9d9e78d405a347bc02c4c16
i965: add software fallback for conformant 3D textures and GL_CLAMP

The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier
commit forced a software fallback if strict conformance was required
(i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and
2D textures were used, but it was somewhat flawed - it could trigger
the software fallback even if 2D textures weren't enabled, as long
as one texture unit was enabled.

This fixes that, and adds software fallback for GL_CLAMP behavior with
1D and 3D textures.

It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE
environment variable, which forces software fallbacks to be taken *all*
the time.  This is helpful with debugging.  The value is:
   export INTEL_STRICT_CONFORMANCE=2
src/gallium/drivers/i915simple/i915_state_sampler.c
src/mesa/drivers/dri/i915/intel_tris.c
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_context.h