|
From: Antonino D. <ad...@po...> - 2002-06-03 23:53:24
|
On Mon, 2002-06-03 at 23:49, Sottek, Matthew J wrote: > > So here is the obvious problem case. > > Application mmap's the framebuffer. > Application Draws some pixels into the framebuffer. > Application issues an ioctl that would lead to a blit, the command is put > in a ring buffer but hasn't happened yet. > The application draws some more pixels (via the mmap) in a region that > intersects the previously blitted region. > The hardware gets around to the blit command and overwrites the pixels you > just put in the frambuffer. > > And it does not have to happen outside the kernel. Within the kernel too. For instance, a particular accelerator may only support fillrect and copyarea, but not imageblit (neofb). It has no choice but to mix in cfb_imageblit and the sync problem will arise unless the accelerator forces a sync -- which neofb does by the way. Tony |