diff options
author | Kenneth Graunke <[email protected]> | 2017-11-28 10:07:43 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2018-03-01 15:46:11 -0800 |
commit | b04c5cece7764967e834f4ca0ce5d650df5f8893 (patch) | |
tree | 91b17d9d84941377432e66a2f412bbafc33566aa /src/mesa/drivers | |
parent | ff4726077d86800d33520581f154a27dac408588 (diff) |
i965: Add debugging code to dump the validation list.
When anything goes wrong with this code, dumping the validation list
is a useful way to figure out what's happening.
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_batchbuffer.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c index 5385347dba2..c16f7c4d74b 100644 --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c @@ -55,6 +55,28 @@ static void intel_batchbuffer_reset(struct brw_context *brw); +UNUSED static void +dump_validation_list(struct intel_batchbuffer *batch) +{ + fprintf(stderr, "Validation list (length %d):\n", batch->exec_count); + + for (int i = 0; i < batch->exec_count; i++) { + uint64_t flags = batch->validation_list[i].flags; + assert(batch->validation_list[i].handle == + batch->exec_bos[i]->gem_handle); + fprintf(stderr, "[%2d]: %2d %-14s %p %s%-7s @ 0x%016llu%s (%"PRIu64"B)\n", + i, + batch->validation_list[i].handle, + batch->exec_bos[i]->name, + batch->exec_bos[i], + (flags & EXEC_OBJECT_SUPPORTS_48B_ADDRESS) ? "(48b" : "(32b", + (flags & EXEC_OBJECT_WRITE) ? " write)" : ")", + batch->validation_list[i].offset, + (flags & EXEC_OBJECT_PINNED) ? " (pinned)" : "", + batch->exec_bos[i]->size); + } +} + static bool uint_key_compare(const void *a, const void *b) { |