xf86-video-intel: src/sna/sna_io.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Aug 7 07:29:42 PDT 2015


 src/sna/sna_io.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 07bcd3f0c715a37ac24a630173e0e28056567421
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Aug 7 15:26:30 2015 +0100

    sna: Use direct uploads into a Damage tracked for v.small operations
    
    If the batch is being frequently flushed due to Damage+Composite
    tracking, we cannot amalgamate the small copies into the destination and
    so end up sending thousands and thousands of tiny batches with tiny
    render copies hogging the GPU.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=91577
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c
index db317ee..6bf87ee 100644
--- a/src/sna/sna_io.c
+++ b/src/sna/sna_io.c
@@ -797,7 +797,7 @@ static bool __upload_inplace(struct kgem *kgem,
 		bytes += (box->x2 - box->x1) * (box->y2 - box->y1);
 		box++;
 	}
-	if (__kgem_bo_is_busy(kgem, bo))
+	if (!bo->flush && __kgem_bo_is_busy(kgem, bo))
 		return bytes * bpp >> 12 >= kgem->half_cpu_cache_pages;
 	else
 		return bytes * bpp >> 12;


More information about the xorg-commit mailing list