Re: [igt-dev] [PATCH i-g-t 1/3] lib/rendercopy: Add AUX page table support

Imre Deak
2019-11-04T14:49:03Z

On Mon, Nov 04, 2019 at 11:30:43AM +0000, Chris Wilson wrote:
> Quoting Imre Deak (2019-11-01 20:13:09)
> > +static drm_intel_bo *
> > +gen12_create_aux_pgtable_bo(drm_intel_bufmgr *bufmgr,
> > + const struct igt_buf *dst_buf,
> > + const struct igt_buf *src_buf)
> > +{
> > + struct igt_aux_pgtable_range ranges[2];
> > + int range_count;
> > + uint64_t pin_offset;
> > + drm_intel_bo *gem_bo;
> > +
> > + range_count = 0;
> > + pin_offset = 0;
> > +
> > + range_count += add_aux_pgtable_range(dst_buf,
> > + &ranges[range_count], &pin_offset);
> > + range_count += add_aux_pgtable_range(src_buf,
> > + &ranges[range_count], &pin_offset);
> > +
> > + if (!range_count)
> > + return NULL;
>
> So every batch uses the same locations for their pair of surfaces;
> causing a complete eviction stall between each batch. That's a nasty
> side-effect that will hide flushing bugs between batches.

Ok. As discussed on IRC I'll randomize the offset for either object with
a 0 bo->offset64.

> -Chris