[Intel-gfx] [PATCH 1/2] drm/i915: Only mark as map-and-fenceable when bound into the GGTT
Chris Wilson
chris at chris-wilson.co.uk
Mon Nov 3 21:45:32 CET 2014
On Mon, Nov 03, 2014 at 04:17:57PM +0100, Daniel Vetter wrote:
> On Fri, Oct 31, 2014 at 01:53:52PM +0000, Chris Wilson wrote:
> > @@ -4091,6 +4078,7 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
> > }
> > }
> >
> > + bound = vma ? vma->bound : 0;
> > if (vma == NULL || !drm_mm_node_allocated(&vma->node)) {
> > vma = i915_gem_object_bind_to_vm(obj, vm, alignment, flags);
> > if (IS_ERR(vma))
> > @@ -4100,6 +4088,29 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
> > if (flags & PIN_GLOBAL && !(vma->bound & GLOBAL_BIND))
> > vma->bind_vma(vma, obj->cache_level, GLOBAL_BIND);
> >
> > + if ((bound ^ vma->bound) & GLOBAL_BIND) {
>
> Shouldn't we have a && i915_is_ggtt(vma->vm) check here too?
vma->bound & GLOBAL_BIND => i915_is_ggtt().
> Then we could just look at the vma's drm_mm node instead of jumping
> through the helpers here. Which gets us one inch closer to tracking
> mappable in the ggtt vma, without increasing the diff ;-)
Oh, that's just copy and paste without thinking.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list