Joe Krahn ([EMAIL PROTECTED]): > Shane Walton wrote: > > Could someone point me in the right direction to the ability to DMA > > a video frame from shared memory to the graphics device? Is there a > > way to use OpenGL along with DRI? There is just too much overhead > > involved to allow the Xserver to handle a CPU based memory transfer. > > Any thoughts/comments are appreciated. Thank you much.
Shane, You say 'video'. I guess your frames are Y'CbCr maps? Regardless of DMA, your two API options for hardware conversion are XVideo and OpenGL. If you're using R'G'B', then you can also blit with DGA or the XShm extension. For DMA transfers: > I suspect the best approach would be the XVideo extension. Look, for > examplem, at XvPutVideo. In general, the XVideo drivers use the cpu to transfer the frames to video memory. I've heard that some of the ATI drivers use DMA now, and I also heard that the nVidia binary drivers use DMA, but that's it. I know it's on my todo list to get this working for some other cards, and I know of some others who are anxious to do this work also. But work isn't happening too quickly here. :) > If you want to use OpenGL, glDrawPixels will copy a source image to > the screen, hopefully optimized in hardware. It's also not necessarily true that all drivers use DMA for texture uploads. Again, the ATI drivers likely do, and same for the nVidia binary drivers. I know for my video apps, I'm avoiding using OpenGL until I can see about getting the DRI stuff to do vsync'ed page flipping. I find the tearing much more awkward than the CPU time lost. I don't think there's a call in DGA2 to let you request a hardware-assisted image upload, so I would suspect that no drivers would be able to use DMA to accellerate it. For the X shared memory extension, it would be possible to have the driver DMA the image to video memory, but I don't think any drivers do this. Personally though, I find this API less interesting since you cannot use it to export hardware scaling or page flipping. It seems to me that the XVideo API should soon deprecate the use of XShm once all drivers support R'G'B' surfaces. -- Billy Biggs [EMAIL PROTECTED] _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert
