On Tue, Sep 17, 2013 at 09:55:35PM +0100, Chris Wilson wrote:
> On Tue, Sep 17, 2013 at 10:01:33AM -0700, Ben Widawsky wrote:
> > @@ -1117,8 +1109,13 @@ i915_gem_do_execbuffer(struct drm_device *dev, void 
> > *data,
> >      * batch" bit. Hence we need to pin secure batches into the global gtt.
> >      * hsw should have this fixed, but let's be paranoid and do it
> >      * unconditionally for now. */
> > -   if (flags & I915_DISPATCH_SECURE && !batch_obj->has_global_gtt_mapping)
> > -           i915_gem_gtt_bind_object(batch_obj, batch_obj->cache_level);
> > +   if (flags & I915_DISPATCH_SECURE &&
> > +       !batch_obj->has_global_gtt_mapping) {
> > +           const struct i915_address_space *ggtt = obj_to_ggtt(batch_obj);
> > +           struct i915_vma *vma = i915_gem_obj_to_ggtt(batch_obj);
> > +           BUG_ON(!vma);
> > +           ggtt->bind_vma(vma, batch_obj->cache_level, GLOBAL_BIND);
> > +   }
> 
> The issue here is that if we don't set the USE_PPGTT/USE_SECURE flag in
> the dispatch, the CS will use the GGTT (hence our binding) but so we
> then need to use the GGTT offset for the dispatch as well.
> 
> Is that as concisely as we can write bind_to_ggtt? :(
> -Chris
> 

Resuming the conversation started on irc... what do you want from me?

-- 
Ben Widawsky, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to