Re: [PATCH 14/15] drm/i915: Track frontbuffer invalidation/flushing

Chris Wilson
2014-06-17T06:46:51Z

On Mon, Jun 16, 2014 at 07:51:34PM +0200, Daniel Vetter wrote:
> void i915_gem_release(struct drm_device *dev, struct drm_file *file)
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index 93d7f7246588..2d06aad4a954 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -978,7 +978,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas,
> /* check for potential scanout */
> if (i915_gem_obj_ggtt_bound(obj) &&
> i915_gem_obj_to_ggtt(obj)->pin_count)

What is it about these checks you like so much? You haven't taken the
patches to convert this to if (obj->pin_display) and you haven't
converted them to obj->frontbuffer_bits in this patch either!

> - intel_mark_fb_busy(obj, ring);
> + intel_fb_invalidate(obj, ring);
>
> /* update for the implicit flush after a batch */
> obj->base.write_domain &= ~I915_GEM_GPU_DOMAINS;

--
Chris Wilson, Intel Open Source Technology Centre