static void nop_done(struct sna *sna, const struct sna_composite_op *op)
{
assert(sna->kgem.nbatch <= KGEM_BATCH_SIZE(&sna->kgem));
- if (sna->kgem.nexec > 1 && __kgem_ring_empty(&sna->kgem))
+ if (sna->kgem.nexec > 1 && __kgem_ring_empty(&sna->kgem)) {
+ DBG(("%s: flushing BLT operation on empty ring\n", __FUNCTION__));
_kgem_submit(&sna->kgem);
+ }
(void)op;
}
assert(kgem->nbatch <= KGEM_BATCH_SIZE(kgem));
if (kgem->nexec > 1 && __kgem_ring_empty(kgem)) {
+ DBG(("%s: flushing BLT operation on empty ring\n", __FUNCTION__));
_kgem_submit(kgem);
return;
}
struct kgem *kgem = &sna->kgem;
assert(kgem->nbatch <= KGEM_BATCH_SIZE(kgem));
- if (kgem->nexec > 1 && __kgem_ring_empty(kgem))
+ if (kgem->nexec > 1 && __kgem_ring_empty(kgem)) {
+ DBG(("%s: flushing BLT operation on empty ring\n", __FUNCTION__));
_kgem_submit(kgem);
+ }
kgem_bo_destroy(kgem, op->src.bo);
sna_render_composite_redirect_done(sna, op);
}
} while (nbox);
- if (kgem->nexec > 1 && __kgem_ring_empty(kgem))
+ if (kgem->nexec > 1 && __kgem_ring_empty(kgem)) {
+ DBG(("%s: flushing BLT operation on empty ring\n", __FUNCTION__));
_kgem_submit(kgem);
+ }
return true;
}
}
if (kgem->nexec > 1 && __kgem_ring_empty(kgem)) {
+ DBG(("%s: flushing BLT operation on empty ring\n", __FUNCTION__));
_kgem_submit(kgem);
} else if (kgem->gen >= 060 && src_bo == dst_bo && kgem_check_batch(kgem, 3)) {
uint32_t *b = kgem->batch + kgem->nbatch;
box++;
}
- if (kgem->nexec > 1 && __kgem_ring_empty(kgem))
+ if (kgem->nexec > 1 && __kgem_ring_empty(kgem)) {
+ DBG(("%s: flushing BLT operation on empty ring\n", __FUNCTION__));
_kgem_submit(kgem);
+ }
sna->blt_state.fill_bo = 0;
return true;