From: Luca Barbieri Date: Mon, 12 Apr 2010 02:49:02 +0000 (+0200) Subject: nvfx: always use M2MF instead of the blitter X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aa985f339d28cb95c54a635652d1ba7f9d394eca;p=mesa.git 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. --- 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