• Ben Widawsky's avatar
    drm/i915: Synchronize pread/pwrite with wait_rendering · 23f54483
    Ben Widawsky authored
    lifted from Daniel:
    pread/pwrite isn't about the object's domain at all, but purely about
    synchronizing for outstanding rendering. Replacing the call to
    set_to_gtt_domain with a wait_rendering would imo improve code
    readability. Furthermore we could pimp pread to only block for
    outstanding writes and not for reads.
    
    Since you're not the first one to trip over this: Can I volunteer you
    for a follow-up patch to fix this?
    
    v2: Switch the pwrite patch to use \!read_only. This was a typo in the
    original code. (Chris, Daniel)
    Recommended-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    [danvet: Fix up the logic fumble - wait_rendering has a bool readonly
    paramater, set_to_gtt_domain otoh has bool write. Breakage reported by
    Jani Nikula, I've double-checked that igt/gem_concurrent_blt/prw-*
    would have caught this.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    23f54483
i915_gem.c 122 KB