[Mesa-dev] EXTERNAL: Re: Clover clEnqueue* function don't implement blocking?

Francisco Jerez currojerez at riseup.net
Mon Apr 14 13:04:21 PDT 2014


"Dorrington, Albert" <albert.dorrington at lmco.com> writes:
>[...]
> But when these events are queued, if there isn't a wait(), then what
> triggers their flush from the queued_events list?  That seems to only
> happen when the hard_event::wait() is called (assuming the status is
> queued)
>

Yes, that's right, or when clFlush() is called.  So basically we only
flush the queued commands to the hardware when the user does some
blocking call like reading back a buffer object or waiting for an event
explicitly.

> Shouldn't something be flushing the queue as the events are processed
> (especially if nothing is pending on the events), well before the
> clFinish() call?

I don't have any evidence that doing so would improve performance.
Clover tries to minimize the frequency of flushes because it can be
quite an expensive operation -- AFAIK for all hardware gallium drivers
it involves at least one system call.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 229 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140414/c5b2fc6d/attachment.sig>


More information about the mesa-dev mailing list