[igt-dev] [RFC i-g-t 08/11] Add test where both src and dest are protected

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Thu Mar 4 17:32:16 UTC 2021


Apologies for question: Are you suggesting I promote __intel_exec_bb into lib-headers to be reusable across IGT? (which works great - I just wasn’t sure if that was okay).
...alan

-----Original Message-----
From: Chris Wilson <chris at chris-wilson.co.uk> 
Sent: Wednesday, March 3, 2021 3:57 PM
To: Teres Alexis, Alan Previn <alan.previn.teres.alexis at intel.com>; igt-dev at lists.freedesktop.org
Cc: Teres Alexis, Alan Previn <alan.previn.teres.alexis at intel.com>
Subject: Re: [igt-dev] [RFC i-g-t 08/11] Add test where both src and dest are protected

Quoting Alan Previn (2021-03-02 22:53:31)
> When both the source and destination surfaces are protected, the 
> destination pixel result of the 3d copy operation would be the same as 
> the source. By appending this test case to the end of the prior test 
> (raw-src to protected-dest) and reusing the previous' test destination 
> as the current source, we can prove the difference in results clearly 
> by repeating the same render operation but having a src buffer that is 
> protected in this case.
> 
> Signed-off-by: Alan Previn <alan.previn.teres.alexis at intel.com>
> ---
>  lib/intel_batchbuffer.c |  12 +++++
>  lib/intel_batchbuffer.h |   2 +
>  tests/i915/i915_pxp.c   | 117 ++++++++++++++++++++++++++++++++++------
>  3 files changed, 116 insertions(+), 15 deletions(-)
> 
> diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c index 
> 8118dc94..819fd85d 100644
> --- a/lib/intel_batchbuffer.c
> +++ b/lib/intel_batchbuffer.c
> @@ -2193,6 +2193,18 @@ void intel_bb_exec(struct intel_bb *ibb, uint32_t end_offset,
>         igt_assert_eq(__intel_bb_exec(ibb, end_offset, flags, sync), 
> 0);  }
>  
> +/**
> + * intel_bb_exec_noassert:
> + *
> + * Wrapper around intel_bb_exec but without assertion and
> + * GEM_EXEC ioctl return value is passed back to caller.
> + */
> +int intel_bb_exec_noassert(struct intel_bb *ibb, uint32_t end_offset,
> +                  uint64_t flags, bool sync) {
> +       return __intel_bb_exec(ibb, end_offset, flags, sync);

* blinks

It's called __intel_bb_exec() as is the pattern already established across igt.
-Chris


More information about the igt-dev mailing list