• Eric Anholt's avatar
    i915: Remove racy delayed vblank swap ioctl. · bd95e0a4
    Eric Anholt authored
    When userland detected that this ioctl was supported (by version number check),
    it used it in a racy way -- dispatch delayed swap, wait for vblank, continue
    rendering. As there was no mechanism for it to wait for the swap to finish,
    sometimes it would render before the swap and garbage would be displayed on
    the screen.
    
    By removing the ioctl and returning -EINVAL, userland returns to its previous,
    correct rendering path of waiting for a vblank then dispatching a swap.  The
    only path that could have used this ioctl correctly was page flipping, which
    relied on only one client running and emitting wait-for-vblank-before-rendering
    in the command stream.  That path also falls back correctly, at the performance
    cost of not being able to queue up rendering before the flip occurs.
    Signed-off-by: default avatarEric Anholt <eric@anholt.net>
    Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
    bd95e0a4
i915_drv.h 20 KB