[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