From 89510d26a998886f1cf3a3af81dd07929da8a9c9 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 26 Jun 2017 14:10:12 +0200 Subject: [PATCH] mesa: prepare create_program_pipelines() for KHR_no_error support Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- src/mesa/main/pipelineobj.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c index 0f0d1dafffe..89ab9cfb13c 100644 --- a/src/mesa/main/pipelineobj.c +++ b/src/mesa/main/pipelineobj.c @@ -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); } /** -- 2.30.2