summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hellstrom <[email protected]>2017-04-26 23:58:47 -0700
committerThomas Hellstrom <[email protected]>2017-06-16 08:40:26 +0200
commit14f888a2ba506a66754fcdfc7b050bdedf15ac7c (patch)
treeb1c9f75e339e7cbac95a8265b670bf12405b2ccc
parent4c3e8f141b6a7e82d91e64b87c0b63f2b12cc437 (diff)
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 [email protected], but I'm currently not able to reproduce that regression. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Charmaine Lee <[email protected]>
-rw-r--r--src/gallium/drivers/svga/svga_pipe_blit.c8
1 files changed, 3 insertions, 5 deletions
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;