summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvfx
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-04-12 04:49:02 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-04-12 05:46:04 +0200
commitaa985f339d28cb95c54a635652d1ba7f9d394eca (patch)
treedac2848e6fbcfcc52d24a17973ab954ea8ac6313 /src/gallium/drivers/nvfx
parent927e576284e3d8b10a3f5b46bc7680c579a6ff32 (diff)
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.
Diffstat (limited to 'src/gallium/drivers/nvfx')
-rw-r--r--src/gallium/drivers/nvfx/nv04_surface_2d.c15
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 005d72b30c7..53453f260e0 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