[Mesa-dev] [PATCH 1/2] panfrost: Track BO lifetime with jobs and reference counts

Rob Clark robdclark at gmail.com
Wed Apr 17 16:40:48 UTC 2019


On Tue, Apr 16, 2019 at 8:07 AM Alyssa Rosenzweig <alyssa at rosenzweig.io> wrote:
>
> > > diff --git a/src/gallium/drivers/panfrost/pan_job.c
> > > b/src/gallium/drivers/panfrost/pan_job.c
> > > index 66a8b0d4b07..6c68575158f 100644
> > > --- a/src/gallium/drivers/panfrost/pan_job.c
> > > +++ b/src/gallium/drivers/panfrost/pan_job.c
> > > @@ -27,6 +27,13 @@
> > >  #include "util/hash_table.h"
> > >  #include "util/ralloc.h"
> > >
> > > +static void
> > > +remove_from_ht(struct hash_table *ht, void *key)
> > > +{
> > > +        struct hash_entry *entry = _mesa_hash_table_search(ht, key);
> > > +        _mesa_hash_table_remove(ht, entry);
> > > +}
> > > +
> >
> > This is the same as _mesa_hash_table_remove_key(), no?
>
> Maybe? I copypasted this from v3d, but maybe we're both duplicating
> code.
>
> > Did you mean to leave this #if'ed out?
>
> Yes, job flushing is a lot more complicated / depends on a lot more
> code; I just wanted the stub here for now.
>
> > Why not use pipe_reference instead of open-coding? That helper contains
> > some neat debug-helpers etc...
>
> pipe_reference kind of scares me... Most of the abstractions here are
> based heavily on v3d's; I figure if anholt had a good reason to do it,
> that's good enough for me..

I think the only (valid) reason not to use pipe_reference would be if
it was some code that might someday be useful for a vulkan driver.

(That said, maybe we should move more and more of gallium's helpful
util stuff out of gallium so they can be re-used across the mesa
tree...)

BR,
-R

> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list