Module: Mesa
Branch: master
Commit: 79f2acb8f89704c609dd87d969353a506e03b05e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=79f2acb8f89704c609dd87d969353a506e03b05e

Author: Michel Dänzer <michel.daen...@amd.com>
Date:   Wed Nov 19 15:31:24 2014 +0900

r600g,radeonsi: Assert that there's enough space after flushing

Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>

---

 src/gallium/drivers/radeon/r600_pipe_common.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c 
b/src/gallium/drivers/radeon/r600_pipe_common.c
index 42e681d..3def444 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -107,11 +107,10 @@ void r600_draw_rectangle(struct blitter_context *blitter,
 
 void r600_need_dma_space(struct r600_common_context *ctx, unsigned num_dw)
 {
-       /* The number of dwords we already used in the DMA so far. */
-       num_dw += ctx->rings.dma.cs->cdw;
        /* Flush if there's not enough space. */
-       if (num_dw > RADEON_MAX_CMDBUF_DWORDS) {
+       if ((num_dw + ctx->rings.dma.cs->cdw) > RADEON_MAX_CMDBUF_DWORDS) {
                ctx->rings.dma.flush(ctx, RADEON_FLUSH_ASYNC, NULL);
+               assert((num_dw + ctx->rings.dma.cs->cdw) <= 
RADEON_MAX_CMDBUF_DWORDS);
        }
 }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to