diff options
author | Thomas Hellstrom <[email protected]> | 2017-04-26 23:58:47 -0700 |
---|---|---|
committer | Thomas Hellstrom <[email protected]> | 2017-06-16 08:40:26 +0200 |
commit | 14f888a2ba506a66754fcdfc7b050bdedf15ac7c (patch) | |
tree | b1c9f75e339e7cbac95a8265b670bf12405b2ccc | |
parent | 4c3e8f141b6a7e82d91e64b87c0b63f2b12cc437 (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.c | 8 |
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; |