mesa: invalidate pipeline status after glUseProgramStages
authorTapani Pälli <tapani.palli@intel.com>
Tue, 8 Dec 2015 17:02:14 +0000 (19:02 +0200)
committerTapani Pälli <tapani.palli@intel.com>
Thu, 10 Dec 2015 05:51:40 +0000 (07:51 +0200)
This will cause validation to run during next draw, this is done
because possible changes in used stages and programs can cause
invalid pipeline state.

This fixes a subtest in following CTS test:
ES31-CTS.sepshaderobjs.StateInteraction

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/mesa/main/pipelineobj.c

index 5eda4e5e73db252eaf65ae71d68b900091a61e5c..f2a872dc83a7b5949535ff3821d318ec19ac4420 100644 (file)
@@ -341,6 +341,8 @@ _mesa_UseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
 
    if ((stages & GL_COMPUTE_SHADER_BIT) != 0)
       _mesa_use_shader_program(ctx, GL_COMPUTE_SHADER, shProg, pipe);
+
+   pipe->Validated = false;
 }
 
 /**