Browse Source

i915g: fix shadow compare.

"Works" as well as i915c now.
tags/mesa-8.0-rc1
Stéphane Marchesin 14 years ago
parent
commit
6f62a25448

+ 1
- 1
src/gallium/drivers/i915/i915_state.c View File

@@ -247,7 +247,7 @@ i915_create_sampler_state(struct pipe_context *pipe,
if (sampler->compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE)
{
cso->state[0] |= (SS2_SHADOW_ENABLE |
i915_translate_compare_func(sampler->compare_func));
i915_translate_shadow_compare_func(sampler->compare_func));

minFilt = FILTER_4X4_FLAT;
magFilt = FILTER_4X4_FLAT;

+ 25
- 0
src/gallium/drivers/i915/i915_state_inlines.h View File

@@ -59,6 +59,31 @@ i915_translate_compare_func(unsigned func)
}
}

static INLINE unsigned
i915_translate_shadow_compare_func(unsigned func)
{
switch (func) {
case PIPE_FUNC_NEVER:
return COMPAREFUNC_ALWAYS;
case PIPE_FUNC_LESS:
return COMPAREFUNC_LEQUAL;
case PIPE_FUNC_LEQUAL:
return COMPAREFUNC_LESS;
case PIPE_FUNC_GREATER:
return COMPAREFUNC_GEQUAL;
case PIPE_FUNC_GEQUAL:
return COMPAREFUNC_GREATER;
case PIPE_FUNC_NOTEQUAL:
return COMPAREFUNC_EQUAL;
case PIPE_FUNC_EQUAL:
return COMPAREFUNC_NOTEQUAL;
case PIPE_FUNC_ALWAYS:
return COMPAREFUNC_NEVER;
default:
return COMPAREFUNC_NEVER;
}
}

static INLINE unsigned
i915_translate_stencil_op(unsigned op)
{

Loading…
Cancel
Save