sna/gen7: Add some ring switching sanity checks

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-09-18 13:39:33 +01:00
parent 22c84d02ad
commit cd23ac69ff
3 changed files with 7 additions and 2 deletions

View File

@ -1784,10 +1784,13 @@ gen7_get_batch(struct sna *sna)
DBG(("%s: flushing batch: %d < %d+%d\n",
__FUNCTION__, sna->kgem.surface - sna->kgem.nbatch,
150, 4*8));
kgem_submit(&sna->kgem);
_kgem_submit(&sna->kgem);
_kgem_set_mode(&sna->kgem, KGEM_RENDER);
}
assert(sna->kgem.mode == KGEM_RENDER);
assert(sna->kgem.ring == KGEM_RENDER);
if (sna->render_state.gen7.needs_invariant)
gen7_emit_invariant(sna);
}

View File

@ -344,6 +344,7 @@ static inline void kgem_set_mode(struct kgem *kgem, enum kgem_mode mode)
static inline void _kgem_set_mode(struct kgem *kgem, enum kgem_mode mode)
{
assert(kgem->mode == KGEM_NONE);
assert(kgem->nbatch == 0);
kgem->context_switch(kgem, mode);
kgem->mode = mode;
}

View File

@ -386,7 +386,8 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
Gamma zeros = { 0.0, 0.0, 0.0 };
int fd;
DBG(("%s\n", __FUNCTION__));
DBG(("%s flags=%x, numEntities=%d\n",
__FUNCTION__, flags, scrn->numEntities));
if (scrn->numEntities != 1)
return FALSE;