diff options
author | Nicolai Hähnle <nicolai.haehnle@amd.com> | 2016-05-06 17:02:30 -0500 |
---|---|---|
committer | Nicolai Hähnle <nicolai.haehnle@amd.com> | 2016-05-17 15:28:39 -0500 |
commit | 0558564200466878f1a86e7a192d085b551079c4 (patch) | |
tree | a76323fc1a7d1b1a7494ecc63a2cbd5745dff0c7 /src/gallium/drivers/radeon/r600_pipe_common.c | |
parent | 5e89b027b9ca761488b97fd41e1a3e7ec6137dff (diff) | |
download | external_mesa3d-0558564200466878f1a86e7a192d085b551079c4.zip external_mesa3d-0558564200466878f1a86e7a192d085b551079c4.tar.gz external_mesa3d-0558564200466878f1a86e7a192d085b551079c4.tar.bz2 |
gallium/radeon: add radeon_emitted to check for non-trivial IBs
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeon/r600_pipe_common.c')
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index a5966d9..8d9c5a5 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -155,7 +155,7 @@ void r600_need_dma_space(struct r600_common_context *ctx, unsigned num_dw, } /* Flush the GFX IB if DMA depends on it. */ - if (ctx->gfx.cs->cdw > ctx->initial_gfx_cs_size && + if (radeon_emitted(ctx->gfx.cs, ctx->initial_gfx_cs_size) && ((dst && ctx->ws->cs_is_buffer_referenced(ctx->gfx.cs, dst->buf, RADEON_USAGE_READWRITE)) || @@ -212,7 +212,7 @@ void r600_dma_emit_wait_idle(struct r600_common_context *rctx) r600_need_dma_space(rctx, 1, NULL, NULL); - if (cs->cdw == 0) /* empty queue */ + if (!radeon_emitted(cs, 0)) /* empty queue */ return; /* NOP waits for idle on Evergreen and later. */ @@ -295,7 +295,7 @@ static void r600_flush_dma_ring(void *ctx, unsigned flags, struct r600_common_context *rctx = (struct r600_common_context *)ctx; struct radeon_winsys_cs *cs = rctx->dma.cs; - if (cs->cdw) + if (radeon_emitted(cs, 0)) rctx->ws->cs_flush(cs, flags, &rctx->last_sdma_fence); if (fence) rctx->ws->fence_reference(fence, rctx->last_sdma_fence); |