mesa: add front_face() helper
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 23 Jun 2017 15:33:29 +0000 (17:33 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 28 Jun 2017 08:25:12 +0000 (10:25 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/main/polygon.c
src/mesa/main/polygon.h

index 49a60e8e533002d37297d2f179fc9d65e7f25612..7ad536fe5e0fbd3f4b2ca50bd27908548d6d5857 100644 (file)
@@ -101,19 +101,14 @@ _mesa_CullFace(GLenum mode)
  * flushes the vertices and notifies the driver via
  * the dd_function_table::FrontFace callback.
  */
-void GLAPIENTRY
-_mesa_FrontFace( GLenum mode )
+static ALWAYS_INLINE void
+front_face(struct gl_context *ctx, GLenum mode, bool no_error)
 {
-   GET_CURRENT_CONTEXT(ctx);
-
-   if (MESA_VERBOSE&VERBOSE_API)
-      _mesa_debug(ctx, "glFrontFace %s\n", _mesa_enum_to_string(mode));
-
    if (ctx->Polygon.FrontFace == mode)
       return;
 
-   if (mode!=GL_CW && mode!=GL_CCW) {
-      _mesa_error( ctx, GL_INVALID_ENUM, "glFrontFace" );
+   if (!no_error && mode != GL_CW && mode != GL_CCW) {
+      _mesa_error(ctx, GL_INVALID_ENUM, "glFrontFace");
       return;
    }
 
@@ -122,7 +117,19 @@ _mesa_FrontFace( GLenum mode )
    ctx->Polygon.FrontFace = mode;
 
    if (ctx->Driver.FrontFace)
-      ctx->Driver.FrontFace( ctx, mode );
+      ctx->Driver.FrontFace(ctx, mode);
+}
+
+
+void GLAPIENTRY
+_mesa_FrontFace(GLenum mode)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (MESA_VERBOSE & VERBOSE_API)
+      _mesa_debug(ctx, "glFrontFace %s\n", _mesa_enum_to_string(mode));
+
+   front_face(ctx, mode, false);
 }
 
 
index 78c7f7116422808647b80d4d735475179ed8dbb7..b9570cd1883c418669e1d20132e5f97e7d4c6007 100644 (file)
@@ -46,7 +46,7 @@ extern void GLAPIENTRY
 _mesa_CullFace(GLenum mode);
 
 extern void GLAPIENTRY
-_mesa_FrontFace( GLenum mode );
+_mesa_FrontFace(GLenum mode);
 
 extern void GLAPIENTRY
 _mesa_PolygonMode( GLenum face, GLenum mode );