diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2011-06-20 21:57:38 +0200 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2011-06-22 22:35:06 +0200 |
commit | 63d7ddb35fe8b6743de182b73e6967f97f6a7eba (patch) | |
tree | b64c9213847e6831b4508fac49bc821e215bedf1 /vmwgfx/vmwgfx_saa.c | |
parent | f71928d3f78d9f9e5a0fd240069b9035d4ccac75 (diff) |
vmwgfx: Fix dirty present bug
Clear dirty present areas when new contents are drawn to the backing
pixmap. Not when it is actually pushed to the screen.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Diffstat (limited to 'vmwgfx/vmwgfx_saa.c')
-rw-r--r-- | vmwgfx/vmwgfx_saa.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c index 83b1698..ad7f8b1 100644 --- a/vmwgfx/vmwgfx_saa.c +++ b/vmwgfx/vmwgfx_saa.c @@ -1054,6 +1054,8 @@ vmwgfx_dirty(struct saa_driver *driver, PixmapPtr pixmap, } REGION_UNION(vsaa->pScreen, vpix->pending_present, vpix->pending_present, damage); + REGION_SUBTRACT(vsaa->pScreen, vpix->dirty_present, + vpix->dirty_present, damage); } } else { if (REGION_NOTEMPTY(vsaa->pScreen, vpix->pending_present)) { @@ -1068,6 +1070,8 @@ vmwgfx_dirty(struct saa_driver *driver, PixmapPtr pixmap, } REGION_UNION(vsaa->pScreen, vpix->pending_update, vpix->pending_update, damage); + REGION_SUBTRACT(vsaa->pScreen, vpix->dirty_present, + vpix->dirty_present, damage); } return TRUE; |