On Mon, 2007-07-02 at 10:48 +0200, Ulrich von Zadow wrote:
>
> thanks for the help in setting up i915tex. I've got it working now, but
> there are vblank issues. With an LCD connected to the vga port, there is
> a regular horizontal tear about 200 lines from the top of the screen.
> Using an LVDS screen, the ioctl call fails. I'm using dri directly for
> vblank:
>
> static int drmWaitVBlank(int fd, drm_wait_vblank_t *vbl)
> {
> int ret;
> int rc;
>
> do {
> ret = ioctl(fd, DRM_IOCTL_WAIT_VBLANK, vbl);
> vbl->request.type &= ~DRM_VBLANK_RELATIVE;
> rc = errno;
> } while (ret && rc == EINTR);
>
> return rc;
> }
See http://bugs.freedesktop.org/show_bug.cgi?id=10542 . LVDS is always
on pipe B, so this would require DRM_VBLANK_SECONDARY.
> If I use glXWaitVideoSyncSGI, the call succeeds but there is
> synchronization at all.
IME it's not suitable for avoiding tearing anyway, the latency between
the interrupt and the buffer swap is just too high with userspace
involved. You may want to try the xserver GIT master branch with the
GLX_SGI_swap_control extension and/or the driconf option vblank_mode,
which allows the 3D driver to schedule vsync buffer swaps ahead of time.
--
Earthling Michel Dänzer | http://tungstengraphics.com
Libre software enthusiast | Debian, X and DRI developer
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel