• Daniel Vetter's avatar
    drm/i915: fix up tiling/fence reg setup on i8xx class hw · 8d7773a3
    Daniel Vetter authored
    This fixes all the tiling problems with the 2d ddx. glxgears still doesn't work.
    Changes:
    
    - fix a copy&paste error in i8xx fence reg setup. It resulted in an at most a
      512KB offset of the fence reg window, so was only visible sometimes.
    - add tests for stride and object size constrains (also for i915 and 1965 class
      hw). Userspace seems to have an of-by-one bug there, which changes the fence
      size by at most 512KB due to an overflow.
    - because i8xx hw is quite old (and therefore not as well-tested) I left 2 debug
      WARN_ONs in the i8xx fence reg setup code to hopefully catch any further
      overflows in the bit-fields. Lastly there's one small change to make the
      alignment checks more consistent.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=20289Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarEric Anholt <eric@anholt.net>
    8d7773a3
i915_reg.h 50.2 KB