[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