From: Daniel Borca Date: Mon, 22 Nov 2004 08:46:53 +0000 (+0000) Subject: handle ENABLE_BIT for EXT_stencil_two_side X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f76be3d6f2b054e5316aeb7b265ed28bda28c8ae;p=mesa.git handle ENABLE_BIT for EXT_stencil_two_side --- diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 5cdf72c4f56..d45593cc990 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -190,6 +190,7 @@ _mesa_PushAttrib(GLbitfield mask) attr->RescaleNormals = ctx->Transform.RescaleNormals; attr->Scissor = ctx->Scissor.Enabled; attr->Stencil = ctx->Stencil.Enabled; + attr->StencilTwoSide = ctx->Stencil.TestTwoSide; attr->MultisampleEnabled = ctx->Multisample.Enabled; attr->SampleAlphaToCoverage = ctx->Multisample.SampleAlphaToCoverage; attr->SampleAlphaToOne = ctx->Multisample.SampleAlphaToOne; @@ -518,7 +519,9 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable) GL_POLYGON_STIPPLE); TEST_AND_UPDATE(ctx->Scissor.Enabled, enable->Scissor, GL_SCISSOR_TEST); TEST_AND_UPDATE(ctx->Stencil.Enabled, enable->Stencil, GL_STENCIL_TEST); - /* XXX two-sided stencil */ + if (ctx->Extensions.EXT_stencil_two_side) { + TEST_AND_UPDATE(ctx->Stencil.TestTwoSide, enable->StencilTwoSide, GL_STENCIL_TEST_TWO_SIDE_EXT); + } TEST_AND_UPDATE(ctx->Multisample.Enabled, enable->MultisampleEnabled, GL_MULTISAMPLE_ARB); TEST_AND_UPDATE(ctx->Multisample.SampleAlphaToCoverage, diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 739ec5f15bd..57db1acffbe 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -597,6 +597,7 @@ struct gl_enable_attrib { GLboolean RescaleNormals; GLboolean Scissor; GLboolean Stencil; + GLboolean StencilTwoSide; /* GL_EXT_stencil_two_side */ GLboolean MultisampleEnabled; /* GL_ARB_multisample */ GLboolean SampleAlphaToCoverage; /* GL_ARB_multisample */ GLboolean SampleAlphaToOne; /* GL_ARB_multisample */