gallium: move filter assignment out of loop
authorBrian <brian.paul@tungstengraphics.com>
Mon, 24 Mar 2008 18:51:50 +0000 (12:51 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Mon, 24 Mar 2008 18:51:50 +0000 (12:51 -0600)
src/gallium/auxiliary/util/u_gen_mipmap.c

index 427b21775507cd5a3cbe3d17ba51ad2964bea252..e129c062be6c9894267f8d058ba8300c03741fc8 100644 (file)
@@ -890,6 +890,10 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
    memset(&fb, 0, sizeof(fb));
    fb.num_cbufs = 1;
 
+   /* set min/mag to same filter for faster sw speed */
+   ctx->sampler.mag_img_filter = filter;
+   ctx->sampler.min_img_filter = filter;
+
    /*
     * XXX for small mipmap levels, it may be faster to use the software
     * fallback path...
@@ -914,8 +918,6 @@ util_gen_mipmap(struct gen_mipmap_state *ctx,
        */
       ctx->sampler.min_lod = ctx->sampler.max_lod = (float) srcLevel;
       ctx->sampler.lod_bias = (float) srcLevel;
-      ctx->sampler.mag_img_filter = filter;
-      ctx->sampler.min_img_filter = filter;
       cso_single_sampler(ctx->cso, 0, &ctx->sampler);
       cso_single_sampler_done(ctx->cso);
 #if 0