[i-g-t v2 23/27] lib/i915: Execbuf3 support for render & vebox copy functions
Bhanuprakash Modem
bhanuprakash.modem at intel.com
Tue Jan 24 07:35:07 UTC 2023
Add Execbuf3 support for render & vebox copy functions.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
---
lib/rendercopy_gen9.c | 11 +++++++++--
lib/veboxcopy_gen12.c | 10 ++++++++--
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index d74f1c99..c19410d8 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -1181,8 +1181,15 @@ void _gen9_render_op(struct intel_bb *ibb,
gen12_emit_pxp_state(ibb, false, pxp_scratch_offset);
intel_bb_emit_bbe(ibb);
- intel_bb_exec(ibb, intel_bb_offset(ibb),
- I915_EXEC_RENDER | I915_EXEC_NO_RELOC, false);
+ if (ibb->vm_id) {
+ uint32_t engine_idx = intel_bb_find_engine(ibb->cfg, I915_ENGINE_CLASS_RENDER);
+
+ intel_bb_exec3(ibb, engine_idx, false);
+ } else {
+ intel_bb_exec(ibb, intel_bb_offset(ibb),
+ I915_EXEC_RENDER | I915_EXEC_NO_RELOC, false);
+ }
+
dump_batch(ibb);
intel_bb_reset(ibb, false);
}
diff --git a/lib/veboxcopy_gen12.c b/lib/veboxcopy_gen12.c
index aa90939b..8be4c14d 100644
--- a/lib/veboxcopy_gen12.c
+++ b/lib/veboxcopy_gen12.c
@@ -358,8 +358,14 @@ void gen12_vebox_copyfunc(struct intel_bb *ibb,
intel_bb_out(ibb, MI_BATCH_BUFFER_END);
intel_bb_ptr_align(ibb, 8);
- intel_bb_exec(ibb, intel_bb_offset(ibb),
- I915_EXEC_VEBOX | I915_EXEC_NO_RELOC, false);
+ if (ibb->vm_id) {
+ uint32_t engine_idx = intel_bb_find_engine(ibb->cfg, I915_ENGINE_CLASS_RENDER);
+
+ intel_bb_exec3(ibb, engine_idx, false);
+ } else {
+ intel_bb_exec(ibb, intel_bb_offset(ibb),
+ I915_EXEC_VEBOX | I915_EXEC_NO_RELOC, false);
+ }
intel_bb_reset(ibb, false);
--
2.39.0
More information about the Intel-gfx-trybot
mailing list