On Tuesday, February 27, 2018 2:03:52 AM PST Chris Wilson wrote:
> Quoting Kenneth Graunke (2018-02-26 23:54:59)
> > When anything goes wrong with this code, dumping the validation list
> > is a useful way to figure out what's happening.
> > ---
> > src/mesa/drivers/dri/i965/intel_batchbuffer.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > I've now used this code on multiple occasions to debug issues. Unless
> > someone NAKs it, I'm going to push it in the next few days.
> >
> > diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> > b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> > index d0999bb3caa..26718e0d1a2 100644
> > --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> > +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> > @@ -55,6 +55,26 @@
> > 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 %-15s %p %s%-7s @ 0x%llu%s\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)" : "");
>
> Would it not be useful to mention if the buffer contains any
> relocations? Just wondering if that helps.I don't think so. Only the batch and the statebuffer contain relocations, so most of the entries here wouldn't have any useful info. We probably just want a second function to dump out a brw_reloc_list. > Follow offset with size. > -Chris Okay, I've changed it to: "[%2d]: %2d %-14s %p %s%-7s @ 0x%016llu%s (%"PRIu64"B)\n" and added batch->exec_bos[i]->size at the end.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
