"Dimitrie O. Paun" dpaun@rogers.com writes:
Fundamentally, the main purpose of a USER driver is to deal with windowing, and as such, it needs to be able to compute invalidated areas. It thus makes sense to for it to export functions that let you query this information.
The start/end interface used by x11drv makes sense, and it looks sane enough to be exported.
I disagree. Graphics exposures are a very X11 specific concept, they don't belong in the generic driver interface. This kind of change leads to the approach that we used before: do everything in USER and add a few strategically placed calls to x11drv where we really need it. That's the wrong approach, because it cannot be adapted to other drivers except by adding more and more driver calls all over USER.
The new approach is to put the driver in charge as much as possible; this means a lot more work is done inside the driver functions, which in turn gives a lot more flexibility. Of course reconciling that with dll separation is not always trivial, but that's part of the fun...