mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-04 06:38:19 +02:00
gallivm: Fetch the lod from the dynamic state when min_lod == max_lod.
This commit is contained in:
parent
998cf11e13
commit
2a8d1fd3ce
2 changed files with 4 additions and 5 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue