llvmpipe: fix swizzling of texture border color
authorBrian Paul <brianp@vmware.com>
Mon, 27 Sep 2010 21:00:22 +0000 (15:00 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 27 Sep 2010 21:06:23 +0000 (15:06 -0600)
The pipe_sampler_view's swizzle terms also apply to the texture border
color.  Simply move the apply_sampler_swizzle() call after we fetch
the border color.

Fixes many piglit texwrap failures.

src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c

index f53ad915945d5d45c0ccb579e53210193620fdc6..33740f975996d058fafbce6950307255799004e8 100644 (file)
@@ -171,8 +171,6 @@ lp_build_sample_texel_soa(struct lp_build_sample_context *bld,
                            i, j,
                            texel_out);
 
-   apply_sampler_swizzle(bld, texel_out);
-
    /*
     * Note: if we find an app which frequently samples the texture border
     * we might want to implement a true conditional here to avoid sampling
@@ -204,6 +202,8 @@ lp_build_sample_texel_soa(struct lp_build_sample_context *bld,
                                            border_chan_vec, texel_out[chan]);
       }
    }
+
+   apply_sampler_swizzle(bld, texel_out);
 }