From: Brian Paul Date: Thu, 30 Sep 2010 16:52:26 +0000 (-0600) Subject: gallivm: check for level=0 case in lp_build_minify() X-Git-Tag: 062012170305~9444^2~453 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=874f3a57ce5ae41ced103bf5a549a2eb663db6c5;p=profile%2Fivi%2Fmesa.git gallivm: check for level=0 case in lp_build_minify() This lets us avoid the shift and max() operations. --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c index d9fbbbe..6e53bca 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c @@ -362,9 +362,16 @@ lp_build_minify(struct lp_build_sample_context *bld, LLVMValueRef base_size, LLVMValueRef level) { - LLVMValueRef size = LLVMBuildLShr(bld->builder, base_size, level, "minify"); - size = lp_build_max(&bld->int_coord_bld, size, bld->int_coord_bld.one); - return size; + if (level == bld->int_coord_bld.zero) { + /* if we're using mipmap level zero, no minification is needed */ + return base_size; + } + else { + LLVMValueRef size = + LLVMBuildLShr(bld->builder, base_size, level, "minify"); + size = lp_build_max(&bld->int_coord_bld, size, bld->int_coord_bld.one); + return size; + } }