diff options
author | Robert Ellison <papillo@vmware.com> | 2009-02-27 00:21:07 -0700 |
---|---|---|
committer | Robert Ellison <papillo@vmware.com> | 2009-02-27 10:11:37 -0700 |
commit | 17c7852bf93c4d4edf0c2cf0bdc553d399e2f51a (patch) | |
tree | a0f785f93d14db417db45937753f25b5a2b9e97a /src/mesa/drivers/dri/i965/brw_wm.c | |
parent | 026465b9b1aebab98b6d519b75fe96d0ca9f4f51 (diff) |
i965: texture fixes: bordered textures, fallback rendering
i965 doesn't natively support GL_CLAMP; it treats it like
GL_CLAMP_TO_EDGE, which fails conformance tests.
This fix adds a clause to the check_fallbacks() test to check
whether GL_CLAMP is in use on any enabled 2D texture. If so,
and if strict conformance is required (via INTEL_STRICT_CONFORMANCE),
a software fallback is mandated.
In addition, validate textures *before* checking for fallbacks,
rather than after; otherwise, the texture state is never validated
and can't be trusted. (In particular, if texturing is enabled and
the sampler would access any level beyond level 0 of a texture, the
sampler will segfault, because texture validation sets the firstLevel
and lastLevel fields of a texture object so that the valid levels
will be mapped and accessed correctly. If texture validation doesn't
occur, only level 0 is accessed correctly, and that only because
firstLevel and lastLevel happen to be set to 0.)
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_wm.c')
0 files changed, 0 insertions, 0 deletions