On Thu, 18 Jul 2002, Preetham wrote:
> Hi all,
> I was going thru the docs and found a reference to a regoin. What
> exactly constitutes a region in a framebuffer.
A Region is essentially a list of rectangles. See:
xc/programs/Xserver/include/regionstr.h
> Also, is there any information i could get on the Xserver\miext\shadow
> files. Is it to create another shadow frame buffer that other programs
> can read from.
I wrote the original shadowfb in xc/programs/Xserver/hw/xfree86/shadowfb.
Basically what it does is wraps all rendering functions and gives the
initializer a callback indicating that the framebuffer was touched and
reports a bounding box around the damaged area. This was written to
get X working on the 3Dfx Voodoo 1 and 2 cards. The idea was that
you could create a proxy framebuffer in system memory for the server
to render into, trap rendering into it with the shadow framebuffer layer
and then copy bounding regions from it into the real framebuffer.
This would allow running X on hardware that had complicated access
to the framebuffer.
Keith Packard wrote the improved version that you are asking about.
It gives finer detail in its callback. It reports a region rather
than a bounding box. It also has a performance advantage that it
doesn't report after every access to the framebuffer, but rather
coaleses groups of requests and reports them when the X-server
goes back to waiting on its file descriptors. This is roughly
every 20 milliseconds or so.
The generic use of the shadowfb is just to notify of changes
to windows and the original shadowfb code can do that. I'm not
sure if the new stuff is that generic anymore or if stuff has
creap into it that solidifies it with the intent of proxy
framebuffer operation, but if you have a custom project it probably
wouldn't be too much trouble to modify this for your needs.
Mark.
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert