[PATCH i-g-t] tests/kms_big_fb: Test patch (not for merge)
Vidya Srinivas
vidya.srinivas at intel.com
Wed Aug 4 15:38:52 UTC 2021
Trying to fix CRC issue with async flip on 5.4 kernel
Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
---
tests/kms_big_fb.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
index c6f374bdd073..942b4a2251d4 100644
--- a/tests/kms_big_fb.c
+++ b/tests/kms_big_fb.c
@@ -313,10 +313,10 @@ static bool test_plane(data_t *data)
} coords[] = {
/* bunch of coordinates pulled out of thin air */
{ 0, 0, },
- { w * 4 / 7, h / 5, },
- { w * 3 / 7, h / 3, },
+ { w * 4 / 4, h / 2, },
+ { w * 3 / 4, h / 2, },
{ w / 2, h / 2, },
- { w / 3, h * 3 / 4, },
+ { w / 2, h * 2 / 4, },
{ w, h, },
};
@@ -462,6 +462,7 @@ static bool test_pipe(data_t *data)
igt_display_commit2(&data->display, data->display.is_atomic ?
COMMIT_ATOMIC : COMMIT_UNIVERSAL);
+ igt_pipe_crc_free(data->pipe_crc);
data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
INTEL_PIPE_CRC_SOURCE_AUTO);
@@ -474,7 +475,6 @@ static bool test_pipe(data_t *data)
if (data->format == DRM_FORMAT_C8)
unset_lut(data);
- igt_pipe_crc_free(data->pipe_crc);
igt_output_set_pipe(data->output, PIPE_ANY);
@@ -519,6 +519,7 @@ max_hw_stride_async_flip_test(data_t *data)
data->hw_stride);
generate_pattern(data, &data->big_fb_flip[1], 640, 480);
+ igt_pipe_crc_free(data->pipe_crc);
data->pipe_crc = igt_pipe_crc_new(data->drm_fd, data->pipe,
INTEL_PIPE_CRC_SOURCE_AUTO);
igt_pipe_crc_start(data->pipe_crc);
@@ -549,7 +550,6 @@ max_hw_stride_async_flip_test(data_t *data)
} while (ret == -EBUSY);
igt_assert(ret == 0);
}
-
igt_pipe_crc_get_for_frame(data->drm_fd, data->pipe_crc,
startframe, &compare_crc);
igt_pipe_crc_get_for_frame(data->drm_fd, data->pipe_crc,
@@ -564,7 +564,7 @@ max_hw_stride_async_flip_test(data_t *data)
}
igt_reset_timeout();
- igt_pipe_crc_free(data->pipe_crc);
+ igt_pipe_crc_stop(data->pipe_crc);
igt_output_set_pipe(data->output, PIPE_NONE);
igt_remove_fb(data->drm_fd, &data->big_fb);
igt_remove_fb(data->drm_fd, &data->big_fb_flip[0]);
@@ -852,7 +852,6 @@ igt_main
data.render_copy = igt_get_render_copyfunc(data.devid);
data.bops = buf_ops_create(data.drm_fd);
- data.ibb = intel_bb_create(data.drm_fd, 4096);
data.planeclearrgb[0] = 0.0;
data.planeclearrgb[1] = 0.0;
@@ -978,7 +977,9 @@ igt_main
igt_require(data.format == DRM_FORMAT_C8 ||
igt_fb_supported_format(data.format));
igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
+ data.ibb = intel_bb_create(data.drm_fd, 4096);
test_scanout(&data);
+ intel_bb_destroy(data.ibb);
}
// async flip doesn't support linear fbs.
@@ -993,8 +994,10 @@ igt_main
igt_fb_supported_format(data.format));
igt_require(igt_display_has_format_mod(&data.display, data.format, data.modifier));
igt_require_f(data.async_flip_support, "Async Flip is not supported\n");
- data.max_hw_fb_width = min(data.hw_stride / (formats[j].bpp >> 3), data.max_fb_width);
+ data.max_hw_fb_width = max(data.hw_stride / (formats[j].bpp >> 3), data.max_fb_width);
+ data.ibb = intel_bb_create(data.drm_fd, 4096);
test_scanout(&data);
+ intel_bb_destroy(data.ibb);
}
data.async_flip_test = false;
}
--
2.32.0
More information about the Intel-gfx-trybot
mailing list