[PATCH] dri2: Copy front to fake front in swapbuffer
Pauli Nieminen
suokkos at gmail.com
Mon May 10 23:07:42 PDT 2010
Fixing Keith's address.
2010/5/11 Pauli Nieminen <suokkos at gmail.com>:
> 2010/5/10 Kristian Høgsberg <krh at bitplanet.net>:
>> 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 at bitplanet.net>
>
> Reviewed-by: Pauli Nieminen <suokkos at gmail.com>
>
>> ---
>> hw/xfree86/dri2/dri2.c | 10 ++++++++++
>> 1 files changed, 10 insertions(+), 0 deletions(-)
>>
>> diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
>> index 11442d0..143163d 100644
>> --- a/hw/xfree86/dri2/dri2.c
>> +++ b/hw/xfree86/dri2/dri2.c
>> @@ -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);
>> --
>> 1.7.0.1
>>
More information about the xorg-devel
mailing list