When to call FLUSH/SEMA/STALL
Rolf Wöhrmann
rolf.woehrmann at t-online.de
Thu May 11 06:54:48 UTC 2017
Hi
first thanks to all the responses to my previous post. The info was really helpful!
My question is when exactly to execute the FLUSH/SEMA/STALL sequence?
Let’s assume for simplicity we’ve a chain of lines & rect fills (aka clear) with changing color in between. This would result in a sequence of LOAD_STATE and START_DE ops.
Looking into the code it seems that after START_DE and changing the state with LOAD_STATE again for the next START_DE a FLUSH/SEMA/STALL is performed.
Is this mandatory (like state is “global” to the DE pipe and you have to wait until PE is finished before changing it) ?
I know that this is also of advantage like for fencing with using event/irqs and I also understood the use of WAIT/LINKs for a-synchronically managing the cmd ring buffer, but
my question relates to a situation where you have a long pre-known sequence of LOAD_STATEs and START_DEs and how to efficiently build up the related cmd sequence.
Any feedback is warmly appreciated!
Best
Rolf
More information about the etnaviv
mailing list