diff options
Diffstat (limited to 'src/mesa/main/pipelineobj.c')
-rw-r--r-- | src/mesa/main/pipelineobj.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c index 97285a28ab0..b1501984c9b 100644 --- a/src/mesa/main/pipelineobj.c +++ b/src/mesa/main/pipelineobj.c @@ -442,6 +442,7 @@ void _mesa_bind_pipeline(struct gl_context *ctx, struct gl_pipeline_object *pipe) { + int i; /* First bind the Pipeline to pipeline binding point */ _mesa_reference_pipeline_object(ctx, &ctx->Pipeline.Current, pipe); @@ -467,6 +468,9 @@ _mesa_bind_pipeline(struct gl_context *ctx, FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS); + for (i = 0; i < MESA_SHADER_STAGES; i++) + _mesa_shader_program_init_subroutine_defaults(ctx->_Shader->CurrentProgram[i]); + if (ctx->Driver.UseProgram) ctx->Driver.UseProgram(ctx, NULL); } |