[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
  Web www.spinics.net

Re: [XFree86] Clipping graphic primitives to visible area of Window

   Backing store doesn't really guarantee that you won't get
expose events.  I believe the X11 Protocol specification says
that enabling backing store merely tells the server that saving
contents would be "useful" and doesn't guarantee that you won't
get expose events.  A program that isn't capable of handling
expose events is technically broken.  It's probably the case
that different vendor implementations of backing store make
different guarantees.  XFree86 uses the implementation from
the X11 sample implementation.

   The big question is whether or not XFree86 sent exposures
when this scrolling occurred (assuming the application requested
expose events in the first place).  If the expose event was
sent, this is technically not a server bug.   The only thing
weird that I see from your snapshots was that it appears as
though some rendering operations may have be rendered to the
backing store while some others might not have.  Though another
explanation is that XFree86 didn't render any of it and the
text was the only part rerendered by the application after
the expose event.

   I did some quick tests with the only backing store aware
application I have (the "xv" image viewer) and didn't see any
obvious problems using NVIDIA's drivers.  Sometimes driver or
extention implementations can break the backing store wrappers,
but you are using the 'r128' driver which probably isn't modifying
the wrappers.  Some of the other extensions might.   You could
try commenting out the loading of the dbe, dri or glx modules
in the XF86Config, but I doubt those would be breaking backing
store wrappers.

   My guess is that this is probably a bad app assumption rather
than a server bug, but I don't have a way to verify that at the


On Mon, 10 Apr 2006, Pearson, Paul L-Baker Atlas wrote:

> Mark,
> Thanks for the reply. Our applications do depend on backing store and I
> have enabled it, and it appears to work. If I put a window over the
> window, everything that was there comes back when the overlay is
> removed.
> I have a window which is smaller than my drawable. The window has scroll
> bars. I use text, pixels and graphic primitives (XDrawLine) to display
> to the drawable. Everything is displayed in the window. I scroll the
> window. The text and pixels are displayed, but the graphics done with
> the primitives are not displayed. The display acts as if the
> clip_x_origin, clip_y_origin and clip_mask are being set to the size and
> location of the window. If I scroll the window and force a graphics
> update, some more primitives are displayed. If I scroll the window back
> to where it was, that which was displayed with the primitives is gone,
> text and pixels are there.
> I've attached four files (hopefully I will remember to attach them) -
> the XF86Config file, disp1.png (showing the display before scrolling)
> and disp2.png (showing the display after scrolling), and disp3.png
> (after forcing an update to the scrolled window).
> Paul Pearson
> Software Developer
> VSFusion
> 16430 Park Ten Place, Suite 405
> Houston, Texas 77084
> tel:           + 1 281-646-2750
> fax:          + 1 281-646-2799
> email:     paul.pearson@xxxxxxxxxxxx
> web:       www.vsfusion.com


[X Forum]     [XFree86]     [XFree86 Newbie]     [IETF Annouce]     [Security]     [Fontconfig]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Video for Linux]     [Linux RAID]     [Linux Resources]

Powered by Linux