[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