mesa: prepare create_program_pipelines() for KHR_no_error support
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 26 Jun 2017 12:10:12 +0000 (14:10 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 28 Jun 2017 08:25:13 +0000 (10:25 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/main/pipelineobj.c

index 0f0d1da..89ab9cf 100644 (file)
@@ -603,20 +603,12 @@ static void
 create_program_pipelines(struct gl_context *ctx, GLsizei n, GLuint *pipelines,
                          bool dsa)
 {
-   const char *func;
+   const char *func = dsa ? "glCreateProgramPipelines" : "glGenProgramPipelines";
    GLuint first;
    GLint i;
 
-   func = dsa ? "glCreateProgramPipelines" : "glGenProgramPipelines";
-
-   if (n < 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "%s (n < 0)", func);
-      return;
-   }
-
-   if (!pipelines) {
+   if (!pipelines)
       return;
-   }
 
    first = _mesa_HashFindFreeKeyBlock(ctx->Pipeline.Objects, n);
 
@@ -638,7 +630,20 @@ create_program_pipelines(struct gl_context *ctx, GLsizei n, GLuint *pipelines,
       save_pipeline_object(ctx, obj);
       pipelines[i] = first + i;
    }
+}
+
+static void
+create_program_pipelines_err(struct gl_context *ctx, GLsizei n,
+                             GLuint *pipelines, bool dsa)
+{
+   const char *func = dsa ? "glCreateProgramPipelines" : "glGenProgramPipelines";
+
+   if (n < 0) {
+      _mesa_error(ctx, GL_INVALID_VALUE, "%s (n < 0)", func);
+      return;
+   }
 
+   create_program_pipelines(ctx, n, pipelines, dsa);
 }
 
 void GLAPIENTRY
@@ -649,7 +654,7 @@ _mesa_GenProgramPipelines(GLsizei n, GLuint *pipelines)
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(ctx, "glGenProgramPipelines(%d, %p)\n", n, pipelines);
 
-   create_program_pipelines(ctx, n, pipelines, false);
+   create_program_pipelines_err(ctx, n, pipelines, false);
 }
 
 void GLAPIENTRY
@@ -660,7 +665,7 @@ _mesa_CreateProgramPipelines(GLsizei n, GLuint *pipelines)
    if (MESA_VERBOSE & VERBOSE_API)
       _mesa_debug(ctx, "glCreateProgramPipelines(%d, %p)\n", n, pipelines);
 
-   create_program_pipelines(ctx, n, pipelines, true);
+   create_program_pipelines_err(ctx, n, pipelines, true);
 }
 
 /**