> I am trying to use the 0x110 SERIALIZE (or 0x108 WAIT_FOR_IDLE?) command to > barrier the PGRAPH commands. > Unfortunately, I do not find any examples either in nouveau or gallium.
There are some examples in DDX, but they don't use the symbolic name > If it plays just a barrier, I guess it should work by something like (in > case of m2mf): > BEGIN_RING(chan, m2mf, 0x110, 1); > OUT_RING(chan, 1); > > Otherwise, it may actually play to serialize some commands, then I would > rather use as follows: > BEGIN_RING(chan, m2mf, 0x110, 1); > OUT_RING(chan, NUMBER_OF_FOLLOWING_COMMANDS); > > I have tried both approaches, and the application runs without any > problems, but I am not sure if barriers have happened or not ;-) > I would appreciate if anyone can tell me how to use the barrier command. The WAIT_FOR_IDLE/SERIALIZE methods [they're really the same, I just didn't know it when I named the 0x110 on nv50] ignore the data value. Whenever they're on the tip of the internal PGRAPH command FIFO, they'll stall all processing until all PGRAPH subunits are idled, effectively acting as a full barrier. Yes, SERIALIZE should be renamed to WAIT_FOR_IDLE. > Best, > - Shinpei Marcin Kościelnicki _______________________________________________ Nouveau mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/nouveau
