struct gen6_pipeline_session *session)
{
/* 3DSTATE_INDEX_BUFFER */
- if (DIRTY(INDEX_BUFFER) || session->batch_bo_changed) {
+ if (DIRTY(INDEX_BUFFER) || session->primitive_restart_changed ||
+ session->batch_bo_changed) {
p->gen6_3DSTATE_INDEX_BUFFER(p->dev,
&ilo->ib, ilo->draw->primitive_restart, p->cp);
}
session->state_bo_changed = true;
session->kernel_bo_changed = true;
session->prim_changed = true;
+ session->primitive_restart_changed = true;
}
else {
/*
session->kernel_bo_changed =
(p->invalidate_flags & ILO_3D_PIPELINE_INVALIDATE_KERNEL_BO);
session->prim_changed = (p->state.reduced_prim != session->reduced_prim);
+ session->primitive_restart_changed =
+ (p->state.primitive_restart != ilo->draw->primitive_restart);
}
}
assert(used <= estimate);
p->state.reduced_prim = session->reduced_prim;
+ p->state.primitive_restart = ilo->draw->primitive_restart;
}
static void