[igt-dev] [PATCH i-g-t v3] tests/kms_rotation_crc- MPO subtest: Mixing up of pixel formats and tiling on different planes.
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Thu Dec 16 08:48:47 UTC 2021
Hi Ananya,
you will need to include p0xx changes also to that check where is
checked if p[0] .. p[1] are / are not NV12, that check you had attempted
in earlier version of your patch.
P0xx are similar planar formats as NV12 hence color ramps will fail crc
checks unless handled for that optimization check. If p0xx are not
considered on those checks p0xx will be handled as packed rgb format
without color ramps found on p0xx and thus fail crc.
/Juha-Pekka
On 15.12.2021 18.46, Ananya Sharma wrote:
> already existing pixel format RGB565, XRGB8888, NV12. New addition of P010 pixel format.
>
> Signed-off-by: Ananya Sharma <ananya.sharma at intel.com>
> ---
> tests/kms_rotation_crc.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index 1497120c..7d813598 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -666,7 +666,7 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
> * case with tiling are 2 bpp, 4 bpp and NV12.
> */
> static const uint32_t formatlist[] = {DRM_FORMAT_RGB565,
> - DRM_FORMAT_XRGB8888, DRM_FORMAT_NV12};
> + DRM_FORMAT_XRGB8888, DRM_FORMAT_NV12, DRM_FORMAT_P010};
>
> static struct {
> igt_rotation_t rotation;
> @@ -751,8 +751,7 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
> * no need to redo comparison image and
> * just use stored crc.
> */
> - if (p[0].format != DRM_FORMAT_NV12 &&
> - p[1].format != DRM_FORMAT_NV12 &&
> + if (!igt_format_is_yuv_semiplanar(p[0].format) && !igt_format_is_yuv_semiplanar(p[1].format) &&
> crclog[ctz(planeconfigs[i].rotation) | (ctz(planeconfigs[j].rotation) << 2)].frame != 0) {
> retcrc_sw = crclog[ctz(planeconfigs[i].rotation) | (ctz(planeconfigs[j].rotation) << 2)];
> have_crc = true;
> @@ -819,7 +818,7 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
> flipsw,
> &retcrc_sw);
>
> - if (p[0].format != DRM_FORMAT_NV12 && p[1].format != DRM_FORMAT_NV12)
> + if (!igt_format_is_yuv_semiplanar(p[0].format) &&!igt_format_is_yuv_semiplanar(p[1].format))
> crclog[ctz(planeconfigs[i].rotation) | (ctz(planeconfigs[j].rotation) << 2)]
> = retcrc_sw;
> }
More information about the igt-dev
mailing list