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 <kenn...@whitecape.org> --- 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 7f4121c..5604829 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; -- 1.8.3.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev