i915g: fix shadow compare.
"Works" as well as i915c now.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user