Thread (20 messages) 20 messages, 5 authors, 2021-08-04

Re: [igt-dev] [i-g-t] tests/kms_plane_alpha_blend: Align width to 256B

From: Juha-Pekka Heikkilä <hidden>
Date: 2021-08-03 09:29:15

On Tue, Aug 3, 2021 at 7:55 AM Surendrakumar Upadhyay, TejaskumarX
[off-list ref] wrote:
Use 1366x768 panel and you should be able to reproduce. I don’t have that panel with me right now. I will check once I get it.
Setting fb size to 1366x768 does not reproduce this issue on my icl. I
don't have such panel nor could I swap such into my lenovo in any
case.

For testing purpose you could try take out your change from
kms_plane_alpha_blend and change all used modifiers to something
different than linear, ie. x or y tile. With different tiling
everything will be different on both sw and hw level while still
testing same hw alpha blending feature.

/Juha-Pekka
Thanks,
Tejas
quoted
-----Original Message-----
From: Juha-Pekka Heikkilä <redacted>
Sent: 03 August 2021 00:49
To: Surendrakumar Upadhyay, TejaskumarX
[off-list ref]
Cc: Sharma, Swati2 <redacted>; igt-
dev@lists.freedesktop.org
Subject: Re: [igt-dev] [i-g-t] tests/kms_plane_alpha_blend: Align width to
256B

On Mon, Aug 2, 2021 at 5:16 PM Surendrakumar Upadhyay, TejaskumarX
[off-list ref] wrote:
quoted
Hi JP,

You are right i915 driver is giving 64B aligned buffer but test uses raw width
and thus it requires width to be aligned.

Can you try this on the device which is failing:
https://patchwork.freedesktop.org/series/93317/

It will put on pixel blend and alpha and try different width linear fbs and
compare results with crc. This should tell if alignments somehow can affect
the crc on your test machine. On my ICL everything work as expected.

/Juha-Pekka
quoted
Thanks,
Tejas
quoted
-----Original Message-----
From: Sharma, Swati2 <redacted>
Sent: 02 August 2021 18:35
To: juhapekka.heikkila@gmail.com; Surendrakumar Upadhyay,
TejaskumarX [off-list ref]; igt-
dev@lists.freedesktop.org
Subject: Re: [igt-dev] [i-g-t] tests/kms_plane_alpha_blend: Align
width to 256B

Hi JP,

Tejas reapplied the same fix as in
https://patchwork.freedesktop.org/patch/445010/?series=92751&rev=2
which was reviewed by Daniel.

On 02-Aug-21 5:42 PM, Juha-Pekka Heikkila wrote:
quoted
Hi Tejas, Swati,

I was confused when I read this patch, mind you tell what happen here?
To me it look like nothing matches with each other with the patch.

Even subject is telling other things than what this patch actually does.

On 30.7.2021 8.50, Sharma, Swati2 wrote:
quoted
Reviewed-by:
Swati Sharma [off-list ref]

On 28-Jul-21 10:25 AM, Tejas Upadhyay wrote:
quoted
some display resolutions like 1366x768 6bpc which does not have
64B aligned width are creating crc mismatch in
kms_plane_alpha_blend test on Intel platforms.
hm. You are saying none of Intel hw is able to show 1366 wide
framebuffers correctly? And it is fixed by hiding it from being tested?

Memory given from kernel will have 64B alignment. You can easily
see by yourself.
quoted
quoted
Also having different alignment requirement by different
drivers, 256B aligned width should work for all drm drivers.
You are saying you are fixing some problem with Intel hw, what
does all this other stuff have to do with it? None of those other
drivers are able to show 1366 pixels wide framebuffers either?
quoted
quoted
amdgpu and radeon, amdgpu_align_pitch: 256B armada,
armada_pitch:
quoted
quoted
quoted
quoted
quoted
128B
exynos_drm_gem_dumb_create: No alignment required
drm_gem_shmem_dumb_create: 8B
drm_gem_vram_fill_create_dumb: 8B

Thus 256B covers everything we see in the kernel drm drivers.
Signed-off-by: Tejas Upadhyay
[off-list ref]
---
  tests/kms_plane_alpha_blend.c | 1 +
  1 file changed, 1 insertion(+)
diff --git a/tests/kms_plane_alpha_blend.c
b/tests/kms_plane_alpha_blend.c index d649a09f..864e83f9 100644
--- a/tests/kms_plane_alpha_blend.c
+++ b/tests/kms_plane_alpha_blend.c
@@ -168,6 +168,7 @@ static void prepare_crtc(data_t *data,
igt_output_t *output, enum pipe pipe)
      w = mode->hdisplay;
      h = mode->vdisplay;
+    w = ALIGN(w, 256);
This doesn't cause anything to align with 256 bytes. This makes fb
width in pixels divisible by 256. For anything to do with fb
alignments..this has very little to do. Kernel will do viewport
clipping hence for actual intended test this does nothing. FB
alignments are handled otherwise as in this case with with linear
fb will
have 64 bytes per stride.
quoted
quoted
quoted
      /* recreate all fbs if incompatible */
      if (data->xrgb_fb.width != w || data->xrgb_fb.height != h) {
          cairo_t *cr;
If this patch actually fixed anything you'll need to create hw wa
and this need to be fixed in kernel. Not testing is not fixing.
Imo there should be no problem for Intel hw to show varying fb
sizes, including
1366 wide.

/Juha-Pekka
--
~Swati Sharma
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help