gallivm: Fix mipfiltering with negative lod bias.
[mesa.git] / src / gallium / auxiliary / gallivm / lp_bld_sample_soa.c
index dd0053f212dad089baf77f9c43b0c715c8b2942b..3b1e6df4ec3e1d3590036e4c299ba3048dc5a301 100644 (file)
@@ -1046,8 +1046,10 @@ lp_build_linear_mip_levels(struct lp_build_sample_context *bld,
                                 int_bld->zero,
                                 last_level);
    /* compute level 1 and clamp to legal range of levels */
-   *level1_out = lp_build_add(int_bld, *level0_out, int_bld->one);
-   *level1_out = lp_build_min(int_bld, *level1_out, last_level);
+   level = lp_build_add(int_bld, level, int_bld->one);
+   *level1_out = lp_build_clamp(int_bld, level,
+                                int_bld->zero,
+                                last_level);
 
    *weight_out = lp_build_fract(float_bld, lod);
 }