Hi Marcin, Thanks for your quick response. I found some examples in DDX! These examples use with Nv2D (subc=2). Do you think that the SERIALIZE command also works for other objects, like M2MF?
Thanks, - Shinpei > -----Original Message----- > From: Marcin Kościelnicki [mailto:[email protected]] > Sent: Saturday, April 10, 2010 12:11 AM > To: Shinpei KATO > Cc: [email protected] > Subject: Re: [Nouveau] SERIALIZE command > > > 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
