nvfx: always use M2MF instead of the blitter
authorLuca Barbieri <luca@luca-barbieri.com>
Mon, 12 Apr 2010 02:49:02 +0000 (04:49 +0200)
committerLuca Barbieri <luca@luca-barbieri.com>
Mon, 12 Apr 2010 03:46:04 +0000 (05:46 +0200)
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

index 005d72b30c7fcc740b3b1b23cd9bca322a2002f7..53453f260e0188e08a6c1522bf802ae7e98fb436 100644 (file)
@@ -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