summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/pipelineobj.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-06-10 15:41:22 +0200
committerMarek Olšák <[email protected]>2017-06-22 01:51:02 +0200
commit0b70d6ec568a2c5d7b2ff814e6e26b6d1379c829 (patch)
tree0e1609529f61700b1345b774b57445405abd2fab /src/mesa/main/pipelineobj.c
parent0160a59f295462f77d01693e9515e283c55ec2da (diff)
mesa: flush vertices before updating ctx->_Shader
Cc: 17.1 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/mesa/main/pipelineobj.c')
-rw-r--r--src/mesa/main/pipelineobj.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c
index 0d1d57cb7e6..0f0d1dafffe 100644
--- a/src/mesa/main/pipelineobj.c
+++ b/src/mesa/main/pipelineobj.c
@@ -525,6 +525,8 @@ _mesa_bind_pipeline(struct gl_context *ctx,
* considered current."
*/
if (&ctx->Shader != ctx->_Shader) {
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS);
+
if (pipe != NULL) {
/* Bound the pipeline to the current program and
* restore the pipeline state
@@ -536,8 +538,6 @@ _mesa_bind_pipeline(struct gl_context *ctx,
ctx->Pipeline.Default);
}
- FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS);
-
for (i = 0; i < MESA_SHADER_STAGES; i++) {
struct gl_program *prog = ctx->_Shader->CurrentProgram[i];
if (prog) {