diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-06-30 19:56:39 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-06-30 21:18:58 +0100 |
commit | e1c3e6ce79c73d12c814cfda76dbc0df184902ee (patch) | |
tree | 7f6a720bb93b49a99bce1fdf95d8b5b1c5424f0d | |
parent | 43176b9bfafe389c4b9ed676f4e50e3b06f858c4 (diff) |
sna: Add DBG breadcrumbs before flushes in BLT
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna_blt.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c index d6f986a1..9b4d0bc8 100644 --- a/src/sna/sna_blt.c +++ b/src/sna/sna_blt.c @@ -89,8 +89,10 @@ static const uint8_t fill_ROP[] = { 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; } @@ -100,6 +102,7 @@ static void gen6_blt_copy_done(struct sna *sna, const struct sna_composite_op *o 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; } @@ -2865,8 +2868,10 @@ static void convert_done(struct sna *sna, const struct sna_composite_op *op) 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); @@ -3620,8 +3625,10 @@ bool sna_blt_fill_boxes(struct sna *sna, uint8_t alu, } } 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; } @@ -3944,6 +3951,7 @@ bool sna_blt_copy_boxes(struct sna *sna, uint8_t alu, } 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; @@ -4093,8 +4101,10 @@ bool sna_blt_copy_boxes__with_alpha(struct sna *sna, uint8_t alu, 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; |