mesa: only check errors when the state change in glProvokingVertex()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 31 Jul 2017 12:07:05 +0000 (14:07 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 31 Jul 2017 17:08:44 +0000 (19:08 +0200)
When this GL call is a no-op, it should be a little faster.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/mesa/main/light.c

index 245692a54c2e632e0fd0351cff58e21e39c45476..f52ed8ed25c189da8616d0a8f9b1c7f3ec8763b6 100644 (file)
@@ -73,6 +73,9 @@ _mesa_ProvokingVertex(GLenum mode)
    if (MESA_VERBOSE&VERBOSE_API)
       _mesa_debug(ctx, "glProvokingVertexEXT 0x%x\n", mode);
 
+   if (ctx->Light.ProvokingVertex == mode)
+      return;
+
    switch (mode) {
    case GL_FIRST_VERTEX_CONVENTION_EXT:
    case GL_LAST_VERTEX_CONVENTION_EXT:
@@ -82,9 +85,6 @@ _mesa_ProvokingVertex(GLenum mode)
       return;
    }
 
-   if (ctx->Light.ProvokingVertex == mode)
-      return;
-
    FLUSH_VERTICES(ctx, _NEW_LIGHT);
    ctx->Light.ProvokingVertex = mode;
 }