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