[igt-dev] [PATCH i-g-t 0/3] Add support for intel_ctx_t in intel_bb

Karolina Drobnik karolina.drobnik at intel.com
Fri Oct 21 08:54:40 UTC 2022


Currently, intel_bb assumes that context has a fixed set of engines, which
might not be the case for contexts passed from the userspace. They may use
a custom engines layout, so the legacy flags like I915_EXEC_BLT wouldn't
match the actual engine indices.

To address this issue, the series adds an additional field to intel_bb,
intel_ctx_cfg_t (intel_ctx_t configuration), that describes the engine
instances, together with an engine index lookup function, find_engine().
The function added in the second patch is used by intel_bb_flush_render()
and intel_bb_flush_blit() helpers.

The last patch in the series adds a test where we define a context with
the blitter engine at index 0 (1 in the legacy mode) to verify that
(1) intel_bb can indeed handle external contexts, and (2) intel_bb_exec gets
the correct engine id in intel_bb_flush_blit().

Karolina Drobnik (3):
  lib/intel_batchbuffer: Extend __intel_bb_create to handle context
    config
  lib/intel_batchbuffer: Add support for custom engine layouts
  tests/api_intel_bb: Add misplaced_blitter test

 lib/igt_draw.c                  |  2 +-
 lib/intel_batchbuffer.c         | 86 +++++++++++++++++++++++++--------
 lib/intel_batchbuffer.h         |  6 ++-
 lib/media_fill.c                |  2 +-
 tests/i915/api_intel_bb.c       | 36 +++++++++++++-
 tests/i915/gem_ppgtt.c          |  2 +-
 tests/i915/gem_pxp.c            | 16 +++---
 tests/i915/kms_fence_pin_leak.c |  2 +-
 tests/i915/perf.c               | 18 +++----
 9 files changed, 126 insertions(+), 44 deletions(-)

--
2.25.1


More information about the igt-dev mailing list