On Thu, 13 Sep 2001, Brett Bolen wrote:

> I'm working on an X extension that tracks which regions of the 
> xdpy that has changed.  I hope that this can be used in
> something like x0rfbserver ( which allows a remote 'viewer'
> to see and send input to a local xserver).  Currently x0rfbserver
> calls getimage and computes the diffs by hand.  This takes a
> whole lot of time ( and cpu cycles).
> 
> Mark Vojkovich suggested that I start with the shadowfb extension,
> since it has the correct hooks to detect when the screen changes.
> 
> questions:
> 
>   Does these GC functions and operations ( such as 
>      [Fill,Set]Spans, 
>      PutImage,  
>      Copy[Area,Plane], 
>      Poly[Point,lines,segment,rectangle,arc]
>      FillPoly[..]
>      [..]Text[8,16],
>      [..]Glyph[..] ) still get called when XAA is used?


    Yes, if you wrap in the correct place.  Your wrapper should
get initialized after XAA is initialized.  XAA is merely a wrapper
like this itself.  If it sees it can accelerate the operation, it
does so, if not, it unwraps and calls down to the software rendering
functions underneath it.  The extensions get loaded after the
drivers go through the ScreenInit, so an extension loaded from
the config file in the modules section would automatically wrap
in the correct place.


> 
>       If I hook these functions, do they still get called if 
>       xaa provides some hardware acceleration?  Are these xaa calls
>       handled above the GC funcs and ops.

   XAA is itself a wrapper of the GC funcs and ops from a lower layer
(most commonly the software rendering code is beneath it).  The
hardware cursor code goes above XAA.  Your extension will end up
above that.

> 
> 
>   Can you suggest a way I can get this same information for 
>   opengl api calls?  I recognize that some calls will update the
>   whole window, and that I will need to mark the full rectangle
>   as modified.

   This is difficult.  Maybe you can find the proc vector for
GLX and discover which drawables are current and always include
them in the area.  You might try tackling that later after you
get the core X protocol and X-Render working.


                        Mark.

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to