• Chris Wilson's avatar
    drm/i915: Force CPU relocations if not GTT mapped · e6a84468
    Chris Wilson authored
    Move the decision on whether we need to have a mappable object during
    execbuffer to the fore and then reuse that decision by propagating the
    flag through to reservation. As a corollary, before doing the actual
    relocation through the GTT, we can make sure that we do have a GTT
    mapping through which to operate.
    
    Note that the key to make this work is to ditch the
    obj->map_and_fenceable unbind optimization - with full ppgtt it
    doesn't make a lot of sense any more anyway.
    
    v2: Revamp and resend to ease future patches.
    v3: Refresh patch rationale
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=81094Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Ben Widawsky <benjamin.widawsky@intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    [danvet: Explain why obj->map_and_fenceable is key and split out the
    secure batch fix.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    e6a84468
i915_gem_execbuffer.c 41.1 KB