mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 06:10:13 +01:00
st/xorg: Only damage non-front source in DRI2 CopyRegion hook.
Based on a vmwgfx xa/saa fix. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
005aea891e
commit
751f0ce773
1 changed files with 9 additions and 7 deletions
|
|
@ -372,13 +372,15 @@ dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion,
|
|||
save_accel = ms->exa->accel;
|
||||
ms->exa->accel = TRUE;
|
||||
|
||||
/* In case it won't be though, make sure the GPU copy contents of the
|
||||
* source pixmap will be used for the software fallback - presumably the
|
||||
* client modified them before calling in here.
|
||||
*/
|
||||
exaMoveInPixmap(src_priv->pPixmap);
|
||||
DamageRegionAppend(src_draw, pRegion);
|
||||
DamageRegionProcessPending(src_draw);
|
||||
if (pSrcBuffer->attachment != DRI2BufferFrontLeft) {
|
||||
/* In case it won't be though, make sure the GPU copy contents of the
|
||||
* source pixmap will be used for the software fallback - presumably the
|
||||
* client modified them before calling in here.
|
||||
*/
|
||||
exaMoveInPixmap(src_priv->pPixmap);
|
||||
DamageRegionAppend(src_draw, pRegion);
|
||||
DamageRegionProcessPending(src_draw);
|
||||
}
|
||||
|
||||
if (cust && cust->winsys_context_throttle)
|
||||
cust->winsys_context_throttle(cust, ms->ctx, THROTTLE_SWAP);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue