{
struct ilo_context *ilo = ilo_context(pipe);
+ /* util_blitter may set this unnecessarily */
+ if (ilo->gs == state)
+ return;
+
ilo->gs = state;
ilo->dirty |= ILO_DIRTY_GS;
{
struct ilo_context *ilo = ilo_context(pipe);
+ /* util_blitter may set this unnecessarily */
+ if (!memcpy(&ilo->stencil_ref, state, sizeof(*state)))
+ return;
+
ilo->stencil_ref = *state;
ilo->dirty |= ILO_DIRTY_STENCIL_REF;
{
struct ilo_context *ilo = ilo_context(pipe);
+ /* util_blitter may set this unnecessarily */
+ if (ilo->sample_mask == sample_mask)
+ return;
+
ilo->sample_mask = sample_mask;
ilo->dirty |= ILO_DIRTY_SAMPLE_MASK;
if (!targets)
num_targets = 0;
+ /* util_blitter may set this unnecessarily */
+ if (!ilo->so.count && !num_targets)
+ return;
+
for (i = 0; i < num_targets; i++)
pipe_so_target_reference(&ilo->so.states[i], targets[i]);