diff options
| -rw-r--r-- | src/mesa/drivers/dri/i915/i915_texstate.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/i915/intel_context.h | 1 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/i915/intel_state.c | 26 | 
3 files changed, 28 insertions, 1 deletions
| diff --git a/src/mesa/drivers/dri/i915/i915_texstate.c b/src/mesa/drivers/dri/i915/i915_texstate.c index 09684e87b4..1c45fd5dcd 100644 --- a/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/src/mesa/drivers/dri/i915/i915_texstate.c @@ -246,7 +246,7 @@ i915_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3)           state[I915_TEXREG_SS2] |=              (SS2_SHADOW_ENABLE | -             intel_translate_compare_func(tObj->CompareFunc)); +             intel_translate_shadow_compare_func(tObj->CompareFunc));           minFilt = FILTER_4X4_FLAT;           magFilt = FILTER_4X4_FLAT; diff --git a/src/mesa/drivers/dri/i915/intel_context.h b/src/mesa/drivers/dri/i915/intel_context.h index 25486ed001..528e749c33 100644 --- a/src/mesa/drivers/dri/i915/intel_context.h +++ b/src/mesa/drivers/dri/i915/intel_context.h @@ -433,6 +433,7 @@ extern void intelInitStateFuncs(struct dd_function_table *functions);  #define BLENDFACT_INV_CONST_ALPHA	0x0f  #define BLENDFACT_MASK          	0x0f +extern int intel_translate_shadow_compare_func(GLenum func);  extern int intel_translate_compare_func(GLenum func);  extern int intel_translate_stencil_op(GLenum op);  extern int intel_translate_blend_factor(GLenum factor); diff --git a/src/mesa/drivers/dri/i915/intel_state.c b/src/mesa/drivers/dri/i915/intel_state.c index 271511037e..558f068a42 100644 --- a/src/mesa/drivers/dri/i915/intel_state.c +++ b/src/mesa/drivers/dri/i915/intel_state.c @@ -39,6 +39,32 @@  #include "intel_regions.h"  #include "swrast/swrast.h" +int  +intel_translate_shadow_compare_func( GLenum func ) +{ +   switch(func) { +   case GL_NEVER:  +       return COMPAREFUNC_ALWAYS;  +   case GL_LESS:  +       return COMPAREFUNC_LEQUAL;  +   case GL_LEQUAL:  +       return COMPAREFUNC_LESS; +   case GL_GREATER:  +       return COMPAREFUNC_GEQUAL;  +   case GL_GEQUAL:  +      return COMPAREFUNC_GREATER;  +   case GL_NOTEQUAL:  +      return COMPAREFUNC_EQUAL;  +   case GL_EQUAL:  +      return COMPAREFUNC_NOTEQUAL;  +   case GL_ALWAYS:  +       return COMPAREFUNC_NEVER;  +   } + +   fprintf(stderr, "Unknown value in %s: %x\n", __FUNCTION__, func); +   return COMPAREFUNC_NEVER;  +} +  int  intel_translate_compare_func(GLenum func)  { | 
