Summary: | i915 vblank interrupts not always working | ||
---|---|---|---|
Product: | Mesa | Reporter: | David Schleef <ds> |
Component: | Drivers/DRI/i915 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED DUPLICATE | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | patch |
Description
David Schleef
2008-01-04 19:16:39 UTC
I sort of figured out why this is happening. It appears a rendering context is picking up the initial sequence number from one pipe, and then the context draws to a window on the other pipe. Then, when you wait based on the wrong base sequence number, you either time out or don't wait long enough. Created attachment 13544 [details] [review] patch vblank counters correspond to the drm primary/secondary, not the i915 pipe. Fix the i915 irq code accordingly. With this patch, libGL startup no longer fails on both the primary and secondary displays. Also, vblank synchronization works on secondary display (CRT). It occasionaly fails to synchronize on the primary display (LVDS), for unknown reasons. In any case, the vblank counters are being updated correctly. Semantically, it doesn't seem to matter whether the pipe<->plane mapping is checked in the interrupt handler or wait function, so I suspect what really makes the difference is changing the semantics when only one 'pipe' is enabled in dev_priv->vblank_pipe. This may or may not be a good idea; considering the interactions with different versions of Mesa boggles my mind right now. :} Yeah, that's a tough one. Changing the pipe<->plane mapping seems to be fundamentally at odds with the current scheme's "use the primary counter if only one pipe is enabled" logic. Is there any software out there that depends on that behavior? Maybe it doesn't matter much, seems like something will break no matter what we do (including if we do nothing). (In reply to comment #4) > Changing the pipe<->plane mapping seems to be fundamentally at odds with the > current scheme's "use the primary counter if only one pipe is enabled" logic. > Is there any software out there that depends on that behavior? Mainly old Mesa drivers that didn't know about secondary vblank (I think - unless the reversed pipe<->plane mapping magically fixes that :). *** This bug has been marked as a duplicate of bug 10675 *** Mass version move, cvs -> git |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.