diff options
author | Kenneth Graunke <[email protected]> | 2013-08-14 16:07:51 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-08-16 15:54:24 -0700 |
commit | e29931aa7423209d29a23be2ad754abb0f79315e (patch) | |
tree | 98d2bd602542e627ec346c2cc289829e70a98015 /src | |
parent | 2a9492f3215ee01ed679aa02809099f090291969 (diff) |
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 <[email protected]>
Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_batchbuffer.c | 13 |
1 files 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; |