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

Chris Wilson chris at chris-wilson.co.uk
Mon Nov 4 11:30:43 UTC 2019


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.
-Chris


More information about the igt-dev mailing list