[Mesa-dev] [PATCH 12/15] radeonsi: remove old CS tracing code

Marek Olšák maraeo at gmail.com
Sun Aug 23 05:04:58 PDT 2015


From: Marek Olšák <marek.olsak at amd.com>

Some of it is left there and it will be re-used in the next commit.
---
 src/gallium/drivers/radeonsi/si_hw_context.c | 25 +------------------------
 src/gallium/drivers/radeonsi/si_pipe.h       |  5 -----
 src/gallium/drivers/radeonsi/si_pm4.c        | 12 ------------
 src/gallium/drivers/radeonsi/si_state.h      |  1 +
 src/gallium/drivers/radeonsi/si_state_draw.c |  7 +------
 5 files changed, 3 insertions(+), 47 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_hw_context.c b/src/gallium/drivers/radeonsi/si_hw_context.c
index f848c64..b726eb3 100644
--- a/src/gallium/drivers/radeonsi/si_hw_context.c
+++ b/src/gallium/drivers/radeonsi/si_hw_context.c
@@ -88,11 +88,8 @@ void si_need_cs_space(struct si_context *ctx, unsigned num_dw,
 	/* Count in framebuffer cache flushes at the end of CS. */
 	num_dw += ctx->atoms.s.cache_flush->num_dw;
 
-#if SI_TRACE_CS
-	if (ctx->screen->b.trace_bo) {
+	if (ctx->screen->b.trace_bo)
 		num_dw += SI_TRACE_CS_DWORDS;
-	}
-#endif
 
 	/* Flush if there's not enough space. */
 	if (num_dw > cs->max_dw) {
@@ -146,26 +143,6 @@ void si_context_gfx_flush(void *context, unsigned flags,
 	if (fence)
 		ws->fence_reference(fence, ctx->last_gfx_fence);
 
-#if SI_TRACE_CS
-	if (ctx->screen->b.trace_bo) {
-		struct si_screen *sscreen = ctx->screen;
-		unsigned i;
-
-		for (i = 0; i < 10; i++) {
-			usleep(5);
-			if (!ws->buffer_is_busy(sscreen->b.trace_bo->buf, RADEON_USAGE_READWRITE)) {
-				break;
-			}
-		}
-		if (i == 10) {
-			fprintf(stderr, "timeout on cs lockup likely happen at cs %d dw %d\n",
-				sscreen->b.trace_ptr[1], sscreen->b.trace_ptr[0]);
-		} else {
-			fprintf(stderr, "cs %d executed in %dms\n", sscreen->b.trace_ptr[1], i * 5);
-		}
-	}
-#endif
-
 	si_begin_new_cs(ctx);
 }
 
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 3672fec..09a21ce 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -43,7 +43,6 @@
 #define SI_RESTART_INDEX_UNKNOWN INT_MIN
 #define SI_NUM_SMOOTH_AA_SAMPLES 8
 
-#define SI_TRACE_CS 0
 #define SI_TRACE_CS_DWORDS		6
 
 #define SI_MAX_DRAW_CS_DWORDS \
@@ -298,10 +297,6 @@ void si_context_gfx_flush(void *context, unsigned flags,
 void si_begin_new_cs(struct si_context *ctx);
 void si_need_cs_space(struct si_context *ctx, unsigned num_dw, boolean count_draw_in);
 
-#if SI_TRACE_CS
-void si_trace_emit(struct si_context *sctx);
-#endif
-
 /* si_compute.c */
 void si_init_compute_functions(struct si_context *sctx);
 
diff --git a/src/gallium/drivers/radeonsi/si_pm4.c b/src/gallium/drivers/radeonsi/si_pm4.c
index e9b9a5f..036d90c 100644
--- a/src/gallium/drivers/radeonsi/si_pm4.c
+++ b/src/gallium/drivers/radeonsi/si_pm4.c
@@ -135,12 +135,6 @@ unsigned si_pm4_dirty_dw(struct si_context *sctx)
 			continue;
 
 		count += state->ndw;
-#if SI_TRACE_CS
-		/* for tracing each states */
-		if (sctx->screen->b.trace_bo) {
-			count += SI_TRACE_CS_DWORDS;
-		}
-#endif
 	}
 
 	return count;
@@ -161,12 +155,6 @@ void si_pm4_emit(struct si_context *sctx, struct si_pm4_state *state)
 	}
 
 	cs->cdw += state->ndw;
-
-#if SI_TRACE_CS
-	if (sctx->screen->b.trace_bo) {
-		si_trace_emit(sctx);
-	}
-#endif
 }
 
 void si_pm4_emit_dirty(struct si_context *sctx)
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h
index b8f63c5..118c562 100644
--- a/src/gallium/drivers/radeonsi/si_state.h
+++ b/src/gallium/drivers/radeonsi/si_state.h
@@ -281,6 +281,7 @@ extern const struct r600_atom si_atom_msaa_sample_locs;
 extern const struct r600_atom si_atom_msaa_config;
 void si_emit_cache_flush(struct r600_common_context *sctx, struct r600_atom *atom);
 void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo);
+void si_trace_emit(struct si_context *sctx);
 
 /* si_commands.c */
 void si_cmd_context_control(struct si_pm4_state *pm4);
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 4c21655..e56c9e7 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -835,11 +835,8 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
 	si_emit_draw_registers(sctx, info);
 	si_emit_draw_packets(sctx, info, &ib);
 
-#if SI_TRACE_CS
-	if (sctx->screen->b.trace_bo) {
+	if (sctx->screen->b.trace_bo)
 		si_trace_emit(sctx);
-	}
-#endif
 
 	/* Workaround for a VGT hang when streamout is enabled.
 	 * It must be done after drawing. */
@@ -874,7 +871,6 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
 	sctx->b.num_draw_calls++;
 }
 
-#if SI_TRACE_CS
 void si_trace_emit(struct si_context *sctx)
 {
 	struct si_screen *sscreen = sctx->screen;
@@ -893,4 +889,3 @@ void si_trace_emit(struct si_context *sctx)
 	radeon_emit(cs, cs->cdw);
 	radeon_emit(cs, sscreen->b.cs_count);
 }
-#endif
-- 
2.1.4



More information about the mesa-dev mailing list