[Mesa-dev] [PATCH v2 25/37] panfrost: Add a batch fence

Alyssa Rosenzweig alyssa at rosenzweig.io
Tue Sep 17 12:22:13 UTC 2019


> > > +        /* Start in a signaled state so that even non-submitted batches
> > > +         * (those that have no draw/clear) can be waited upon.
> > > +         */  
> > 
> > When would this happen? Presumably if a batch does nothing whatsoever,
> > it doesn't make sense to wait on it.
> 
> Was just simpler to have all batch fences containing a syncobjs on
> which we can call WAIT_SYNCOBJ even no real fence is attached to it.
> 
> The other option being to set fence->signaled to true when a batch with
> no draw/clear is submitted, and then skip those entries when we build
> the array passed to the waitsyncobj() func.

I'm wondering the latter option would be cleaner, rather than having
extra DRM objects floating around?

> > >  #include "pan_resource.h"
> > >  
> > > +        /* Batch that created this fence object. Will become NULL at batch
> > > +         * submission time. This field is mainly here to know whether the
> > > +         * batch has been flushed or not.
> > > +         */
> > > +        struct panfrost_batch *batch;  
> > 
> > Could this be replaced by just a `bool flushed`, or do we actually use
> > the value in a later patch?
> 
> I actually use the value to flush deps when they're not already flushed.

Fair enough.


More information about the mesa-dev mailing list