[PATCH] ugly patch for DRM based XSync VBLANK support

Jesse Barnes jbarnes at virtuousgeek.org
Sat Mar 11 14:11:50 PST 2006


Here's an ugly patch that attempts to add an XSync system counter called 
"VBLANK" to the server if the underlying drm driver that was just 
opened supports vblank signals.  It doesn't work very well for a couple 
of reasons:
  o drmOpen is working ok (I get back a real fd) but drmWaitVBlank gives
    me EPERM instead of EINVAL like it should (my test machine doesn't
    have a drm driver with vblank support yet), so VBLANK support is
    disabled (IOW I haven't actually tested it :)
  o it's totally multihead ignorant

Hopefully someone can clue me in about the first problem, and the second 
needs a bit more thought.  It seems like there should be an XSync 
VBLANK counter per-screen, not per-drm and obviously not a single 
global one.  It looks like the drm drivers could handle this, but it 
would make things harder for the clients since they'd have to dig 
through the system counters to find the VBLANK counter corresponding to 
their head (I guess via strmp?) which means a well defined namespace 
for the VBLANK XSync counters is necessary.  Thoughts?

Also, I wasn't sure if this stuff belonged in xf86drm.c, I'm guessing 
probably not.  Any ideas about a better place?

Other comments and review appreciated.

Thanks,
Jesse
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xorg-drm-vblank-support-1.patch
Type: text/x-diff
Size: 4536 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20060311/7eec8b2e/attachment.patch>


More information about the xorg mailing list