mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
intel: Use accessor for stencil reference values
NOTE: This is a candidate for stable branches.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit f819ec46d5)
This commit is contained in:
parent
bfb8015386
commit
0fdf9716a4
3 changed files with 11 additions and 8 deletions
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue