pipe_sampler_state::compare_mode is not a boolean enable flag.
It's a 1-bit enum.
This commit is contained in:
@@ -69,8 +69,8 @@ lp_sampler_static_state(struct lp_sampler_static_state *state,
|
||||
state->min_img_filter = sampler->min_img_filter;
|
||||
state->min_mip_filter = sampler->min_mip_filter;
|
||||
state->mag_img_filter = sampler->mag_img_filter;
|
||||
if(sampler->compare_mode) {
|
||||
state->compare_mode = sampler->compare_mode;
|
||||
state->compare_mode = sampler->compare_mode;
|
||||
if(sampler->compare_mode != PIPE_TEX_COMPARE_NONE) {
|
||||
state->compare_func = sampler->compare_func;
|
||||
}
|
||||
state->normalized_coords = sampler->normalized_coords;
|
||||
|
||||
@@ -488,7 +488,7 @@ lp_build_sample_compare(struct lp_build_sample_context *bld,
|
||||
LLVMValueRef res;
|
||||
unsigned chan;
|
||||
|
||||
if(!bld->static_state->compare_mode)
|
||||
if(bld->static_state->compare_mode == PIPE_TEX_COMPARE_NONE)
|
||||
return;
|
||||
|
||||
/* TODO: Compare before swizzling, to avoid redundant computations */
|
||||
|
||||
@@ -453,8 +453,8 @@ generate_fragment(struct llvmpipe_context *lp,
|
||||
debug_dump_tex_mipfilter(key->sampler[i].min_mip_filter, TRUE));
|
||||
debug_printf(" .mag_img_filter = %s\n",
|
||||
debug_dump_tex_filter(key->sampler[i].mag_img_filter, TRUE));
|
||||
if(key->sampler[i].compare_mode)
|
||||
debug_printf(" .compare_mode = %s\n", debug_dump_func(key->sampler[i].compare_func, TRUE));
|
||||
if(key->sampler[i].compare_mode != PIPE_TEX_COMPARE_NONE)
|
||||
debug_printf(" .compare_func = %s\n", debug_dump_func(key->sampler[i].compare_func, TRUE));
|
||||
debug_printf(" .normalized_coords = %u\n", key->sampler[i].normalized_coords);
|
||||
debug_printf(" .prefilter = %u\n", key->sampler[i].prefilter);
|
||||
}
|
||||
|
||||
@@ -1520,7 +1520,7 @@ lp_get_samples(struct tgsi_sampler *tgsi_sampler,
|
||||
if (texture->target == PIPE_TEXTURE_2D &&
|
||||
sampler->min_img_filter == sampler->mag_img_filter &&
|
||||
sampler->wrap_s == sampler->wrap_t &&
|
||||
sampler->compare_mode == FALSE &&
|
||||
sampler->compare_mode == PIPE_TEX_COMPARE_NONE &&
|
||||
sampler->normalized_coords)
|
||||
{
|
||||
if (sampler->min_mip_filter == PIPE_TEX_MIPFILTER_NONE) {
|
||||
@@ -1567,7 +1567,7 @@ lp_get_samples(struct tgsi_sampler *tgsi_sampler,
|
||||
sampler->min_mip_filter, PIPE_TEX_MIPFILTER_NONE,
|
||||
sampler->min_img_filter, sampler->mag_img_filter,
|
||||
sampler->wrap_s, sampler->wrap_t,
|
||||
sampler->compare_mode, FALSE,
|
||||
sampler->compare_mode, PIPE_TEX_COMPARE_NONE,
|
||||
sampler->normalized_coords, TRUE);
|
||||
}
|
||||
|
||||
|
||||
@@ -1862,7 +1862,7 @@ sp_create_sampler_varient( const struct pipe_sampler_state *sampler,
|
||||
break;
|
||||
}
|
||||
|
||||
if (sampler->compare_mode != FALSE) {
|
||||
if (sampler->compare_mode != PIPE_TEX_COMPARE_NONE) {
|
||||
samp->compare = sample_compare;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -409,7 +409,7 @@ void trace_dump_sampler_state(const struct pipe_sampler_state *state)
|
||||
trace_dump_member(uint, state, min_img_filter);
|
||||
trace_dump_member(uint, state, min_mip_filter);
|
||||
trace_dump_member(uint, state, mag_img_filter);
|
||||
trace_dump_member(bool, state, compare_mode);
|
||||
trace_dump_member(uint, state, compare_mode);
|
||||
trace_dump_member(uint, state, compare_func);
|
||||
trace_dump_member(bool, state, normalized_coords);
|
||||
trace_dump_member(uint, state, prefilter);
|
||||
|
||||
Reference in New Issue
Block a user