Mesa (master): gallivm: Fetch the lod from the dynamic state when min_lod = = max_lod.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Sat Sep 25 11:40:50 UTC 2010
Module: Mesa
Branch: master
Commit: 2a8d1fd3cedbac1dd145a3ac5b7a8edcba9a85d5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a8d1fd3cedbac1dd145a3ac5b7a8edcba9a85d5
Author: José Fonseca <jfonseca at vmware.com>
Date: Sat Sep 25 12:13:45 2010 +0100
gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.
---
src/gallium/auxiliary/gallivm/lp_bld_sample.c | 8 ++++----
src/gallium/auxiliary/gallivm/lp_bld_sample.h | 1 -
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c
index 44f44ff..d9fbc0f 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c
@@ -104,7 +104,6 @@ lp_sampler_static_state(struct lp_sampler_static_state *state,
*/
if (sampler->min_lod == sampler->max_lod) {
state->min_max_lod_equal = 1;
- state->min_max_lod = sampler->min_lod;
}
state->compare_mode = sampler->compare_mode;
@@ -145,18 +144,19 @@ lp_build_lod_selector(struct lp_build_sample_context *bld,
LLVMValueRef depth)
{
+ LLVMValueRef min_lod =
+ bld->dynamic_state->min_lod(bld->dynamic_state, bld->builder, unit);
+
if (bld->static_state->min_max_lod_equal) {
/* User is forcing sampling from a particular mipmap level.
* This is hit during mipmap generation.
*/
- return LLVMConstReal(LLVMFloatType(), bld->static_state->min_max_lod);
+ return min_lod;
}
else {
struct lp_build_context *float_bld = &bld->float_bld;
LLVMValueRef sampler_lod_bias =
bld->dynamic_state->lod_bias(bld->dynamic_state, bld->builder, unit);
- LLVMValueRef min_lod =
- bld->dynamic_state->min_lod(bld->dynamic_state, bld->builder, unit);
LLVMValueRef max_lod =
bld->dynamic_state->max_lod(bld->dynamic_state, bld->builder, unit);
LLVMValueRef index0 = LLVMConstInt(LLVMInt32Type(), 0, 0);
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.h b/src/gallium/auxiliary/gallivm/lp_bld_sample.h
index 9a19e87..43ed24b 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.h
@@ -83,7 +83,6 @@ struct lp_sampler_static_state
unsigned compare_func:3;
unsigned normalized_coords:1;
unsigned min_max_lod_equal:1; /**< min_lod == max_lod ? */
- float min_max_lod; /**< only valid when min_max_lod_equal=1 */
/* Aero hacks */
unsigned force_nearest_s:1;
More information about the mesa-commit
mailing list