gallivm: Disable LLVM 2.7 workaround on other versions.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 19 Apr 2013 21:34:47 +0000 (22:34 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Sat, 20 Apr 2013 22:25:36 +0000 (23:25 +0100)
2.7 was a particularly trouble ridden release.

Furthermore, the bug no longer can be reproduced ever since the
first_level state was taken in account.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c

index ced2103fca226e077f5edcbcec686b22d0450742..beefdaed513fef616e9ab05d364af5a809ba08bc 100644 (file)
@@ -1149,11 +1149,10 @@ lp_build_sample_common(struct lp_build_sample_context *bld,
       /* fall-through */
    case PIPE_TEX_MIPFILTER_NONE:
       /* always use mip level 0 */
-      if (target == PIPE_TEXTURE_CUBE) {
+      if (HAVE_LLVM == 0x0207 && target == PIPE_TEXTURE_CUBE) {
          /* XXX this is a work-around for an apparent bug in LLVM 2.7.
           * We should be able to set ilevel0 = const(0) but that causes
           * bad x86 code to be emitted.
-          * XXX should probably disable that on other llvm versions.
           */
          assert(*lod_ipart);
          lp_build_nearest_mip_level(bld, texture_index, *lod_ipart, ilevel0);