All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: Change OML_sync_control UST to CLOCK_MONOTONIC
@ 2012-06-10 11:56 Joakim Plate
  2012-06-11 10:02 ` Michel Dänzer
  0 siblings, 1 reply; 11+ messages in thread
From: Joakim Plate @ 2012-06-10 11:56 UTC (permalink / raw)
  To: dri-devel

Hi, 

I'm currently trying to make use of OML_sync_control extension to schedule 
presentation of video frames in xbmc.

I've run into somewhat of a snag. It seem the spec doesn't specify what
time the UST clock really is, nor can i find any mention of it elsewhere
in docs.

Code wise it seem to be using do_gettimeofday(), which seems like a rather
poor choice given that it can jump forward and back in time due to
settimeofday calls. 

We normally make use of clock_gettime(CLOCK_MONOTONIC) to timestamp display
of video frames, so to avoid major changes I'd need a way to convert to 
gettimeofday (seem same as CLOCK_REALTIME).

Currently i'm trying:
  struct timespec mon, rel;
  clock_gettime(CLOCK_MONOTONIC, &mon);
  clock_gettime(CLOCK_REALTIME , &rel);

  ticks += (rel.tv_sec  - mon.tv_sec)  * 1000000000;
  ticks += (rel.tv_nsec - mon.tv_nsec);

To convert between the two, but that is quite a hack both in the
possibility of clock changes and scheduling errors.

Is there a better way, or perhaps the DRI code should use CLOCK_MONOTONIC
in the first place?

Regards
/Joakim

^ permalink raw reply	[flat|nested] 11+ messages in thread
[parent not found: <mailman.63.1339700426.712.dri-devel@lists.freedesktop.org>]

end of thread, other threads:[~2012-06-14 20:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-10 11:56 RFC: Change OML_sync_control UST to CLOCK_MONOTONIC Joakim Plate
2012-06-11 10:02 ` Michel Dänzer
2012-06-13  3:04   ` Ian Romanick
2012-06-13  7:42     ` Michel Dänzer
2012-06-13 20:11       ` Joakim Plate
2012-06-13 20:18         ` Jerome Glisse
2012-06-14 17:19           ` Joakim Plate
2012-06-14 18:17             ` Jerome Glisse
2012-06-14 18:21               ` Jerome Glisse
2012-06-13  8:11     ` Julien Cristau
     [not found] <mailman.63.1339700426.712.dri-devel@lists.freedesktop.org>
2012-06-14 20:50 ` Mario Kleiner

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.