[PATCH i-g-t v3 8/9] XE3: tests/intel/kms_frontbuffer_tracking: fix x-tiled tests for case when there is no x-tile
Pottumuttu, Sai Teja
sai.teja.pottumuttu at intel.com
Mon Dec 2 07:04:49 UTC 2024
On 15-11-2024 00:33, Clint Taylor wrote:
> From: "Heikkila, Juha-pekka" <juha-pekka.heikkila at intel.com>
>
> On Xe3 display no more support x-tile and will disable such framebuffers
>
> Signed-off-by: Heikkila, Juha-pekka <juha-pekka.heikkila at intel.com>
> Signed-off-by: Clint Taylor <Clinton.A.Taylor at intel.com>
> ---
> tests/intel/kms_frontbuffer_tracking.c | 25 +++++++++++++++++++++----
> 1 file changed, 21 insertions(+), 4 deletions(-)
>
> diff --git a/tests/intel/kms_frontbuffer_tracking.c b/tests/intel/kms_frontbuffer_tracking.c
> index b7e3f7379..8af41caf3 100644
> --- a/tests/intel/kms_frontbuffer_tracking.c
> +++ b/tests/intel/kms_frontbuffer_tracking.c
> @@ -2421,7 +2421,12 @@ static void setup_modeset(void)
> offscreen_fb.fb = NULL;
> offscreen_fb.w = 1024;
> offscreen_fb.h = 1024;
> - create_fbs(FORMAT_DEFAULT, opt.tiling);
> +
> + /* Xe3 remove x-tile from display + */
> + if (drm.display_ver <= 20)
As suggested in other patches, lets go with <30 here as well?
And we should adjust the below conditions as well on similar lines I guess.
> + create_fbs(FORMAT_DEFAULT, opt.tiling);
> + else
> + create_fbs(FORMAT_DEFAULT, TILING_4);
> }
>
> static void teardown_modeset(void)
> @@ -2542,7 +2547,6 @@ static void setup_drrs(void)
>
> static void setup_environment(void)
> {
> - setup_drm();
> setup_modeset();
>
> setup_fbc();
> @@ -3386,6 +3390,7 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
> case TILING_LINEAR:
> return intel_gen(drm.devid) >= 9;
> case TILING_X:
> + return (intel_get_device_info(drm.devid)->display_ver > 20) ? false : true;
> case TILING_Y:
> return true;
> case TILING_4:
> @@ -4468,9 +4473,10 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
> igt_output_t *output;
>
> igt_fixture {
> - setup_environment();
> + setup_drm();
> drm.devid = intel_get_drm_devid(drm.fd);
> drm.display_ver = intel_display_ver(drm.devid);
> + setup_environment();
> }
>
> for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) {
> @@ -4774,6 +4780,11 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
> if (t.tiling == TILING_4)
> igt_require(intel_get_device_info(drm.devid)->has_4tile);
>
> + /* Xe3 remove x-tile from display + */
> + if (t.tiling == TILING_X) {
> + igt_require(drm.display_ver <= 20);
> + }
Looks like, this test won't run for TILING_X. As, a little above we have,
if (t.tiling == TILING_X)
continue;
So, do we need this addition?
Thanks,
Sai Teja
> +
> if (tiling_is_valid(t.feature, t.tiling))
> draw_subtest(&t);
> else
> @@ -4805,7 +4816,13 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
> t.format = FORMAT_DEFAULT;
> t.flip = FLIP_PAGEFLIP;
> t.method = IGT_DRAW_BLT;
> - t.tiling = opt.tiling;
> +
> + /* Xe3 remove x-tile from display + */
> + if (drm.display_ver <= 20)
> + t.tiling = opt.tiling;
> + else
> + t.tiling = TILING_4;
> +
> igt_subtest("basic") {
> if (!is_xe_device(drm.fd))
> igt_require_gem(drm.fd);
More information about the igt-dev
mailing list