mesa: add stencil_func() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset
2017-06-20 18:33:30 +02:00
parent b9e2d5c18d
commit db967dcb05
2 changed files with 20 additions and 12 deletions
+19 -11
View File
@@ -184,20 +184,11 @@ _mesa_StencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLui
* __struct gl_contextRec::Stencil. On change flushes the vertices and notifies
* the driver via the dd_function_table::StencilFunc callback.
*/
void GLAPIENTRY
_mesa_StencilFunc( GLenum func, GLint ref, GLuint mask )
static void
stencil_func(struct gl_context *ctx, GLenum func, GLint ref, GLuint mask)
{
GET_CURRENT_CONTEXT(ctx);
const GLint face = ctx->Stencil.ActiveFace;
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glStencilFunc()\n");
if (!validate_stencil_func(ctx, func)) {
_mesa_error(ctx, GL_INVALID_ENUM, "glStencilFunc(func)");
return;
}
if (face != 0) {
if (ctx->Stencil.Function[face] == func &&
ctx->Stencil.ValueMask[face] == mask &&
@@ -238,6 +229,23 @@ _mesa_StencilFunc( GLenum func, GLint ref, GLuint mask )
}
void GLAPIENTRY
_mesa_StencilFunc(GLenum func, GLint ref, GLuint mask)
{
GET_CURRENT_CONTEXT(ctx);
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glStencilFunc()\n");
if (!validate_stencil_func(ctx, func)) {
_mesa_error(ctx, GL_INVALID_ENUM, "glStencilFunc(func)");
return;
}
stencil_func(ctx, func, ref, mask);
}
/**
* Set the stencil writing mask.
*
+1 -1
View File
@@ -42,7 +42,7 @@ _mesa_ClearStencil( GLint s );
extern void GLAPIENTRY
_mesa_StencilFunc( GLenum func, GLint ref, GLuint mask );
_mesa_StencilFunc(GLenum func, GLint ref, GLuint mask);
extern void GLAPIENTRY