[PATCH 2/2] DRI2: Add error message when working around driver bug
Mario Kleiner
mario.kleiner at tuebingen.mpg.de
Mon Oct 25 18:00:02 PDT 2010
On Oct 25, 2010, at 6:52 PM, Jesse Barnes wrote:
> On Mon, 25 Oct 2010 17:13:58 +0300
> Pauli Nieminen <ext-pauli.nieminen at nokia.com> wrote:
>
>> There isn't API that allows application atomically query for msc
>> changes
>> and schedule swaps. If msc changes dramatically between query and
>> scheduling application would schedule swap to happen at wrong time.
>>
>> Because of API limitations driver has to make msc increment for each
>> vblank affecting the drawable.
>>
>> Signed-off-by: Pauli Nieminen <ext-pauli.nieminen at nokia.com>
>> CC: Kristian Høgsberg <krh at bitplanet.net>
>> ---
>> hw/xfree86/dri2/dri2.c | 7 +++++--
>> 1 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
>> index d9b9d57..d70c115 100644
>> --- a/hw/xfree86/dri2/dri2.c
>> +++ b/hw/xfree86/dri2/dri2.c
>> @@ -860,9 +860,12 @@ DRI2SwapBuffers(ClientPtr client, DrawablePtr
>> pDraw, CARD64 target_msc,
>> if (!(*ds->GetMSC)(pDraw, &ust, ¤t_msc))
>> pPriv->last_swap_target = 0;
>>
>> - if (current_msc < pPriv->last_swap_target)
>> + if (current_msc < pPriv->last_swap_target) {
>> pPriv->last_swap_target = current_msc;
>> -
>> + xf86DrvMsg(pScreen->myNum, X_ERROR,
>> + "[DRI2] %s: GetMSC returned swap count that is in "
>> + "past. Working around driver bug.\n", __func__);
>> + }
>> }
>
> This one scares me a little. We added this so we could also catch
> drawables moving between screens with different msc bases, so this
> patch could cause a lot of false positives (no question that the specs
> could use some additions here though).
>
> Making it a debug message that only shows up with -verbose would be
> fine though.
>
> --
> Jesse Barnes, Intel Open Source Technology Center
I agree with Jesse, as a debug message at -verbose it would be fine.
-mario
More information about the xorg-devel
mailing list