framebuffer: dec current_pipeline_age to force color_mask
When we need to guarantee that the glColorMask is re-asserted the next time that a primitive is drawn it is not enough to just OR in the LOGIC_OPS flag to ctx->current_pipeline_changes_since_flush because _cogl_pipeline_flush_gl_state actually checks the age of the pipeline before checking that. If the pipeline hasn't aged then we bail out early. This makes sure we decrement ctx->current_pipeline_changes_since_flush so the next time we come to flush a pipeline we will see a differing age. Reviewed-by: Neil Roberts <neil@linux.intel.com>
This commit is contained in:
parent
d51c3c423e
commit
b8503418ff
@ -257,6 +257,7 @@ _cogl_clear4f (unsigned long buffers,
|
|||||||
/* Make sure the ColorMask is updated when the next primitive is drawn */
|
/* Make sure the ColorMask is updated when the next primitive is drawn */
|
||||||
ctx->current_pipeline_changes_since_flush |=
|
ctx->current_pipeline_changes_since_flush |=
|
||||||
COGL_PIPELINE_STATE_LOGIC_OPS;
|
COGL_PIPELINE_STATE_LOGIC_OPS;
|
||||||
|
ctx->current_pipeline_age--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1528,6 +1529,7 @@ cogl_framebuffer_set_color_mask (CoglFramebuffer *framebuffer,
|
|||||||
/* Make sure the ColorMask is updated when the next primitive is drawn */
|
/* Make sure the ColorMask is updated when the next primitive is drawn */
|
||||||
ctx->current_pipeline_changes_since_flush |=
|
ctx->current_pipeline_changes_since_flush |=
|
||||||
COGL_PIPELINE_STATE_LOGIC_OPS;
|
COGL_PIPELINE_STATE_LOGIC_OPS;
|
||||||
|
ctx->current_pipeline_age--;
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
|
Loading…
Reference in New Issue
Block a user