From: Eric Anholt <eric@anholt.net>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org, Theo Hill <Theo0x48@gmail.com>
Subject: Re: [PATCH] UXA: Wait until a pageflip actually completes to report it.
Date: Thu, 08 May 2014 13:55:30 -0700 [thread overview]
Message-ID: <87d2fo9eil.fsf@eliezer.anholt.net> (raw)
In-Reply-To: <20140508204359.GC3443@nuc-i3427.alporthouse.com>
[-- Attachment #1.1: Type: text/plain, Size: 1826 bytes --]
Chris Wilson <chris@chris-wilson.co.uk> writes:
> On Thu, May 08, 2014 at 08:54:52AM -0700, Eric Anholt wrote:
>> Chris Wilson <chris@chris-wilson.co.uk> writes:
>>
>> > On Wed, May 07, 2014 at 10:44:23PM -0700, Jamey Sharp wrote:
>> >> On Wed, May 07, 2014 at 04:55:18PM +0100, Chris Wilson wrote:
>> >> > On Mon, May 05, 2014 at 11:05:07PM -0700, Jamey Sharp wrote:
>> >> > > UXA was reporting page-flip completion as soon as the flip was scheduled
>> >> > > with the kernel, instead of waiting for the kernel to indicate that the
>> >> > > flip had actually completed.
>> >> > >
>> >> > > Moving the DRI2SwapComplete call to the right place fixes all of our
>> >> > > Piglit tests for OML_sync_control when run on xf86-video-intel/UXA,
>> >> > > aside from a bit of difficult-to-reproduce flakiness when using a
>> >> > > divisor > 1.
>> >> >
>> >> > The violation is intentional, as it gives us triple buffering by
>> >> > default. It can be disabled.
>> >>
>> >> As far as I can tell, this patch has no effect on triple-buffering. I
>> >> verified that by logging new_front->handle in intel_do_pageflip: It
>> >> rotates through three different BO's on successive flips.
>> >
>> > The patch blocks clients in GetBuffers until the swap completes,
>> > preventing them from rendering to the third buffer.
>>
>> I don't see where the client gets blocked in a swapbuffers. Can you
>> point that out?
>
> DRI2ThrottleClient() called by GetBuffers and SwapBuffers will call
> IgnoreClient() if swapsPending >= swap_limit and will only wake the
> client on calling DRI2SwapComplete(). The premature SwapComplete is to
> allow the clients next call to GetBuffers to succeed promptly returning
> the third buffer prior to the page flip completing.
Oh, so swap_limit is just set wrong?
[-- Attachment #1.2: Type: application/pgp-signature, Size: 818 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-05-08 20:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-06 6:05 [PATCH] UXA: Wait until a pageflip actually completes to report it Jamey Sharp
2014-05-07 15:55 ` Chris Wilson
2014-05-08 5:44 ` Jamey Sharp
2014-05-08 6:08 ` Chris Wilson
2014-05-08 15:54 ` Eric Anholt
2014-05-08 20:43 ` Chris Wilson
2014-05-08 20:55 ` Eric Anholt [this message]
2014-05-08 21:09 ` Chris Wilson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d2fo9eil.fsf@eliezer.anholt.net \
--to=eric@anholt.net \
--cc=Theo0x48@gmail.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.