-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Michel Dänzer wrote:
> On Fri, 2009-09-04 at 12:17 -0700, Jesse Barnes wrote: 
>> I've been working on coding up the server and client side of
>> SGI_video_sync, OML_sync_control and SGI_swap_control.  I came up with
>> this set of new protocol (against the dri2-swapbuffers branch) to
>> support the new requests.
>>
>> We still need to change the DRI2SwapBuffers request to handle the
>> various OML bits before it gets merged.
>>
>> To summarize:
>>   DRI2GetMSCReq - get MSC triple
>>   DRI2WaitMSCReq - wait on an MSC count or divisor/remainder
>>   DRI2WaitSBCReq - wait on a swap count or all pending swaps
> 
> Waiting in the X server will make it quite unlikely that the client will
> be notified within a reasonable timeframe from when vertical blank
> actually occurs. Won't this jeopardize the usefulness of the
> functionality? 

I'm not very fond of doing a round-trip to the server for these either.
 It seems like we want a DRM way do this directly.  There are a lot of
potential race issues, though.  How do we handle the case where the
client waits for frame N+5, and on frame N+2 the window moves to a
different CRTC?

>> DRI2MSCReply - MSC triple (generated in response to any of the above)
>>
>> Kristian and I talked briefly about doing this client side using events
>> to notify clients when their CRTC changes, but there are a few issues:
>>   - races between client blocking and other server events (DPMS, window
>>     movement)
> 
> Maybe the X server could trigger a DRM event that the client could wait
> for directly, or something like that.

Jesse and I had discussed a future extension that would allow the
creation of a GLsync object from a MSC or SBC wait request.  I think
using a DRM event would be the only reasonable way to implement that.
Adding a way for one process to signal the DRM event that another
process is waiting on isn't a big stretch.

>> - compositor interaction; in the compositor case the display server
>>     will be incrementing frame count based on compositor drawing rather
>>     than vblank events
> 
> I think that's a bad idea, as it will confuse apps if the compositor
> misses a frame or renders the app window more than once per frame.

That's a good point.  The interaction with the compositor here is
complex.  Ugh. :(

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqkdC0ACgkQX1gOwKyEAw+AvACgg/f7FBUaEbvdDDH9sqElEBX9
duMAn0Eh3KioHID26gubLRpLMiNvTqkN
=yzBS
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to