From: Thomas Hellstrom Date: Thu, 27 Apr 2017 06:58:47 +0000 (-0700) Subject: svga: Prefer accelerated blits over cpu copy region X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=14f888a2ba506a66754fcdfc7b050bdedf15ac7c;p=mesa.git svga: Prefer accelerated blits over cpu copy region This reduces the number of cpu copy_region fallbacks on a Nvidia system running the piglit command ./publish/bin/piglit run -1 -t copy -t blit tests/quick from 64789 to 780 Previously this has caused a regression in piglit test spec@!opengl 1.0@gl-1.0-scissor-copypixels, but I'm currently not able to reproduce that regression. Signed-off-by: Thomas Hellstrom Reviewed-by: Brian Paul Reviewed-by: Charmaine Lee --- diff --git a/src/gallium/drivers/svga/svga_pipe_blit.c b/src/gallium/drivers/svga/svga_pipe_blit.c index 3d7196dddd2..ef5aeee9a16 100644 --- a/src/gallium/drivers/svga/svga_pipe_blit.c +++ b/src/gallium/drivers/svga/svga_pipe_blit.c @@ -669,14 +669,12 @@ svga_blit(struct pipe_context *pipe, if (try_copy_region(svga, blit)) goto done; - /* FIXME: Ideally, we should call try_blit() before try_cpu_copy_region(), - * however that breaks piglit test gl-1.0-scissor-copypixels. - */ - if (try_cpu_copy_region(svga, blit)) + if (try_blit(svga, blit)) goto done; - if (try_blit(svga, blit)) + if (!try_cpu_copy_region(svga, blit)) debug_printf("svga: Blit failed.\n"); + done: SVGA_STATS_TIME_POP(sws); /* SVGA_STATS_TIME_BLIT */ (void) sws;