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

Imre Deak imre.deak at intel.com
Mon Nov 4 14:47:21 UTC 2019


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


More information about the igt-dev mailing list