Message ID | 1389385583-7811-1-git-send-email-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jan 10, 2014 at 08:26:23PM +0000, Chris Wilson wrote: > Only objects pinned to the display engine can be an active framebuffer, > so we can refine the current check for any pinned object to be a > pinned-display object. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > index 8c11037eb2d2..04b0271d48ff 100644 > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > @@ -949,9 +949,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas, > if (obj->base.write_domain) { > obj->dirty = 1; > obj->last_write_seqno = intel_ring_get_seqno(ring); > - /* check for potential scanout */ > - if (i915_gem_obj_ggtt_bound(obj) && > - i915_gem_obj_to_ggtt(obj)->pin_count) > + if (obj->pin_display) /* check for potential scanout */ > intel_mark_fb_busy(obj, ring); > } > This was an error during PPGTT development: commit d7f46fc4e7323887494db13f063a8e59861fefb0 Author: Ben Widawsky <benjamin.widawsky@intel.com> Date: Fri Dec 6 14:10:55 2013 -0800 drm/i915: Make pin count per VMA Could be squashed if ppgtt isn't merged. Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
On Fri, Jan 10, 2014 at 12:41:49PM -0800, Ben Widawsky wrote: > On Fri, Jan 10, 2014 at 08:26:23PM +0000, Chris Wilson wrote: > > Only objects pinned to the display engine can be an active framebuffer, > > so we can refine the current check for any pinned object to be a > > pinned-display object. > > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > --- > > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > index 8c11037eb2d2..04b0271d48ff 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > @@ -949,9 +949,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas, > > if (obj->base.write_domain) { > > obj->dirty = 1; > > obj->last_write_seqno = intel_ring_get_seqno(ring); > > - /* check for potential scanout */ > > - if (i915_gem_obj_ggtt_bound(obj) && > > - i915_gem_obj_to_ggtt(obj)->pin_count) > > + if (obj->pin_display) /* check for potential scanout */ > > intel_mark_fb_busy(obj, ring); > > } > > > > This was an error during PPGTT development: > commit d7f46fc4e7323887494db13f063a8e59861fefb0 > Author: Ben Widawsky <benjamin.widawsky@intel.com> > Date: Fri Dec 6 14:10:55 2013 -0800 > > drm/i915: Make pin count per VMA It's been discussed before (frontbuffer tracking) so I was surprised that this patch wasn't already on the list. -Chris
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index 8c11037eb2d2..04b0271d48ff 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -949,9 +949,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *vmas, if (obj->base.write_domain) { obj->dirty = 1; obj->last_write_seqno = intel_ring_get_seqno(ring); - /* check for potential scanout */ - if (i915_gem_obj_ggtt_bound(obj) && - i915_gem_obj_to_ggtt(obj)->pin_count) + if (obj->pin_display) /* check for potential scanout */ intel_mark_fb_busy(obj, ring); }
Only objects pinned to the display engine can be an active framebuffer, so we can refine the current check for any pinned object to be a pinned-display object. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)