Re: XFree86 5.0 TODO
Juliusz Chroboczek <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
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.
Juliusz