Re: XFree86 5.0 TODO
Mark Vojkovich <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
On 25 Mar 2003, Juliusz Chroboczek wrote: > L> So in it's current form DGA is pretty useless even when we ignore > L> it's sequrity problems. > > There's at least one legitimate use of DGA that I can see. I believe > it's the only one. > > Consider a client that is doing its rendering client-side, but cannot > render to a shared-memory image, for example because it's using a > library that insists on rendering in buffers it allocates itself, or > because it's generating images in a non-X format. > > Such a client will need to do a copy (possibly changing formats on the > fly) from system memory to the framebuffer. Because it didn't render > to shm, it needs to do two copies -- either client buffer to shm to > framebuffer (ShmPutImage), or else client buffer to socket buffer to > framebuffer (PutImage). With DGA, it can do a single copy, and thus > limit both memory access and cache pollution. > > As I've said, I believe this to be the only legitimate application of > DGA, and I only know of it being actually required in video players > that use third-party codecs and that don't enjoy the benefits of Xv. > Whether this justifies the continuing existence of DGA (which highly > competent people tend to strongly dislike) is not something I can judge. > This is only a legitimate usage when in DGA mode. Many of the players I've seen use DGA to get the framebuffer address and then use that outside of the relatively safe full-screen mode to render to the root window, which is not safe at all. Mark.