"Dorrington, Albert" <albert.dorring...@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.
pgp_GUkhdx4nB.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev