[igt-dev] [PATCH i-g-t v3 07/52] lib/intel_batchbuffer: Try to avoid relocations in blitting

Dixit, Ashutosh ashutosh.dixit at intel.com
Wed Aug 4 23:42:30 UTC 2021


On Mon, 26 Jul 2021 12:59:41 -0700, Zbigniew Kempczyński wrote:
>
> We're proposing not overlapping offsets in both blitter copying functions
> so we can try to skip relocations.

OK, afaiu I915_EXEC_NO_RELOC is a hint so when I915_EXEC_IS_PINNED is not
specified relocations will be applied when needed (and we are providing
presumed_offset's even in the relocation case):

Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>

> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Petri Latvala <petri.latvala at intel.com>
> Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  lib/intel_batchbuffer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> index d4a59e508..bbf8e0da2 100644
> --- a/lib/intel_batchbuffer.c
> +++ b/lib/intel_batchbuffer.c
> @@ -711,7 +711,7 @@ static void exec_blit(int fd,
>	struct drm_i915_gem_execbuffer2 exec = {
>		.buffers_ptr = to_user_pointer(objs),
>		.buffer_count = count,
> -		.flags = gen >= 6 ? I915_EXEC_BLT : 0,
> +		.flags = gen >= 6 ? I915_EXEC_BLT : 0 | I915_EXEC_NO_RELOC,
>		.rsvd1 = ctx,
>	};
>
> --
> 2.26.0
>


More information about the igt-dev mailing list