xf86-video-intel: src/sna/gen6_render.c src/sna/gen7_render.c

Chris Wilson ickle at kemper.freedesktop.org
Thu Oct 10 04:20:01 PDT 2013


 src/sna/gen6_render.c |    3 ++-
 src/sna/gen7_render.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit ddcd8607027c67f8260ffd4eae8543f832885cb8
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Oct 10 12:18:31 2013 +0100

    sna/gen6+: Only allow switching to BLT for fills if we have semaphores
    
    An extra caveat to these generations for
    
    commit 97d809c26bec2c0120f2dc0bcfd840379bd996fa
    Author: Chris Wilson <chris at chris-wilson.co.uk>
    Date:   Thu Oct 10 00:15:55 2013 +0100
    
        sna: Pass usage hint down to render fill routines
    
    is that we don't want to incur ring switch overheads that may overwhelm
    any advantages from using the BLT.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 3773c27..4084c58 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -3116,7 +3116,8 @@ static inline bool prefer_blt_fill(struct sna *sna,
 	if (PREFER_RENDER)
 		return PREFER_RENDER < 0;
 
-	if (flags & (FILL_POINTS | FILL_SPANS))
+	if (flags & (FILL_POINTS | FILL_SPANS) &&
+	    can_switch_to_blt(sna, bo, 0))
 		return true;
 
 	if (untiled_tlb_miss(bo))
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 37eb8dd..e929529 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -3349,7 +3349,8 @@ static inline bool prefer_blt_fill(struct sna *sna,
 				   struct kgem_bo *bo,
 				   unsigned flags)
 {
-	if (flags & (FILL_POINTS | FILL_SPANS))
+	if (flags & (FILL_POINTS | FILL_SPANS) &&
+	    can_switch_to_blt(sna, bo, 0))
 		return true;
 
 	if (untiled_tlb_miss(bo))


More information about the xorg-commit mailing list