Mesa (master): mesa: add stencil_op() helper
Samuel Pitoiset
hakzsam at kemper.freedesktop.org
Wed Jun 21 06:50:49 UTC 2017
Module: Mesa
Branch: master
Commit: 540766257041b47b2eae28045b3c8043aa19cd8c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=540766257041b47b2eae28045b3c8043aa19cd8c
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Tue Jun 20 18:40:08 2017 +0200
mesa: add stencil_op() helper
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
---
src/mesa/main/stencil.c | 47 ++++++++++++++++++++++++++++-------------------
src/mesa/main/stencil.h | 2 +-
2 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/src/mesa/main/stencil.c b/src/mesa/main/stencil.c
index 82dd787067..7913bb176e 100644
--- a/src/mesa/main/stencil.c
+++ b/src/mesa/main/stencil.c
@@ -320,28 +320,11 @@ _mesa_StencilMask( GLuint mask )
* __struct gl_contextRec::Stencil. On change flushes the vertices and notifies
* the driver via the dd_function_table::StencilOp callback.
*/
-void GLAPIENTRY
-_mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
+static void
+stencil_op(struct gl_context *ctx, GLenum fail, GLenum zfail, GLenum zpass)
{
- GET_CURRENT_CONTEXT(ctx);
const GLint face = ctx->Stencil.ActiveFace;
- if (MESA_VERBOSE & VERBOSE_API)
- _mesa_debug(ctx, "glStencilOp()\n");
-
- if (!validate_stencil_op(ctx, fail)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(sfail)");
- return;
- }
- if (!validate_stencil_op(ctx, zfail)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(zfail)");
- return;
- }
- if (!validate_stencil_op(ctx, zpass)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(zpass)");
- return;
- }
-
if (face != 0) {
/* only set active face state */
if (ctx->Stencil.ZFailFunc[face] == zfail &&
@@ -383,6 +366,32 @@ _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
}
+void GLAPIENTRY
+_mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
+{
+ GET_CURRENT_CONTEXT(ctx);
+
+ if (MESA_VERBOSE & VERBOSE_API)
+ _mesa_debug(ctx, "glStencilOp()\n");
+
+ if (!validate_stencil_op(ctx, fail)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(sfail)");
+ return;
+ }
+
+ if (!validate_stencil_op(ctx, zfail)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(zfail)");
+ return;
+ }
+
+ if (!validate_stencil_op(ctx, zpass)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(zpass)");
+ return;
+ }
+
+ stencil_op(ctx, fail, zfail, zpass);
+}
+
/* GL_EXT_stencil_two_side */
void GLAPIENTRY
diff --git a/src/mesa/main/stencil.h b/src/mesa/main/stencil.h
index 71844712a2..5425065a7c 100644
--- a/src/mesa/main/stencil.h
+++ b/src/mesa/main/stencil.h
@@ -53,7 +53,7 @@ _mesa_StencilMask( GLuint mask );
extern void GLAPIENTRY
-_mesa_StencilOp( GLenum fail, GLenum zfail, GLenum zpass );
+_mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass);
extern void GLAPIENTRY
More information about the mesa-commit
mailing list