-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various backports for Xserver/mi/miexpose (esp. miPaintWindow rewrite) #424
base: 3.6.x
Are you sure you want to change the base?
Conversation
f07cc05
to
206b677
Compare
And... Remove override for miPaintWindow from hw/nxagent/NXmiexpose.c, use the version that we ship in Xserver/mi/miexpose.c. commit 06d27f8045966c1fb154eafaff308a01b93f265b Author: Keith Packard <[email protected]> Date: Wed Sep 12 23:57:30 2007 +0100 Try again to fix drawable and tile offsets in miPaintWindow Many coordinate spaces are hard. Let's go drinking. commit dd3992eb86377684a5dbe86fa19c756a9e53cda2 Author: Keith Packard <[email protected]> Date: Wed Sep 12 22:39:31 2007 +0100 miPaintWindow draw to window for background. Instead of drawing to window pixmap for everything, draw to window for background as that works for Xnest and Xdmx; draw to pixmap for borders which neither of those X servers use. commit 257c8ed17f4f908e0d0d5e53aaf13aa3b1313f50 Author: Keith Packard <[email protected]> Date: Wed Sep 12 12:11:49 2007 +0100 Rewrite miPaintWindow to draw to window pixmap. miPaintWindow was drawing to the root window, or (sometimes) drawing to the window after smashing the window clip list. This is losing, and easily fixed by just drawing to the window pixmap. Backported-to-NX-by: Mike Gabriel <[email protected]>
commit 1e56b2dfc6377234ffdcdf206528d476b04d13af Author: Adam Jackson <[email protected]> Date: Fri Sep 12 12:51:13 2014 -0400 mi: Move pScreen->SendGraphicsExpose up to dix No DDX is overriding this and it's fairly absurd to expose it as a screen operation anyway. Reviewed-by: Julien Cristau <[email protected]> Signed-off-by: Adam Jackson <[email protected]> Backported-to-NX-by: Mike Gabriel <[email protected]>
…tRelative windows. commit 244a635fcdc9e0a7212d51b26d74f49d8e1b071f Author: Fredrik Höglund <[email protected]> Date: Mon Aug 18 19:27:34 2008 +0200 Fix the tile offset in miPaintWindow for ParentRelative windows. Backported-to-NX-by: Mike Gabriel <[email protected]>
…ntRelative commit b4061cf5f76241157b2dc81dec053012075311c0 Author: Peter Harris <[email protected]> Date: Tue May 12 14:19:15 2015 -0400 Fix border tile origin when background is ParentRelative According to http://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html#requests:CreateWindow "The border tile origin is always the same as the background tile origin." ChangeWindowAttributes goes to some effort to make sure it repaints the border tile whenever the background origin may have changed, but ChangeWindowAttributes goes to some effort to make sure it repaints the border tile whenever the background origin may have changed, but miPaintWindow was ignoring the background origin. Found by xts XChangeWindowAttributes-3 Signed-off-by: Peter Harris <[email protected]> Reviewed-by: Keith Packard <[email protected]> Signed-off-by: Keith Packard <[email protected]> Backported-to-NX-by: Mike Gabriel <[email protected]>
…f32449724eeb9b95d93. Move some fb code to mi code. Allows for easier changes afterwards, because the diffs reference the new actual files.
d6d54b9
to
2d23e8a
Compare
@@ -1117,8 +1117,7 @@ int PanoramiXCopyArea(ClientPtr client) | |||
} | |||
} | |||
RegionValidate(&totalReg, &overlap); | |||
(*pScreen->SendGraphicsExpose)( | |||
client, &totalReg, stuff->dstDrawable, X_CopyArea, 0); | |||
SendGraphicsExpose(client, &totalReg, stuff->dstDrawable, X_CopyArea, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason why you haven't formatted this as upstream did here and below?
@@ -470,6 +470,12 @@ extern void ClientWakeup( | |||
extern Bool ClientIsAsleep( | |||
ClientPtr /*client*/); | |||
|
|||
extern void SendGraphicsExpose(ClientPtr /*client */ , |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could also directly use the current style here as well.
@@ -610,8 +610,8 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) | |||
draw_x_off = drawable->x; | |||
draw_y_off = drawable->y; | |||
|
|||
tile_x_off = 0; | |||
tile_y_off = 0; | |||
tile_x_off = pWin->drawable.x - draw_x_off; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This backport might be meant well, but won't actually fix anything. With the current code, the behavior will at best be unchanged (since the new expressions should evaluate to zero anyway) and in the worst case break completely due to underflows.
For this to actually work correctly, we'll need a partial or full backport of e4d11e58ce349dfe6af2f73ff341317f9b39684c first - but that one is HUGE!
see also #440 |
No description provided.