From: Chris Forbes Date: Mon, 13 May 2013 09:46:50 +0000 (+1200) Subject: intel: Use accessor for stencil reference values X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f819ec46d57fd92012b2dca2e23232031bd1f621;p=mesa.git intel: Use accessor for stencil reference values NOTE: This is a candidate for stable branches. Signed-off-by: Chris Forbes Reviewed-by: Paul Berry Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c index 98eac8df089..2fd0bf12f93 100644 --- a/src/mesa/drivers/dri/i915/i915_state.c +++ b/src/mesa/drivers/dri/i915/i915_state.c @@ -33,6 +33,7 @@ #include "main/fbobject.h" #include "main/dd.h" #include "main/state.h" +#include "main/stencil.h" #include "tnl/tnl.h" #include "tnl/t_context.h" @@ -63,14 +64,14 @@ i915_update_stencil(struct gl_context * ctx) */ /* _NEW_POLYGON | _NEW_STENCIL */ if (ctx->Polygon.FrontFace == GL_CW) { - front_ref = ctx->Stencil.Ref[0]; + front_ref = _mesa_get_stencil_ref(ctx, 0); front_mask = ctx->Stencil.ValueMask[0]; front_writemask = ctx->Stencil.WriteMask[0]; front_func = ctx->Stencil.Function[0]; front_fail = ctx->Stencil.FailFunc[0]; front_pass_z_fail = ctx->Stencil.ZFailFunc[0]; front_pass_z_pass = ctx->Stencil.ZPassFunc[0]; - back_ref = ctx->Stencil.Ref[ctx->Stencil._BackFace]; + back_ref = _mesa_get_stencil_ref(ctx, ctx->Stencil._BackFace); back_mask = ctx->Stencil.ValueMask[ctx->Stencil._BackFace]; back_writemask = ctx->Stencil.WriteMask[ctx->Stencil._BackFace]; back_func = ctx->Stencil.Function[ctx->Stencil._BackFace]; @@ -78,14 +79,14 @@ i915_update_stencil(struct gl_context * ctx) back_pass_z_fail = ctx->Stencil.ZFailFunc[ctx->Stencil._BackFace]; back_pass_z_pass = ctx->Stencil.ZPassFunc[ctx->Stencil._BackFace]; } else { - front_ref = ctx->Stencil.Ref[ctx->Stencil._BackFace]; + front_ref = _mesa_get_stencil_ref(ctx, ctx->Stencil._BackFace); front_mask = ctx->Stencil.ValueMask[ctx->Stencil._BackFace]; front_writemask = ctx->Stencil.WriteMask[ctx->Stencil._BackFace]; front_func = ctx->Stencil.Function[ctx->Stencil._BackFace]; front_fail = ctx->Stencil.FailFunc[ctx->Stencil._BackFace]; front_pass_z_fail = ctx->Stencil.ZFailFunc[ctx->Stencil._BackFace]; front_pass_z_pass = ctx->Stencil.ZPassFunc[ctx->Stencil._BackFace]; - back_ref = ctx->Stencil.Ref[0]; + back_ref = _mesa_get_stencil_ref(ctx, 0); back_mask = ctx->Stencil.ValueMask[0]; back_writemask = ctx->Stencil.WriteMask[0]; back_func = ctx->Stencil.Function[0]; diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c index 988b85e73c9..71f93667510 100644 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ b/src/mesa/drivers/dri/i965/brw_cc.c @@ -35,6 +35,7 @@ #include "brw_defines.h" #include "brw_util.h" #include "main/macros.h" +#include "main/stencil.h" #include "intel_batchbuffer.h" static void @@ -116,7 +117,7 @@ static void upload_cc_unit(struct brw_context *brw) intel_translate_stencil_op(ctx->Stencil.ZFailFunc[0]); cc->cc0.stencil_pass_depth_pass_op = intel_translate_stencil_op(ctx->Stencil.ZPassFunc[0]); - cc->cc1.stencil_ref = ctx->Stencil.Ref[0]; + cc->cc1.stencil_ref = _mesa_get_stencil_ref(ctx, 0); cc->cc1.stencil_write_mask = ctx->Stencil.WriteMask[0]; cc->cc1.stencil_test_mask = ctx->Stencil.ValueMask[0]; @@ -130,7 +131,7 @@ static void upload_cc_unit(struct brw_context *brw) intel_translate_stencil_op(ctx->Stencil.ZFailFunc[back]); cc->cc0.bf_stencil_pass_depth_pass_op = intel_translate_stencil_op(ctx->Stencil.ZPassFunc[back]); - cc->cc1.bf_stencil_ref = ctx->Stencil.Ref[back]; + cc->cc1.bf_stencil_ref = _mesa_get_stencil_ref(ctx, back); cc->cc2.bf_stencil_write_mask = ctx->Stencil.WriteMask[back]; cc->cc2.bf_stencil_test_mask = ctx->Stencil.ValueMask[back]; } diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index 7ac5d5ff72d..e4ec1707f09 100644 --- a/src/mesa/drivers/dri/i965/gen6_cc.c +++ b/src/mesa/drivers/dri/i965/gen6_cc.c @@ -33,6 +33,7 @@ #include "main/macros.h" #include "main/enums.h" #include "main/glformats.h" +#include "main/stencil.h" static void gen6_upload_blend_state(struct brw_context *brw) @@ -251,8 +252,8 @@ gen6_upload_color_calc_state(struct brw_context *brw) UNCLAMPED_FLOAT_TO_UBYTE(cc->cc1.alpha_ref_fi.ui, ctx->Color.AlphaRef); /* _NEW_STENCIL */ - cc->cc0.stencil_ref = ctx->Stencil.Ref[0]; - cc->cc0.bf_stencil_ref = ctx->Stencil.Ref[ctx->Stencil._BackFace]; + cc->cc0.stencil_ref = _mesa_get_stencil_ref(ctx, 0); + cc->cc0.bf_stencil_ref = _mesa_get_stencil_ref(ctx, ctx->Stencil._BackFace); /* _NEW_COLOR */ cc->constant_r = ctx->Color.BlendColorUnclamped[0];