> > By the way, when I was dumping the commands, I sometimes saw 0x00000000 > without any data. > > Do you have any idea what this value means? (just a NOP?) > > That's probably the null object (handle=0, class=0x30). It's created > for every channel, see libdrm/nouveau_channel.c:86.
Do we write data (0x00000000) to the pushbuf (chan->cur) when we create an object?. Because I see that mostly every pushbuf flush, by the pushbuf_flush() function, includes multiple 0x00000000 values, which are not written through BEGIN_RING(). I am not certain who writes these values to the pushbuf. They may be written through OUT_RING(), but I am sure that they are not following any header data written through BEGIN_RING(). Do you think it is possible that someone just writes 0x00000000 to the pushbuf? FYI, I am dumping the pushbuf in such a way that (1) outputs the data A (packet header) at the start address of the pushbuf, (2) gets the size X by (A >> 18 & 0x3fff), (3) skips the address by X * 32, and (4) outputs the data again. > >> - m2mf [5039]: memory copies > >> - eng2d [502d]: 2d engine > >> - tesla [5097, 8297, 8397, 8597]: 3d engine > >> - turing [50c0, 85c0]: computation engine: CUDA and the like > >> > >> Very likely there are more types, using different engine than PGRAPH, > but > >> we > >> don't know anything about them yet. At the very least there should be > the > >> video decoding engine. > > > > Got it. > > Regarding turing, you mean that Nouveau now supports CUDA? > > I think the kernel allows that object to be created, but that's all. > We don't have any userspace GPGPU library yet. Ok. Well, it is wonderful if Nouveau supports CUDA in the user space someday ;-) Thanks, - Shinpei _______________________________________________ Nouveau mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/nouveau
