diff options
author | marha <marha@users.sourceforge.net> | 2014-05-11 17:43:25 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-05-11 17:43:25 +0200 |
commit | 26dfcdba6c306d6312c598e4191449302329be68 (patch) | |
tree | 2bf56b5a0eb2cc554833fdc6e08f2b59f1bfdabd /mesalib/src/mesa/main/pipelineobj.c | |
parent | 2dc2880eacae3d52f4ab4bb5ec43c5bbf50c5c3f (diff) | |
parent | ae06feae7876db47ff0e1fde40cf4a324a412037 (diff) | |
download | vcxsrv-26dfcdba6c306d6312c598e4191449302329be68.tar.gz vcxsrv-26dfcdba6c306d6312c598e4191449302329be68.tar.bz2 vcxsrv-26dfcdba6c306d6312c598e4191449302329be68.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/src/mesa/main/imports.h
Diffstat (limited to 'mesalib/src/mesa/main/pipelineobj.c')
-rw-r--r-- | mesalib/src/mesa/main/pipelineobj.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mesalib/src/mesa/main/pipelineobj.c b/mesalib/src/mesa/main/pipelineobj.c index f55251e06..90c1d005f 100644 --- a/mesalib/src/mesa/main/pipelineobj.c +++ b/mesalib/src/mesa/main/pipelineobj.c @@ -412,8 +412,15 @@ _mesa_BindProgramPipeline(GLuint pipeline) newObj->EverBound = GL_TRUE; } + _mesa_bind_pipeline(ctx, newObj); +} + +void +_mesa_bind_pipeline(struct gl_context *ctx, + struct gl_pipeline_object *pipe) +{ /* First bind the Pipeline to pipeline binding point */ - _mesa_reference_pipeline_object(ctx, &ctx->Pipeline.Current, newObj); + _mesa_reference_pipeline_object(ctx, &ctx->Pipeline.Current, pipe); /* Section 2.11.3 (Program Objects) of the OpenGL 4.1 spec says: * @@ -424,11 +431,11 @@ _mesa_BindProgramPipeline(GLuint pipeline) * considered current." */ if (&ctx->Shader != ctx->_Shader) { - if (pipeline) { + if (pipe != NULL) { /* Bound the pipeline to the current program and * restore the pipeline state */ - _mesa_reference_pipeline_object(ctx, &ctx->_Shader, newObj); + _mesa_reference_pipeline_object(ctx, &ctx->_Shader, pipe); } else { /* Unbind the pipeline */ _mesa_reference_pipeline_object(ctx, &ctx->_Shader, |