summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnanya Sharma <ananya.sharma@intel.com>2021-12-20 18:27:41 +0530
committerSwati Sharma <swati2.sharma@intel.com>2021-12-30 18:39:09 +0530
commitb0b7679b358b300b7b6bf42c6921d0aa1fc14388 (patch)
treef9c767c56cac0cebff7d44aa64b98d8a2b4bf348
parent85a5938090cd3da34e4fba8f541fbe240210b47d (diff)
tests/kms_rotation_crc: MPO subtest-mixing of pixel format and tiling on different planes.
P010 pixel format is newly added to the already existing list of pixel formats(RGB565,XRGB8888,NV12). Signed-off-by: Ananya Sharma <ananya.sharma@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
-rw-r--r--tests/kms_rotation_crc.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index 37f6abe90..3f716002c 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -683,7 +683,7 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
* case with modifier 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;
@@ -769,14 +769,13 @@ 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;
- } else if (p[0].format == DRM_FORMAT_NV12 &&
- p[1].format != DRM_FORMAT_NV12 &&
- lastroundjformat != DRM_FORMAT_NV12 &&
+ } else if((p[0].format == DRM_FORMAT_NV12 || p[0].format == DRM_FORMAT_P010) &&
+ p[1].format != DRM_FORMAT_NV12 && p[1].format != DRM_FORMAT_P010 &&
+ lastroundjformat != DRM_FORMAT_NV12 && lastroundjformat != DRM_FORMAT_P010 &&
planeconfigs[i].rotation == lastroundirotation &&
planeconfigs[j].rotation == lastroundjrotation) {
/*
@@ -837,7 +836,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;
}