From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: Re: [PATCH] UXA: Wait until a pageflip actually completes to report it. Date: Thu, 08 May 2014 13:55:30 -0700 Message-ID: <87d2fo9eil.fsf@eliezer.anholt.net> References: <1399356307-7392-1-git-send-email-jamey@minilop.net> <20140507155518.GI7322@nuc-i3427.alporthouse.com> <20140508054423.GA9791@minilop.net> <20140508060845.GA20315@nuc-i3427.alporthouse.com> <87bnv8fepf.fsf@eliezer.anholt.net> <20140508204359.GC3443@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0365755819==" Return-path: In-Reply-To: <20140508204359.GC3443@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org, Theo Hill List-Id: intel-gfx@lists.freedesktop.org --===============0365755819== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Chris Wilson writes: > On Thu, May 08, 2014 at 08:54:52AM -0700, Eric Anholt wrote: >> Chris Wilson writes: >>=20 >> > 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 sc= heduled >> >> > > with the kernel, instead of waiting for the kernel to indicate th= at the >> >> > > flip had actually completed. >> >> > >=20 >> >> > > Moving the DRI2SwapComplete call to the right place fixes all of = our >> >> > > Piglit tests for OML_sync_control when run on xf86-video-intel/UX= A, >> >> > > aside from a bit of difficult-to-reproduce flakiness when using a >> >> > > divisor > 1. >> >> >=20 >> >> > The violation is intentional, as it gives us triple buffering by >> >> > default. It can be disabled. >> >>=20 >> >> 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. >>=20 >> 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 >=3D 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? --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJTa+9CAAoJELXWKTbR/J7oCGsP/31kxoyulHf6CJkgrsG/PhXh kpDgHJ6txu52d/CFpNBFAu4UdQ0v9xXooPFhL2B2CjLntuwJ04gHJq6N0PrmCjN0 PVgcUHJPei+kU5OJKcGpybh7Ob3n67qlj3QYtAlLZyHw3UBD+mzZreshkM4LlEdk 4NuxBJYGLR+ITQIb0JF1/qDeU25WACoPXdoHtavnc1NxFBblvlzIQiNrhx6iQOec Za4f8Ho9XWGCus4hbth4Y1mzgdmftD2Sq9T+zqwAbau9/dfOzL08mnOLJI7Pm6zS 6T+xUpmtpRx/KaFHCDHCMiCcwJWD6vKDjQ2humVke0OsP4Qwa/A34Zdbd6I1rIQF ORp/Y4B2HhqPBiRM+d8woj4c2qvvZe7TxkGVwBoPxUXEMbzjgOF35P22UFq1oisI TBTg3LYumF3qzKy0cT/8KkzVsz20B23PYcSymCN+AU/AHK5Hn37sLZTMtr6+KtJv 5kxQL0Im0j5gyXJ/S1lR/BDQY58sDVLq44lu72Q3y1bTPXF9M3SggvaO30oHp7gr LDujjqchjVH2xyg6LEvyVdFCqtsmTgQ4ZsZvC9KTPC1FVr7XVDKg+UV7C8zt8/gj lhk8SfkR8bAi7iS8kkJ49efmXRqWHPSbhYmQSzkkLQeluyKoe0HNFwWx1n7sxXfP 1DCug5qGXuMTBeGmO0V3 =qCrl -----END PGP SIGNATURE----- --=-=-=-- --===============0365755819== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx --===============0365755819==--