Mesa (master): r600g: turn some CS overflow checks into assertions

Marek Olšák mareko at kemper.freedesktop.org
Thu Nov 10 18:02:50 UTC 2011


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Thu Nov 10 17:52:36 2011 +0100

r600g: turn some CS overflow checks into assertions

They're not really exhaustive and not so useful either.

---

 src/gallium/drivers/r600/evergreen_hw_context.c |    7 +------
 src/gallium/drivers/r600/r600_hw_context.c      |    7 +------
 2 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_hw_context.c b/src/gallium/drivers/r600/evergreen_hw_context.c
index 5eb6332..96e8d18 100644
--- a/src/gallium/drivers/r600/evergreen_hw_context.c
+++ b/src/gallium/drivers/r600/evergreen_hw_context.c
@@ -1156,12 +1156,7 @@ void evergreen_context_draw(struct r600_context *ctx, const struct r600_draw *dr
 	}
 
 	r600_need_cs_space(ctx, 0, TRUE);
-
-	/* at this point everything is flushed and ctx->pm4_cdwords = 0 */
-	if (unlikely((ctx->pm4_dirty_cdwords + ndwords) > RADEON_MAX_CMDBUF_DWORDS)) {
-		R600_ERR("context is too big to be scheduled\n");
-		return;
-	}
+	assert(ctx->pm4_cdwords + ctx->pm4_dirty_cdwords + ndwords < RADEON_MAX_CMDBUF_DWORDS);
 
 	/* enough room to copy packet */
 	LIST_FOR_EACH_ENTRY_SAFE(dirty_block, next_block, &ctx->dirty,list) {
diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index eb80fa9..3a0cde3 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -1460,12 +1460,7 @@ void r600_context_draw(struct r600_context *ctx, const struct r600_draw *draw)
 	}
 
 	r600_need_cs_space(ctx, 0, TRUE);
-
-	/* at this point everything is flushed and ctx->pm4_cdwords = 0 */
-	if (unlikely((ctx->pm4_dirty_cdwords + ndwords) > RADEON_MAX_CMDBUF_DWORDS)) {
-		R600_ERR("context is too big to be scheduled\n");
-		return;
-	}
+	assert(ctx->pm4_cdwords + ctx->pm4_dirty_cdwords + ndwords < RADEON_MAX_CMDBUF_DWORDS);
 
 	/* enough room to copy packet */
 	LIST_FOR_EACH_ENTRY_SAFE(dirty_block, next_block, &ctx->dirty, list) {




More information about the mesa-commit mailing list