diff options
Diffstat (limited to 'src/gallium/drivers/radeon/r600_pipe_common.c')
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 8c66cc379ff..c58048f14e8 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -442,7 +442,7 @@ static void r600_flush_dma_ring(void *ctx, unsigned flags, } if (check_vm) - radeon_save_cs(rctx->ws, cs, &saved); + radeon_save_cs(rctx->ws, cs, &saved, true); rctx->ws->cs_flush(cs, flags, &rctx->last_sdma_fence); if (fence) @@ -464,7 +464,7 @@ static void r600_flush_dma_ring(void *ctx, unsigned flags, * list in \p saved. */ void radeon_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs, - struct radeon_saved_cs *saved) + struct radeon_saved_cs *saved, bool get_buffer_list) { void *buf; unsigned i; @@ -482,6 +482,9 @@ void radeon_save_cs(struct radeon_winsys *ws, struct radeon_winsys_cs *cs, } memcpy(buf, cs->current.buf, cs->current.cdw * 4); + if (!get_buffer_list) + return; + /* Save the buffer list. */ saved->bo_count = ws->cs_get_buffer_list(cs, NULL); saved->bo_list = CALLOC(saved->bo_count, |