Mesa (master): nvfx: always use M2MF instead of the blitter

Luca Barbieri lb at kemper.freedesktop.org
Mon Apr 12 03:46:52 UTC 2010


Module: Mesa
Branch: master
Commit: aa985f339d28cb95c54a635652d1ba7f9d394eca
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa985f339d28cb95c54a635652d1ba7f9d394eca

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Mon Apr 12 04:49:02 2010 +0200

nvfx: always use M2MF instead of the blitter

Currently we are relocating transfers to VRAM to use the blitter,
which is terrible.

Maybe for ->VRAM the blitter could be better, but we can't be
perfectly sure of that due to relocations.

In other words, just do the simple thing, and defer fine-tuning the
transfer hardware method to a later stage, while making it work
decently now.

---

 src/gallium/drivers/nvfx/nv04_surface_2d.c |   15 +++++----------
 1 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/gallium/drivers/nvfx/nv04_surface_2d.c b/src/gallium/drivers/nvfx/nv04_surface_2d.c
index 005d72b..53453f2 100644
--- a/src/gallium/drivers/nvfx/nv04_surface_2d.c
+++ b/src/gallium/drivers/nvfx/nv04_surface_2d.c
@@ -298,16 +298,11 @@ nv04_surface_copy(struct nv04_surface_2d *ctx, struct pipe_surface *dst,
            return;
         }
 
-	/* NV_CONTEXT_SURFACES_2D has buffer alignment restrictions, fallback
-	 * to NV_MEMORY_TO_MEMORY_FORMAT in this case.
-	 */
-	if ((src->offset & 63) || (dst->offset & 63) ||
-	    (src_pitch & 63) || (dst_pitch & 63)) {
-		nv04_surface_copy_m2mf(ctx, dst, dx, dy, src, sx, sy, w, h);
-		return;
-	}
-
-	nv04_surface_copy_blit(ctx, dst, dx, dy, src, sx, sy, w, h);
+        /* Use M2MF instead of the blitter since it always works
+         * Any possible performance drop is likely to be not very significant
+         * and dwarfed anyway by the current buffer management problems
+         */
+        nv04_surface_copy_m2mf(ctx, dst, dx, dy, src, sx, sy, w, h);
 }
 
 static void




More information about the mesa-commit mailing list