summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorNiels Ole Salscheider <niels_ole@salscheider-online.de>2014-03-13 20:07:14 +0100
committerMarek Olšák <marek.olsak@amd.com>2014-03-14 15:01:14 +0100
commitf9901f1ab284563c9f3e3ab1d6b6ebfd6cd5575e (patch)
tree52b1f75f50321a5d01f00052fd70994e46a781aa /src/gallium
parent087b0ff1c1f136e5d7e4775b8b8889f1ef7ee1f8 (diff)
radeonsi: flush the dma ring in si_flush_from_st
Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index 827e9fe5e0d..401bf6a8689 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -65,6 +65,13 @@ static void si_flush_from_st(struct pipe_context *ctx,
struct pipe_fence_handle **fence,
unsigned flags)
{
+ struct si_context *sctx = (struct si_context *)ctx;
+
+ if (sctx->b.rings.dma.cs) {
+ sctx->b.rings.dma.flush(sctx,
+ flags & PIPE_FLUSH_END_OF_FRAME ? RADEON_FLUSH_END_OF_FRAME : 0);
+ }
+
si_flush(ctx, fence,
flags & PIPE_FLUSH_END_OF_FRAME ? RADEON_FLUSH_END_OF_FRAME : 0);
}