[PATCH i-g-t v2] lib/rendercopy_gen9: Fix Xe2 missing pixels on non-modulo-16 surfaces
Grzegorzek, Dominik
dominik.grzegorzek at intel.com
Mon Feb 5 10:57:16 UTC 2024
On Thu, 2024-02-01 at 18:18 +0100, Zbigniew Kempczyński wrote:
> Missing setting Kernel0Enable bit results in lack of rasterization
> of right and bottom part of the surface. Fix this as kms tests depends
> on that.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> Tested-by: Jouni Högander <jouni.hogander at intel.com>
> ---
> v2: set Kernel0Enable bit only on Xe2+ keeping older platforms intact
>
>
>
> ---
> lib/rendercopy_gen9.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
> index bdfd9be087..a4220d78da 100644
> --- a/lib/rendercopy_gen9.c
> +++ b/lib/rendercopy_gen9.c
> @@ -863,7 +863,10 @@ gen8_emit_ps(struct intel_bb *ibb, uint32_t kernel, bool fast_clear) {
> intel_bb_out(ibb, 0);
>
> intel_bb_out(ibb, GEN7_3DSTATE_PS | (12-2));
> - intel_bb_out(ibb, kernel);
> + if (AT_LEAST_GEN(intel_get_drm_devid(ibb->fd), 20))
> + intel_bb_out(ibb, kernel | 1);
> + else
> + intel_bb_out(ibb, kernel);
Agreed, this Kernel0Enable field does not even exist on platforms before Xe2.
The change is definetly needed and:
Reviewed-by: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
Regards,
Dominik
> intel_bb_out(ibb, 0); /* kernel hi */
>
> if (fast_clear)
More information about the igt-dev
mailing list