dri2: Copy front to fake front in swapbuffer
If we don't have a fake front, nothing will happen. The fix was extracted from a bigger patch from Francisco Jerez. https://bugs.freedesktop.org/show_bug.cgi?id=27305 Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Pauli Nieminen <suokkos@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
ba1f1f9d9e
commit
4f0006c220
|
@ -634,6 +634,8 @@ DRI2SwapComplete(ClientPtr client, DrawablePtr pDraw, int frame,
|
|||
ScreenPtr pScreen = pDraw->pScreen;
|
||||
DRI2DrawablePtr pPriv;
|
||||
CARD64 ust = 0;
|
||||
BoxRec box;
|
||||
RegionRec region;
|
||||
|
||||
pPriv = DRI2GetDrawable(pDraw);
|
||||
if (pPriv == NULL) {
|
||||
|
@ -645,6 +647,14 @@ DRI2SwapComplete(ClientPtr client, DrawablePtr pDraw, int frame,
|
|||
pPriv->swapsPending--;
|
||||
pPriv->swap_count++;
|
||||
|
||||
box.x1 = 0;
|
||||
box.y1 = 0;
|
||||
box.x2 = pDraw->width;
|
||||
box.y2 = pDraw->height;
|
||||
REGION_INIT(pScreen, ®ion, &box, 0);
|
||||
DRI2CopyRegion(pDraw, ®ion, DRI2BufferFakeFrontLeft,
|
||||
DRI2BufferFrontLeft);
|
||||
|
||||
ust = ((CARD64)tv_sec * 1000000) + tv_usec;
|
||||
if (swap_complete)
|
||||
swap_complete(client, swap_data, type, ust, frame, pPriv->swap_count);
|
||||
|
|
Loading…
Reference in New Issue
Block a user