[igt-dev] [PATCH i-g-t 22/24] tests/perf.c: Remove buffer from batch

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Thu Oct 22 09:59:05 UTC 2020


Currently we need to ensure intel_buf is a part of single ibb due
to fact it is acquiring address from allocator so we cannot keep
it in two separate ibbs (theoretically it is possible when different
ibbs would be in same context but it is not currently implemented).

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/i915/perf.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/i915/perf.c b/tests/i915/perf.c
index a5c4adc3..e596afd3 100644
--- a/tests/i915/perf.c
+++ b/tests/i915/perf.c
@@ -3430,6 +3430,9 @@ gen8_test_single_ctx_render_target_writes_a_counter(void)
 			/* Another redundant flush to clarify batch bo is free to reuse */
 			intel_bb_flush_render(ibb0);
 
+			/* Remove intel_buf from ibb0 added implicitly in rendercopy */
+			intel_bb_remove_intel_buf(ibb0, dst_buf);
+
 			/* submit two copies on the other context to avoid a false
 			 * positive in case the driver somehow ended up filtering for
 			 * context1
@@ -3823,6 +3826,9 @@ static void gen12_single_ctx_helper(void)
 				     BO_REPORT_ID0);
 	intel_bb_flush_render(ibb0);
 
+	/* Remove intel_buf from ibb0 added implicitly in rendercopy */
+	intel_bb_remove_intel_buf(ibb0, dst_buf);
+
 	/* This is the work/context that is measured for counter increments */
 	render_copy(ibb0,
 		    &src[0], 0, 0, width, height,
@@ -3869,6 +3875,9 @@ static void gen12_single_ctx_helper(void)
 				     BO_REPORT_ID3);
 	intel_bb_flush_render(ibb1);
 
+	/* Remove intel_buf from ibb1 added implicitly in rendercopy */
+	intel_bb_remove_intel_buf(ibb1, dst_buf);
+
 	/* Submit an mi-rpc to context0 after all measurable work */
 #define BO_TIMESTAMP_OFFSET1 1032
 #define BO_REPORT_OFFSET1 256
-- 
2.26.0



More information about the igt-dev mailing list