From e29931aa7423209d29a23be2ad754abb0f79315e Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 14 Aug 2013 16:07:51 -0700 Subject: [PATCH] i965: Dump more information about batch buffer usage. Previously, INTEL_DEBUG=bat would dump messages like: intel_mipmap_tree.c:1643: Batchbuffer flush with 456b used This only reported the space used for command packets, and didn't report any information on the space used for indirect state. Now it dumps: intel_context.c:366: Batchbuffer flush with 6128b (pkt) + 4288b (state) = 10416b (31.8%) This conveniently shows the breakdown of space used for packets vs. state, as well as the percentage of batchbuffer space. Signed-off-by: Kenneth Graunke Reviewed-by: Paul Berry --- src/mesa/drivers/dri/i965/intel_batchbuffer.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c index 7f4121cb943..56048293ade 100644 --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c @@ -241,9 +241,16 @@ _intel_batchbuffer_flush(struct brw_context *brw, drm_intel_bo_reference(brw->first_post_swapbuffers_batch); } - if (unlikely(INTEL_DEBUG & DEBUG_BATCH)) - fprintf(stderr, "%s:%d: Batchbuffer flush with %db used\n", file, line, - 4*brw->batch.used); + if (unlikely(INTEL_DEBUG & DEBUG_BATCH)) { + int bytes_for_commands = 4 * brw->batch.used; + int bytes_for_state = brw->batch.bo->size - brw->batch.state_batch_offset; + int total_bytes = bytes_for_commands + bytes_for_state; + fprintf(stderr, "%s:%d: Batchbuffer flush with %4db (pkt) + " + "%4db (state) = %4db (%0.1f%%)\n", file, line, + bytes_for_commands, bytes_for_state, + total_bytes, + 100.0f * total_bytes / BATCH_SZ); + } brw->batch.reserved_space = 0; -- 2.30.2