aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/common
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2020-01-30 11:35:52 -0600
committerMarge Bot <[email protected]>2020-01-31 17:23:39 +0000
commit9a95abd0f755331503e283354b44b639865f1329 (patch)
tree8380d11c4b600c5a17d5f98619ad42c89b3f9ecf /src/intel/common
parent51d7c42165d2344d0019299d42b34c07f7f5e8d0 (diff)
intel/tools: Handle strides better when dumping buffers
The old code would only break at stride boundaries if the stride was less than 32B; otherwise it would just break every 32B. This commit makes it break at stride boundaries and 32B boundaries (starting from the last stride). This makes reading large vertex buffers in aubinator much nicer. Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3642>
Diffstat (limited to 'src/intel/common')
-rw-r--r--src/intel/common/gen_batch_decoder.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/intel/common/gen_batch_decoder.c b/src/intel/common/gen_batch_decoder.c
index 2a5261b2f92..e03a5e1d26c 100644
--- a/src/intel/common/gen_batch_decoder.c
+++ b/src/intel/common/gen_batch_decoder.c
@@ -176,11 +176,13 @@ ctx_print_buffer(struct gen_batch_decode_ctx *ctx,
const uint32_t *dw_end =
bo.map + ROUND_DOWN_TO(MIN2(bo.size, read_length), 4);
- int column_count = 0, line_count = -1;
+ int column_count = 0, pitch_col_count = 0, line_count = -1;
for (const uint32_t *dw = bo.map; dw < dw_end; dw++) {
- if (column_count * 4 == pitch || column_count == 8) {
+ if (pitch_col_count * 4 == pitch || column_count == 8) {
fprintf(ctx->fp, "\n");
column_count = 0;
+ if (pitch_col_count * 4 == pitch)
+ pitch_col_count = 0;
line_count++;
if (max_lines >= 0 && line_count >= max_lines)
@@ -194,6 +196,7 @@ ctx_print_buffer(struct gen_batch_decode_ctx *ctx,
fprintf(ctx->fp, " 0x%08x", *dw);
column_count++;
+ pitch_col_count++;
}
fprintf(ctx->fp, "\n");
}