[Intel-gfx] [PATCH] drm/i915: Unconditionally do fb tracking invalidate in set_domain
Chris Wilson
chris at chris-wilson.co.uk
Fri Jun 26 02:52:08 PDT 2015
On Fri, Jun 26, 2015 at 10:15:08AM +0200, Daniel Vetter wrote:
> We can't elide the fb tracking invalidate if the buffer is already in
> the right domain since that would lead to missed screen updates. I'm
> pretty sure I've written this already before but must have gotten lost
> unfortunately :(
>
> v2: Chris observed that all internal set_domain users already
> correctly do the fb invalidate on their own, hence we can move this
> just into the set_domain ioctl instead.
>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Reported-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index f79ce9f22312..80b696a8277c 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -1614,6 +1614,9 @@ i915_gem_set_domain_ioctl(struct drm_device *dev, void *data,
> else
> ret = i915_gem_object_set_to_cpu_domain(obj, write_domain != 0);
>
> + if (write_domain != 0)
> + intel_fb_obj_invalidate(obj, ORIGIN_CPU);
Just the catch of doing
write_domain == I915_GEM_DOMAIN_GTT ? ORIGIN_GTT : ORIGIN_CPU
to keep Paulo happy.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list