* [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU
@ 2018-11-13 15:23 Nicholas Kazlauskas
2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests Nicholas Kazlauskas
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Nicholas Kazlauskas @ 2018-11-13 15:23 UTC (permalink / raw)
To: igt-dev
The plane_scaling subtests are capable of running on AMDGPU when
not using i915 specific tiling formats and when the test only requires
one scaler per pipe.
This patch removes the forced i915 devid and gen checks from non i915
devices. It also adds logic for getting the number of scalers per pipe
in a way that doesn't only depend on devid. One scaler per pipe is
assumed for AMDGPU.
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
---
tests/kms_plane_scaling.c | 46 ++++++++++++++++++++++++---------------
1 file changed, 29 insertions(+), 17 deletions(-)
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 773162ec..ee29f11e 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -46,11 +46,14 @@ typedef struct {
igt_plane_t *plane4;
} data_t;
-static int get_num_scalers(uint32_t devid, enum pipe pipe)
+static int get_num_scalers(data_t* d, enum pipe pipe)
{
- igt_require(intel_gen(devid) >= 9);
+ if (!is_i915_device(d->drm_fd))
+ return 1;
+
+ igt_require(intel_gen(d->devid) >= 9);
- if (intel_gen(devid) >= 10)
+ if (intel_gen(d->devid) >= 10)
return 2;
else if (pipe != PIPE_C)
return 2;
@@ -79,6 +82,8 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
igt_plane_t *plane, drmModeModeInfo *mode)
{
igt_display_t *display = &data->display;
+ uint64_t tiling = is_i915_device(data->drm_fd) ?
+ LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE;
cleanup_crtc(data);
@@ -90,7 +95,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
/* allocate fb for plane 1 */
igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */
+ tiling,
&data->fb[0]);
igt_plane_set_fb(plane, &data->fb[0]);
@@ -170,6 +175,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
{
igt_display_t *display = &d->display;
igt_plane_t *plane;
+ uint64_t tiling = is_i915_device(d->drm_fd) ?
+ LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE;
igt_output_set_pipe(output, pipe);
for_each_plane_on_pipe(display, pipe, plane) {
@@ -183,8 +190,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
if (igt_fb_supported_format(format) &&
can_rotate(d, format))
check_scaling_pipe_plane_rot(d, plane, format,
- LOCAL_I915_FORMAT_MOD_Y_TILED,
- pipe, output, rot);
+ tiling, pipe,
+ output, rot);
}
}
}
@@ -264,6 +271,8 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output)
igt_display_t *display = &d->display;
drmModeModeInfo *mode;
int primary_plane_scaling = 0; /* For now */
+ uint64_t tiling = is_i915_device(display->drm_fd) ?
+ LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE;
mode = igt_output_get_mode(output);
@@ -273,13 +282,13 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output)
igt_create_color_pattern_fb(display->drm_fd, 600, 600,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */
+ tiling,
.5, .5, .5, &d->fb[1]);
igt_create_pattern_fb(d->drm_fd,
mode->hdisplay, mode->vdisplay,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */
+ tiling,
&d->fb[2]);
if (primary_plane_scaling) {
@@ -425,7 +434,7 @@ test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_outpu
{
drmModeModeInfo *mode;
- igt_require(get_num_scalers(d->devid, pipe) >= 2);
+ igt_require(get_num_scalers(d, pipe) >= 2);
mode = igt_output_get_mode(output);
d->plane1 = &d->display.pipes[pipe].planes[0];
@@ -480,6 +489,8 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
igt_output_t *output1, *output2;
drmModeModeInfo *mode1, *mode2;
enum pipe pipe1, pipe2;
+ uint64_t tiling = is_i915_device(display->drm_fd) ?
+ LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE;
cleanup_crtc(d);
@@ -492,28 +503,28 @@ static void test_scaler_with_multi_pipe_plane(data_t *d)
igt_output_set_pipe(output2, pipe2);
d->plane1 = igt_output_get_plane(output1, 0);
- d->plane2 = get_num_scalers(d->devid, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL;
+ d->plane2 = get_num_scalers(d, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL;
d->plane3 = igt_output_get_plane(output2, 0);
- d->plane4 = get_num_scalers(d->devid, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL;
+ d->plane4 = get_num_scalers(d, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL;
mode1 = igt_output_get_mode(output1);
mode2 = igt_output_get_mode(output2);
igt_create_pattern_fb(d->drm_fd, 600, 600,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[0]);
+ tiling, &d->fb[0]);
igt_create_pattern_fb(d->drm_fd, 500, 500,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[1]);
+ tiling, &d->fb[1]);
igt_create_pattern_fb(d->drm_fd, 700, 700,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[2]);
+ tiling, &d->fb[2]);
igt_create_pattern_fb(d->drm_fd, 400, 400,
DRM_FORMAT_XRGB8888,
- LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[3]);
+ tiling, &d->fb[3]);
igt_plane_set_fb(d->plane1, &d->fb[0]);
if (d->plane2)
@@ -545,7 +556,8 @@ igt_main
data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
igt_require_pipe_crc(data.drm_fd);
igt_display_require(&data.display, data.drm_fd);
- data.devid = intel_get_drm_devid(data.drm_fd);
+ data.devid = is_i915_device(data.drm_fd) ?
+ intel_get_drm_devid(data.drm_fd) : 0;
igt_require(data.display.is_atomic);
}
@@ -555,7 +567,7 @@ igt_main
igt_fixture {
igt_display_require_output_on_pipe(&data.display, pipe);
- igt_require(get_num_scalers(data.devid, pipe) > 0);
+ igt_require(get_num_scalers(&data, pipe) > 0);
}
igt_subtest_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe))
--
2.17.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 15+ messages in thread* [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas @ 2018-11-13 15:23 ` Nicholas Kazlauskas 2018-11-13 16:58 ` Ville Syrjälä 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Only test i915 features on i915 Nicholas Kazlauskas ` (4 subsequent siblings) 5 siblings, 1 reply; 15+ messages in thread From: Nicholas Kazlauskas @ 2018-11-13 15:23 UTC (permalink / raw) To: igt-dev The per-pipe plane position subtests are capable of running on AMDGPU as long as they're not using i915 specific tiling formats. The test setup already supports being invoked with different tiling modes so this patch introduces the new 'tiled-none' subtest that runs without any tiling. The tiled-none tests are skipped on i915 to retain existing test coverage and behavior on i915. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> --- tests/kms_plane_multiple.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index 721afe59..7c8adf94 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -291,12 +291,16 @@ test_plane_position(data_t *data, enum pipe pipe, uint64_t tiling) { igt_output_t *output; int connected_outs; - int devid = intel_get_drm_devid(data->drm_fd); int n_planes = data->display.pipes[pipe].n_planes; + if (is_i915_device(data->drm_fd)) + igt_skip_on(tiling == LOCAL_DRM_FORMAT_MOD_NONE); + else + igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE); + if ((tiling == LOCAL_I915_FORMAT_MOD_Y_TILED || tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)) - igt_require(AT_LEAST_GEN(devid, 9)); + igt_require(AT_LEAST_GEN(intel_get_drm_devid(data->drm_fd), 9)); if (!opt.user_seed) opt.seed = time(NULL); @@ -344,6 +348,10 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) igt_subtest_f("atomic-pipe-%s-tiling-yf", kmstest_pipe_name(pipe)) for_each_valid_output_on_pipe(&data->display, pipe, output) test_plane_position(data, pipe, LOCAL_I915_FORMAT_MOD_Yf_TILED); + + igt_subtest_f("atomic-pipe-%s-tiling-none", kmstest_pipe_name(pipe)) + for_each_valid_output_on_pipe(&data->display, pipe, output) + test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE); } static data_t data; -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests Nicholas Kazlauskas @ 2018-11-13 16:58 ` Ville Syrjälä 2018-11-13 17:02 ` Kazlauskas, Nicholas 0 siblings, 1 reply; 15+ messages in thread From: Ville Syrjälä @ 2018-11-13 16:58 UTC (permalink / raw) To: Nicholas Kazlauskas; +Cc: igt-dev On Tue, Nov 13, 2018 at 10:23:48AM -0500, Nicholas Kazlauskas wrote: > The per-pipe plane position subtests are capable of running on > AMDGPU as long as they're not using i915 specific tiling formats. > > The test setup already supports being invoked with different tiling > modes so this patch introduces the new 'tiled-none' subtest that runs > without any tiling. > > The tiled-none tests are skipped on i915 to retain existing test > coverage and behavior on i915. > > Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> > --- > tests/kms_plane_multiple.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c > index 721afe59..7c8adf94 100644 > --- a/tests/kms_plane_multiple.c > +++ b/tests/kms_plane_multiple.c > @@ -291,12 +291,16 @@ test_plane_position(data_t *data, enum pipe pipe, uint64_t tiling) > { > igt_output_t *output; > int connected_outs; > - int devid = intel_get_drm_devid(data->drm_fd); > int n_planes = data->display.pipes[pipe].n_planes; > > + if (is_i915_device(data->drm_fd)) > + igt_skip_on(tiling == LOCAL_DRM_FORMAT_MOD_NONE); > + else > + igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE); Might be nice to switch this over to using igt_plane_has_format_mod(). We'd need to push it down a bit further since we'd need to query each plane in turn. Alternatively we could do something a bit simpler: igt_require(igt_display_has_format_mod(display, DRM_FORMAT_XRGB888, tiling)); igt_require(igt_display_has_format_mod(display, DRM_FORMAT_ARGB888, LOCAL_DRM_FORMAT_MOD_LINEAR)); > + > if ((tiling == LOCAL_I915_FORMAT_MOD_Y_TILED || > tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)) > - igt_require(AT_LEAST_GEN(devid, 9)); > + igt_require(AT_LEAST_GEN(intel_get_drm_devid(data->drm_fd), 9)); > > if (!opt.user_seed) > opt.seed = time(NULL); > @@ -344,6 +348,10 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) > igt_subtest_f("atomic-pipe-%s-tiling-yf", kmstest_pipe_name(pipe)) > for_each_valid_output_on_pipe(&data->display, pipe, output) > test_plane_position(data, pipe, LOCAL_I915_FORMAT_MOD_Yf_TILED); > + > + igt_subtest_f("atomic-pipe-%s-tiling-none", kmstest_pipe_name(pipe)) > + for_each_valid_output_on_pipe(&data->display, pipe, output) > + test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE); > } > > static data_t data; > -- > 2.17.1 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests 2018-11-13 16:58 ` Ville Syrjälä @ 2018-11-13 17:02 ` Kazlauskas, Nicholas 2018-11-13 17:15 ` Ville Syrjälä 0 siblings, 1 reply; 15+ messages in thread From: Kazlauskas, Nicholas @ 2018-11-13 17:02 UTC (permalink / raw) To: Ville Syrjälä; +Cc: igt-dev@lists.freedesktop.org On 11/13/18 11:58 AM, Ville Syrjälä wrote: > On Tue, Nov 13, 2018 at 10:23:48AM -0500, Nicholas Kazlauskas wrote: >> The per-pipe plane position subtests are capable of running on >> AMDGPU as long as they're not using i915 specific tiling formats. >> >> The test setup already supports being invoked with different tiling >> modes so this patch introduces the new 'tiled-none' subtest that runs >> without any tiling. >> >> The tiled-none tests are skipped on i915 to retain existing test >> coverage and behavior on i915. >> >> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> >> --- >> tests/kms_plane_multiple.c | 12 ++++++++++-- >> 1 file changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c >> index 721afe59..7c8adf94 100644 >> --- a/tests/kms_plane_multiple.c >> +++ b/tests/kms_plane_multiple.c >> @@ -291,12 +291,16 @@ test_plane_position(data_t *data, enum pipe pipe, uint64_t tiling) >> { >> igt_output_t *output; >> int connected_outs; >> - int devid = intel_get_drm_devid(data->drm_fd); >> int n_planes = data->display.pipes[pipe].n_planes; >> >> + if (is_i915_device(data->drm_fd)) >> + igt_skip_on(tiling == LOCAL_DRM_FORMAT_MOD_NONE); >> + else >> + igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE); > > Might be nice to switch this over to using igt_plane_has_format_mod(). > We'd need to push it down a bit further since we'd need to query each > plane in turn. That definitely seems like a more elegant solution, I'll fix that up for this and the other patch too. Nicholas Kazlauskas > > Alternatively we could do something a bit simpler: > igt_require(igt_display_has_format_mod(display, DRM_FORMAT_XRGB888, > tiling)); > igt_require(igt_display_has_format_mod(display, DRM_FORMAT_ARGB888, > LOCAL_DRM_FORMAT_MOD_LINEAR)); > >> + >> if ((tiling == LOCAL_I915_FORMAT_MOD_Y_TILED || >> tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)) >> - igt_require(AT_LEAST_GEN(devid, 9)); >> + igt_require(AT_LEAST_GEN(intel_get_drm_devid(data->drm_fd), 9)); >> >> if (!opt.user_seed) >> opt.seed = time(NULL); >> @@ -344,6 +348,10 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) >> igt_subtest_f("atomic-pipe-%s-tiling-yf", kmstest_pipe_name(pipe)) >> for_each_valid_output_on_pipe(&data->display, pipe, output) >> test_plane_position(data, pipe, LOCAL_I915_FORMAT_MOD_Yf_TILED); >> + >> + igt_subtest_f("atomic-pipe-%s-tiling-none", kmstest_pipe_name(pipe)) >> + for_each_valid_output_on_pipe(&data->display, pipe, output) >> + test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE); >> } >> >> static data_t data; >> -- >> 2.17.1 >> >> _______________________________________________ >> igt-dev mailing list >> igt-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/igt-dev > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests 2018-11-13 17:02 ` Kazlauskas, Nicholas @ 2018-11-13 17:15 ` Ville Syrjälä 2018-11-27 18:36 ` Kazlauskas, Nicholas 0 siblings, 1 reply; 15+ messages in thread From: Ville Syrjälä @ 2018-11-13 17:15 UTC (permalink / raw) To: Kazlauskas, Nicholas; +Cc: igt-dev@lists.freedesktop.org On Tue, Nov 13, 2018 at 05:02:04PM +0000, Kazlauskas, Nicholas wrote: > On 11/13/18 11:58 AM, Ville Syrjälä wrote: > > On Tue, Nov 13, 2018 at 10:23:48AM -0500, Nicholas Kazlauskas wrote: > >> The per-pipe plane position subtests are capable of running on > >> AMDGPU as long as they're not using i915 specific tiling formats. > >> > >> The test setup already supports being invoked with different tiling > >> modes so this patch introduces the new 'tiled-none' subtest that runs > >> without any tiling. > >> > >> The tiled-none tests are skipped on i915 to retain existing test > >> coverage and behavior on i915. > >> > >> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> > >> --- > >> tests/kms_plane_multiple.c | 12 ++++++++++-- > >> 1 file changed, 10 insertions(+), 2 deletions(-) > >> > >> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c > >> index 721afe59..7c8adf94 100644 > >> --- a/tests/kms_plane_multiple.c > >> +++ b/tests/kms_plane_multiple.c > >> @@ -291,12 +291,16 @@ test_plane_position(data_t *data, enum pipe pipe, uint64_t tiling) > >> { > >> igt_output_t *output; > >> int connected_outs; > >> - int devid = intel_get_drm_devid(data->drm_fd); > >> int n_planes = data->display.pipes[pipe].n_planes; > >> > >> + if (is_i915_device(data->drm_fd)) > >> + igt_skip_on(tiling == LOCAL_DRM_FORMAT_MOD_NONE); > >> + else > >> + igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE); > > > > Might be nice to switch this over to using igt_plane_has_format_mod(). > > We'd need to push it down a bit further since we'd need to query each > > plane in turn. > > That definitely seems like a more elegant solution, I'll fix that up for > this and the other patch too. I forget, does amggpu support modifiers? If not you will need this: https://patchwork.freedesktop.org/patch/239808/ > > Nicholas Kazlauskas > > > > > Alternatively we could do something a bit simpler: > > igt_require(igt_display_has_format_mod(display, DRM_FORMAT_XRGB888, > > tiling)); > > igt_require(igt_display_has_format_mod(display, DRM_FORMAT_ARGB888, > > LOCAL_DRM_FORMAT_MOD_LINEAR)); > > > >> + > >> if ((tiling == LOCAL_I915_FORMAT_MOD_Y_TILED || > >> tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)) > >> - igt_require(AT_LEAST_GEN(devid, 9)); > >> + igt_require(AT_LEAST_GEN(intel_get_drm_devid(data->drm_fd), 9)); > >> > >> if (!opt.user_seed) > >> opt.seed = time(NULL); > >> @@ -344,6 +348,10 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) > >> igt_subtest_f("atomic-pipe-%s-tiling-yf", kmstest_pipe_name(pipe)) > >> for_each_valid_output_on_pipe(&data->display, pipe, output) > >> test_plane_position(data, pipe, LOCAL_I915_FORMAT_MOD_Yf_TILED); > >> + > >> + igt_subtest_f("atomic-pipe-%s-tiling-none", kmstest_pipe_name(pipe)) > >> + for_each_valid_output_on_pipe(&data->display, pipe, output) > >> + test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE); > >> } > >> > >> static data_t data; > >> -- > >> 2.17.1 > >> > >> _______________________________________________ > >> igt-dev mailing list > >> igt-dev@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/igt-dev > > > -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests 2018-11-13 17:15 ` Ville Syrjälä @ 2018-11-27 18:36 ` Kazlauskas, Nicholas 2018-11-27 19:00 ` Ville Syrjälä 0 siblings, 1 reply; 15+ messages in thread From: Kazlauskas, Nicholas @ 2018-11-27 18:36 UTC (permalink / raw) To: Ville Syrjälä; +Cc: igt-dev@lists.freedesktop.org On 11/13/18 12:15 PM, Ville Syrjälä wrote: > On Tue, Nov 13, 2018 at 05:02:04PM +0000, Kazlauskas, Nicholas wrote: >> On 11/13/18 11:58 AM, Ville Syrjälä wrote: >>> On Tue, Nov 13, 2018 at 10:23:48AM -0500, Nicholas Kazlauskas wrote: >>>> The per-pipe plane position subtests are capable of running on >>>> AMDGPU as long as they're not using i915 specific tiling formats. >>>> >>>> The test setup already supports being invoked with different tiling >>>> modes so this patch introduces the new 'tiled-none' subtest that runs >>>> without any tiling. >>>> >>>> The tiled-none tests are skipped on i915 to retain existing test >>>> coverage and behavior on i915. >>>> >>>> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> >>>> --- >>>> tests/kms_plane_multiple.c | 12 ++++++++++-- >>>> 1 file changed, 10 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c >>>> index 721afe59..7c8adf94 100644 >>>> --- a/tests/kms_plane_multiple.c >>>> +++ b/tests/kms_plane_multiple.c >>>> @@ -291,12 +291,16 @@ test_plane_position(data_t *data, enum pipe pipe, uint64_t tiling) >>>> { >>>> igt_output_t *output; >>>> int connected_outs; >>>> - int devid = intel_get_drm_devid(data->drm_fd); >>>> int n_planes = data->display.pipes[pipe].n_planes; >>>> >>>> + if (is_i915_device(data->drm_fd)) >>>> + igt_skip_on(tiling == LOCAL_DRM_FORMAT_MOD_NONE); >>>> + else >>>> + igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE); >>> >>> Might be nice to switch this over to using igt_plane_has_format_mod(). >>> We'd need to push it down a bit further since we'd need to query each >>> plane in turn. >> >> That definitely seems like a more elegant solution, I'll fix that up for >> this and the other patch too. > > I forget, does amggpu support modifiers? If not you will need this: > https://patchwork.freedesktop.org/patch/239808/ There's no IN_FORMATS support for AMDGPU yet. I had tried adding it with a quick patch but it causes a lot of breakages in userspace so it's not as simple as I had hoped. I have v2s that make use of the new helpers but without IN_FOMRATS support they skip. The patch series you linked would be really nice to have in this case since it still allows the helpers to be used without it. I don't mind leaving a R-B on the patch you linked. But if there isn't any plan to have it merged I can always just do something like: igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE && !igt_plane_has_format_mod(...)) Let me know what you think. Nicholas Kazlauskas > >> >> Nicholas Kazlauskas >> >>> >>> Alternatively we could do something a bit simpler: >>> igt_require(igt_display_has_format_mod(display, DRM_FORMAT_XRGB888, >>> tiling)); >>> igt_require(igt_display_has_format_mod(display, DRM_FORMAT_ARGB888, >>> LOCAL_DRM_FORMAT_MOD_LINEAR)); >>> >>>> + >>>> if ((tiling == LOCAL_I915_FORMAT_MOD_Y_TILED || >>>> tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)) >>>> - igt_require(AT_LEAST_GEN(devid, 9)); >>>> + igt_require(AT_LEAST_GEN(intel_get_drm_devid(data->drm_fd), 9)); >>>> >>>> if (!opt.user_seed) >>>> opt.seed = time(NULL); >>>> @@ -344,6 +348,10 @@ run_tests_for_pipe(data_t *data, enum pipe pipe) >>>> igt_subtest_f("atomic-pipe-%s-tiling-yf", kmstest_pipe_name(pipe)) >>>> for_each_valid_output_on_pipe(&data->display, pipe, output) >>>> test_plane_position(data, pipe, LOCAL_I915_FORMAT_MOD_Yf_TILED); >>>> + >>>> + igt_subtest_f("atomic-pipe-%s-tiling-none", kmstest_pipe_name(pipe)) >>>> + for_each_valid_output_on_pipe(&data->display, pipe, output) >>>> + test_plane_position(data, pipe, LOCAL_DRM_FORMAT_MOD_NONE); >>>> } >>>> >>>> static data_t data; >>>> -- >>>> 2.17.1 >>>> >>>> _______________________________________________ >>>> igt-dev mailing list >>>> igt-dev@lists.freedesktop.org >>>> https://lists.freedesktop.org/mailman/listinfo/igt-dev >>> >> > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests 2018-11-27 18:36 ` Kazlauskas, Nicholas @ 2018-11-27 19:00 ` Ville Syrjälä 0 siblings, 0 replies; 15+ messages in thread From: Ville Syrjälä @ 2018-11-27 19:00 UTC (permalink / raw) To: Kazlauskas, Nicholas; +Cc: igt-dev@lists.freedesktop.org On Tue, Nov 27, 2018 at 06:36:53PM +0000, Kazlauskas, Nicholas wrote: > On 11/13/18 12:15 PM, Ville Syrjälä wrote: > > On Tue, Nov 13, 2018 at 05:02:04PM +0000, Kazlauskas, Nicholas wrote: > >> On 11/13/18 11:58 AM, Ville Syrjälä wrote: > >>> On Tue, Nov 13, 2018 at 10:23:48AM -0500, Nicholas Kazlauskas wrote: > >>>> The per-pipe plane position subtests are capable of running on > >>>> AMDGPU as long as they're not using i915 specific tiling formats. > >>>> > >>>> The test setup already supports being invoked with different tiling > >>>> modes so this patch introduces the new 'tiled-none' subtest that runs > >>>> without any tiling. > >>>> > >>>> The tiled-none tests are skipped on i915 to retain existing test > >>>> coverage and behavior on i915. > >>>> > >>>> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> > >>>> --- > >>>> tests/kms_plane_multiple.c | 12 ++++++++++-- > >>>> 1 file changed, 10 insertions(+), 2 deletions(-) > >>>> > >>>> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c > >>>> index 721afe59..7c8adf94 100644 > >>>> --- a/tests/kms_plane_multiple.c > >>>> +++ b/tests/kms_plane_multiple.c > >>>> @@ -291,12 +291,16 @@ test_plane_position(data_t *data, enum pipe pipe, uint64_t tiling) > >>>> { > >>>> igt_output_t *output; > >>>> int connected_outs; > >>>> - int devid = intel_get_drm_devid(data->drm_fd); > >>>> int n_planes = data->display.pipes[pipe].n_planes; > >>>> > >>>> + if (is_i915_device(data->drm_fd)) > >>>> + igt_skip_on(tiling == LOCAL_DRM_FORMAT_MOD_NONE); > >>>> + else > >>>> + igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE); > >>> > >>> Might be nice to switch this over to using igt_plane_has_format_mod(). > >>> We'd need to push it down a bit further since we'd need to query each > >>> plane in turn. > >> > >> That definitely seems like a more elegant solution, I'll fix that up for > >> this and the other patch too. > > > > I forget, does amggpu support modifiers? If not you will need this: > > https://patchwork.freedesktop.org/patch/239808/ > > There's no IN_FORMATS support for AMDGPU yet. I had tried adding it with > a quick patch but it causes a lot of breakages in userspace so it's not > as simple as I had hoped. > > I have v2s that make use of the new helpers but without IN_FOMRATS > support they skip. The patch series you linked would be really nice to > have in this case since it still allows the helpers to be used without > it. I don't mind leaving a R-B on the patch you linked. > > But if there isn't any plan to have it merged I can always just do > something like: > > igt_skip_on(tiling != LOCAL_DRM_FORMAT_MOD_NONE && > !igt_plane_has_format_mod(...)) > > Let me know what you think. I'd like to have that patch merged. So r-b away please. IIRC the point of contention was whether my proposed behaviour is actually acceptable for driver w/o modifiers. Since you seem to have one I think an r-b from you would be a good indicator that my plan was in fact sane ;) -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Only test i915 features on i915 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests Nicholas Kazlauskas @ 2018-11-13 15:23 ` Nicholas Kazlauskas 2018-11-13 17:00 ` Ville Syrjälä 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 4/4] tests: Enable plane tests for AMDGPU Nicholas Kazlauskas ` (3 subsequent siblings) 5 siblings, 1 reply; 15+ messages in thread From: Nicholas Kazlauskas @ 2018-11-13 15:23 UTC (permalink / raw) To: igt-dev These subtests fail on non-i915 hardware because of the devid lookups and tiling format requirements. This patch guards the devid/gen checks for i915 only. It also skips tests that are testing the i915 tiling formats for non i915 drivers. The tests still won't fully run yet because they'll skip during calls to igt_assert_plane_visible - those require an i915 extension to get the CRTC for a pipe. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> --- tests/kms_plane_lowres.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c index 0824ef8f..3a89f341 100644 --- a/tests/kms_plane_lowres.c +++ b/tests/kms_plane_lowres.c @@ -251,11 +251,14 @@ static void test_plane_position(data_t *data, enum pipe pipe, uint64_t modifier) { igt_output_t *output; - const int gen = intel_gen(intel_get_drm_devid(data->drm_fd)); - if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED || - modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED) - igt_skip_on(gen < 9); + if (is_i915_device(data->drm_fd)) { + if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED || + modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED) + igt_skip_on(intel_gen(intel_get_drm_devid(data->drm_fd)) < 9); + } else { + igt_skip_on(modifier != LOCAL_DRM_FORMAT_MOD_NONE); + } for_each_valid_output_on_pipe(&data->display, pipe, output) test_plane_position_with_output(data, pipe, output, modifier); -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Only test i915 features on i915 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Only test i915 features on i915 Nicholas Kazlauskas @ 2018-11-13 17:00 ` Ville Syrjälä 0 siblings, 0 replies; 15+ messages in thread From: Ville Syrjälä @ 2018-11-13 17:00 UTC (permalink / raw) To: Nicholas Kazlauskas; +Cc: igt-dev On Tue, Nov 13, 2018 at 10:23:49AM -0500, Nicholas Kazlauskas wrote: > These subtests fail on non-i915 hardware because of the devid lookups > and tiling format requirements. > > This patch guards the devid/gen checks for i915 only. It also skips > tests that are testing the i915 tiling formats for non i915 drivers. > > The tests still won't fully run yet because they'll skip during calls to > igt_assert_plane_visible - those require an i915 extension to get the > CRTC for a pipe. > > Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> > --- > tests/kms_plane_lowres.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c > index 0824ef8f..3a89f341 100644 > --- a/tests/kms_plane_lowres.c > +++ b/tests/kms_plane_lowres.c > @@ -251,11 +251,14 @@ static void > test_plane_position(data_t *data, enum pipe pipe, uint64_t modifier) > { > igt_output_t *output; > - const int gen = intel_gen(intel_get_drm_devid(data->drm_fd)); > > - if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED || > - modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED) > - igt_skip_on(gen < 9); > + if (is_i915_device(data->drm_fd)) { > + if (modifier == LOCAL_I915_FORMAT_MOD_Y_TILED || > + modifier == LOCAL_I915_FORMAT_MOD_Yf_TILED) > + igt_skip_on(intel_gen(intel_get_drm_devid(data->drm_fd)) < 9); > + } else { > + igt_skip_on(modifier != LOCAL_DRM_FORMAT_MOD_NONE); > + } Anotehr good candidate for the same igt_display_has_format_mod() logic as the previous patch. > > for_each_valid_output_on_pipe(&data->display, pipe, output) > test_plane_position_with_output(data, pipe, output, modifier); > -- > 2.17.1 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests: Enable plane tests for AMDGPU 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests Nicholas Kazlauskas 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Only test i915 features on i915 Nicholas Kazlauskas @ 2018-11-13 15:23 ` Nicholas Kazlauskas 2018-11-13 16:15 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Patchwork ` (2 subsequent siblings) 5 siblings, 0 replies; 15+ messages in thread From: Nicholas Kazlauskas @ 2018-11-13 15:23 UTC (permalink / raw) To: igt-dev The i915 specific feature requirements that would have failed subtests from kms_plane, kms_plane_multiple and kms_plane_scaling have been conditionally guarded against. These tests can now be run on AMDGPU with the i915 specific tests skipped appropriately. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> --- tests/kms_plane.c | 2 +- tests/kms_plane_multiple.c | 2 +- tests/kms_plane_scaling.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/kms_plane.c b/tests/kms_plane.c index 45e0a304..655b0839 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -590,7 +590,7 @@ igt_main igt_skip_on_simulation(); igt_fixture { - data.drm_fd = drm_open_driver_master(DRIVER_INTEL); + data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_AMDGPU); kmstest_set_vt_graphics_mode(); diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index 7c8adf94..60b9fc07 100644 --- a/tests/kms_plane_multiple.c +++ b/tests/kms_plane_multiple.c @@ -398,7 +398,7 @@ int main(int argc, char *argv[]) igt_skip_on_simulation(); igt_fixture { - data.drm_fd = drm_open_driver_master(DRIVER_INTEL); + data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_AMDGPU); kmstest_set_vt_graphics_mode(); igt_require_pipe_crc(data.drm_fd); igt_display_require(&data.display, data.drm_fd); diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c index ee29f11e..14723106 100644 --- a/tests/kms_plane_scaling.c +++ b/tests/kms_plane_scaling.c @@ -553,7 +553,7 @@ igt_main igt_skip_on_simulation(); igt_fixture { - data.drm_fd = drm_open_driver_master(DRIVER_INTEL); + data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_AMDGPU); igt_require_pipe_crc(data.drm_fd); igt_display_require(&data.display, data.drm_fd); data.devid = is_i915_device(data.drm_fd) ? -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas ` (2 preceding siblings ...) 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 4/4] tests: Enable plane tests for AMDGPU Nicholas Kazlauskas @ 2018-11-13 16:15 ` Patchwork 2018-11-13 16:57 ` [igt-dev] [PATCH i-g-t 1/4] " Ville Syrjälä 2018-11-13 19:51 ` [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/4] " Patchwork 5 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2018-11-13 16:15 UTC (permalink / raw) To: Nicholas Kazlauskas; +Cc: igt-dev == Series Details == Series: series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU URL : https://patchwork.freedesktop.org/series/52430/ State : success == Summary == = CI Bug Log - changes from IGT_4714 -> IGTPW_2056 = == Summary - WARNING == Minor unknown changes coming with IGTPW_2056 need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_2056, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/52430/revisions/1/mbox/ == Possible new issues == Here are the unknown changes that may have been introduced in IGTPW_2056: === IGT changes === ==== Warnings ==== igt@kms_flip@basic-flip-vs-modeset: fi-kbl-x1275: SKIP -> PASS +36 igt@prime_vgem@basic-fence-flip: fi-cfl-s3: SKIP -> PASS == Known issues == Here are the changes found in IGTPW_2056 that come from known issues: === IGT changes === ==== Issues hit ==== igt@drv_selftest@live_contexts: fi-icl-u: NOTRUN -> DMESG-FAIL (fdo#108569) igt@kms_frontbuffer_tracking@basic: fi-byt-clapper: PASS -> FAIL (fdo#103167) ==== Possible fixes ==== igt@drv_module_reload@basic-reload: fi-blb-e6850: INCOMPLETE (fdo#107718) -> PASS igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b: fi-byt-clapper: FAIL (fdo#107362, fdo#103191) -> PASS fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362 fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718 fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569 == Participating hosts (53 -> 46) == Additional (1): fi-icl-u Missing (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-icl-u2 fi-bsw-cyan fi-snb-2520m fi-ctg-p8600 == Build changes == * IGT: IGT_4714 -> IGTPW_2056 CI_DRM_5106: 852b9329fbb6ea8bdbb3dac78328aae73d919305 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_2056: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2056/ IGT_4714: cab148ca3ec904a94d0cd43476cf7e1f8663f906 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Testlist changes == +igt@kms_plane_multiple@atomic-pipe-a-tiling-none +igt@kms_plane_multiple@atomic-pipe-b-tiling-none +igt@kms_plane_multiple@atomic-pipe-c-tiling-none +igt@kms_plane_multiple@atomic-pipe-d-tiling-none +igt@kms_plane_multiple@atomic-pipe-e-tiling-none +igt@kms_plane_multiple@atomic-pipe-f-tiling-none == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2056/issues.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas ` (3 preceding siblings ...) 2018-11-13 16:15 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Patchwork @ 2018-11-13 16:57 ` Ville Syrjälä 2018-11-13 17:00 ` Kazlauskas, Nicholas 2018-11-13 19:51 ` [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/4] " Patchwork 5 siblings, 1 reply; 15+ messages in thread From: Ville Syrjälä @ 2018-11-13 16:57 UTC (permalink / raw) To: Nicholas Kazlauskas; +Cc: igt-dev On Tue, Nov 13, 2018 at 10:23:47AM -0500, Nicholas Kazlauskas wrote: > The plane_scaling subtests are capable of running on AMDGPU when > not using i915 specific tiling formats and when the test only requires > one scaler per pipe. I don't see any specific reason why we'd want to use tiled formats on i915 either. The only exception is the rotation test which requires Y tiling for 90/270 degrees. I think everything else should be fine with linear. > > This patch removes the forced i915 devid and gen checks from non i915 > devices. It also adds logic for getting the number of scalers per pipe > in a way that doesn't only depend on devid. One scaler per pipe is > assumed for AMDGPU. > > Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> > --- > tests/kms_plane_scaling.c | 46 ++++++++++++++++++++++++--------------- > 1 file changed, 29 insertions(+), 17 deletions(-) > > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c > index 773162ec..ee29f11e 100644 > --- a/tests/kms_plane_scaling.c > +++ b/tests/kms_plane_scaling.c > @@ -46,11 +46,14 @@ typedef struct { > igt_plane_t *plane4; > } data_t; > > -static int get_num_scalers(uint32_t devid, enum pipe pipe) > +static int get_num_scalers(data_t* d, enum pipe pipe) > { > - igt_require(intel_gen(devid) >= 9); > + if (!is_i915_device(d->drm_fd)) > + return 1; > + > + igt_require(intel_gen(d->devid) >= 9); > > - if (intel_gen(devid) >= 10) > + if (intel_gen(d->devid) >= 10) > return 2; > else if (pipe != PIPE_C) > return 2; > @@ -79,6 +82,8 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, > igt_plane_t *plane, drmModeModeInfo *mode) > { > igt_display_t *display = &data->display; > + uint64_t tiling = is_i915_device(data->drm_fd) ? > + LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > > cleanup_crtc(data); > > @@ -90,7 +95,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, > /* allocate fb for plane 1 */ > igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ > + tiling, > &data->fb[0]); > > igt_plane_set_fb(plane, &data->fb[0]); > @@ -170,6 +175,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, > { > igt_display_t *display = &d->display; > igt_plane_t *plane; > + uint64_t tiling = is_i915_device(d->drm_fd) ? > + LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > > igt_output_set_pipe(output, pipe); > for_each_plane_on_pipe(display, pipe, plane) { > @@ -183,8 +190,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, > if (igt_fb_supported_format(format) && > can_rotate(d, format)) > check_scaling_pipe_plane_rot(d, plane, format, > - LOCAL_I915_FORMAT_MOD_Y_TILED, > - pipe, output, rot); > + tiling, pipe, > + output, rot); > } > } > } > @@ -264,6 +271,8 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) > igt_display_t *display = &d->display; > drmModeModeInfo *mode; > int primary_plane_scaling = 0; /* For now */ > + uint64_t tiling = is_i915_device(display->drm_fd) ? > + LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > > mode = igt_output_get_mode(output); > > @@ -273,13 +282,13 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) > > igt_create_color_pattern_fb(display->drm_fd, 600, 600, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ > + tiling, > .5, .5, .5, &d->fb[1]); > > igt_create_pattern_fb(d->drm_fd, > mode->hdisplay, mode->vdisplay, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ > + tiling, > &d->fb[2]); > > if (primary_plane_scaling) { > @@ -425,7 +434,7 @@ test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_outpu > { > drmModeModeInfo *mode; > > - igt_require(get_num_scalers(d->devid, pipe) >= 2); > + igt_require(get_num_scalers(d, pipe) >= 2); > > mode = igt_output_get_mode(output); > d->plane1 = &d->display.pipes[pipe].planes[0]; > @@ -480,6 +489,8 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) > igt_output_t *output1, *output2; > drmModeModeInfo *mode1, *mode2; > enum pipe pipe1, pipe2; > + uint64_t tiling = is_i915_device(display->drm_fd) ? > + LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > > cleanup_crtc(d); > > @@ -492,28 +503,28 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) > igt_output_set_pipe(output2, pipe2); > > d->plane1 = igt_output_get_plane(output1, 0); > - d->plane2 = get_num_scalers(d->devid, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL; > + d->plane2 = get_num_scalers(d, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL; > d->plane3 = igt_output_get_plane(output2, 0); > - d->plane4 = get_num_scalers(d->devid, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL; > + d->plane4 = get_num_scalers(d, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL; > > mode1 = igt_output_get_mode(output1); > mode2 = igt_output_get_mode(output2); > > igt_create_pattern_fb(d->drm_fd, 600, 600, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[0]); > + tiling, &d->fb[0]); > > igt_create_pattern_fb(d->drm_fd, 500, 500, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[1]); > + tiling, &d->fb[1]); > > igt_create_pattern_fb(d->drm_fd, 700, 700, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[2]); > + tiling, &d->fb[2]); > > igt_create_pattern_fb(d->drm_fd, 400, 400, > DRM_FORMAT_XRGB8888, > - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[3]); > + tiling, &d->fb[3]); > > igt_plane_set_fb(d->plane1, &d->fb[0]); > if (d->plane2) > @@ -545,7 +556,8 @@ igt_main > data.drm_fd = drm_open_driver_master(DRIVER_INTEL); > igt_require_pipe_crc(data.drm_fd); > igt_display_require(&data.display, data.drm_fd); > - data.devid = intel_get_drm_devid(data.drm_fd); > + data.devid = is_i915_device(data.drm_fd) ? > + intel_get_drm_devid(data.drm_fd) : 0; > igt_require(data.display.is_atomic); > } > > @@ -555,7 +567,7 @@ igt_main > igt_fixture { > igt_display_require_output_on_pipe(&data.display, pipe); > > - igt_require(get_num_scalers(data.devid, pipe) > 0); > + igt_require(get_num_scalers(&data, pipe) > 0); > } > > igt_subtest_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe)) > -- > 2.17.1 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU 2018-11-13 16:57 ` [igt-dev] [PATCH i-g-t 1/4] " Ville Syrjälä @ 2018-11-13 17:00 ` Kazlauskas, Nicholas 2018-11-13 17:08 ` Ville Syrjälä 0 siblings, 1 reply; 15+ messages in thread From: Kazlauskas, Nicholas @ 2018-11-13 17:00 UTC (permalink / raw) To: Ville Syrjälä; +Cc: igt-dev@lists.freedesktop.org On 11/13/18 11:57 AM, Ville Syrjälä wrote: > On Tue, Nov 13, 2018 at 10:23:47AM -0500, Nicholas Kazlauskas wrote: >> The plane_scaling subtests are capable of running on AMDGPU when >> not using i915 specific tiling formats and when the test only requires >> one scaler per pipe. > > I don't see any specific reason why we'd want to use tiled formats on > i915 either. The only exception is the rotation test which requires > Y tiling for 90/270 degrees. I think everything else should be fine > with linear. Sure, I don't mind swapping everything to linear on everything but the rotation tests as part of a v2 then if it's that fine by you. Nicholas Kazlauskas > >> >> This patch removes the forced i915 devid and gen checks from non i915 >> devices. It also adds logic for getting the number of scalers per pipe >> in a way that doesn't only depend on devid. One scaler per pipe is >> assumed for AMDGPU. >> >> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> >> --- >> tests/kms_plane_scaling.c | 46 ++++++++++++++++++++++++--------------- >> 1 file changed, 29 insertions(+), 17 deletions(-) >> >> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c >> index 773162ec..ee29f11e 100644 >> --- a/tests/kms_plane_scaling.c >> +++ b/tests/kms_plane_scaling.c >> @@ -46,11 +46,14 @@ typedef struct { >> igt_plane_t *plane4; >> } data_t; >> >> -static int get_num_scalers(uint32_t devid, enum pipe pipe) >> +static int get_num_scalers(data_t* d, enum pipe pipe) >> { >> - igt_require(intel_gen(devid) >= 9); >> + if (!is_i915_device(d->drm_fd)) >> + return 1; >> + >> + igt_require(intel_gen(d->devid) >= 9); >> >> - if (intel_gen(devid) >= 10) >> + if (intel_gen(d->devid) >= 10) >> return 2; >> else if (pipe != PIPE_C) >> return 2; >> @@ -79,6 +82,8 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, >> igt_plane_t *plane, drmModeModeInfo *mode) >> { >> igt_display_t *display = &data->display; >> + uint64_t tiling = is_i915_device(data->drm_fd) ? >> + LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; >> >> cleanup_crtc(data); >> >> @@ -90,7 +95,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, >> /* allocate fb for plane 1 */ >> igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ >> + tiling, >> &data->fb[0]); >> >> igt_plane_set_fb(plane, &data->fb[0]); >> @@ -170,6 +175,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, >> { >> igt_display_t *display = &d->display; >> igt_plane_t *plane; >> + uint64_t tiling = is_i915_device(d->drm_fd) ? >> + LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; >> >> igt_output_set_pipe(output, pipe); >> for_each_plane_on_pipe(display, pipe, plane) { >> @@ -183,8 +190,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, >> if (igt_fb_supported_format(format) && >> can_rotate(d, format)) >> check_scaling_pipe_plane_rot(d, plane, format, >> - LOCAL_I915_FORMAT_MOD_Y_TILED, >> - pipe, output, rot); >> + tiling, pipe, >> + output, rot); >> } >> } >> } >> @@ -264,6 +271,8 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) >> igt_display_t *display = &d->display; >> drmModeModeInfo *mode; >> int primary_plane_scaling = 0; /* For now */ >> + uint64_t tiling = is_i915_device(display->drm_fd) ? >> + LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; >> >> mode = igt_output_get_mode(output); >> >> @@ -273,13 +282,13 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) >> >> igt_create_color_pattern_fb(display->drm_fd, 600, 600, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ >> + tiling, >> .5, .5, .5, &d->fb[1]); >> >> igt_create_pattern_fb(d->drm_fd, >> mode->hdisplay, mode->vdisplay, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ >> + tiling, >> &d->fb[2]); >> >> if (primary_plane_scaling) { >> @@ -425,7 +434,7 @@ test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_outpu >> { >> drmModeModeInfo *mode; >> >> - igt_require(get_num_scalers(d->devid, pipe) >= 2); >> + igt_require(get_num_scalers(d, pipe) >= 2); >> >> mode = igt_output_get_mode(output); >> d->plane1 = &d->display.pipes[pipe].planes[0]; >> @@ -480,6 +489,8 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) >> igt_output_t *output1, *output2; >> drmModeModeInfo *mode1, *mode2; >> enum pipe pipe1, pipe2; >> + uint64_t tiling = is_i915_device(display->drm_fd) ? >> + LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; >> >> cleanup_crtc(d); >> >> @@ -492,28 +503,28 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) >> igt_output_set_pipe(output2, pipe2); >> >> d->plane1 = igt_output_get_plane(output1, 0); >> - d->plane2 = get_num_scalers(d->devid, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL; >> + d->plane2 = get_num_scalers(d, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL; >> d->plane3 = igt_output_get_plane(output2, 0); >> - d->plane4 = get_num_scalers(d->devid, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL; >> + d->plane4 = get_num_scalers(d, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL; >> >> mode1 = igt_output_get_mode(output1); >> mode2 = igt_output_get_mode(output2); >> >> igt_create_pattern_fb(d->drm_fd, 600, 600, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[0]); >> + tiling, &d->fb[0]); >> >> igt_create_pattern_fb(d->drm_fd, 500, 500, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[1]); >> + tiling, &d->fb[1]); >> >> igt_create_pattern_fb(d->drm_fd, 700, 700, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[2]); >> + tiling, &d->fb[2]); >> >> igt_create_pattern_fb(d->drm_fd, 400, 400, >> DRM_FORMAT_XRGB8888, >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[3]); >> + tiling, &d->fb[3]); >> >> igt_plane_set_fb(d->plane1, &d->fb[0]); >> if (d->plane2) >> @@ -545,7 +556,8 @@ igt_main >> data.drm_fd = drm_open_driver_master(DRIVER_INTEL); >> igt_require_pipe_crc(data.drm_fd); >> igt_display_require(&data.display, data.drm_fd); >> - data.devid = intel_get_drm_devid(data.drm_fd); >> + data.devid = is_i915_device(data.drm_fd) ? >> + intel_get_drm_devid(data.drm_fd) : 0; >> igt_require(data.display.is_atomic); >> } >> >> @@ -555,7 +567,7 @@ igt_main >> igt_fixture { >> igt_display_require_output_on_pipe(&data.display, pipe); >> >> - igt_require(get_num_scalers(data.devid, pipe) > 0); >> + igt_require(get_num_scalers(&data, pipe) > 0); >> } >> >> igt_subtest_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe)) >> -- >> 2.17.1 >> >> _______________________________________________ >> igt-dev mailing list >> igt-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/igt-dev > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU 2018-11-13 17:00 ` Kazlauskas, Nicholas @ 2018-11-13 17:08 ` Ville Syrjälä 0 siblings, 0 replies; 15+ messages in thread From: Ville Syrjälä @ 2018-11-13 17:08 UTC (permalink / raw) To: Kazlauskas, Nicholas; +Cc: igt-dev@lists.freedesktop.org On Tue, Nov 13, 2018 at 05:00:24PM +0000, Kazlauskas, Nicholas wrote: > On 11/13/18 11:57 AM, Ville Syrjälä wrote: > > On Tue, Nov 13, 2018 at 10:23:47AM -0500, Nicholas Kazlauskas wrote: > >> The plane_scaling subtests are capable of running on AMDGPU when > >> not using i915 specific tiling formats and when the test only requires > >> one scaler per pipe. > > > > I don't see any specific reason why we'd want to use tiled formats on > > i915 either. The only exception is the rotation test which requires > > Y tiling for 90/270 degrees. I think everything else should be fine > > with linear. > > Sure, I don't mind swapping everything to linear on everything but the > rotation tests as part of a v2 then if it's that fine by you. Yeah, I can't immediately see a reason against that. And if I'm wrong CI will hopefully explode :) > > Nicholas Kazlauskas > > > > >> > >> This patch removes the forced i915 devid and gen checks from non i915 > >> devices. It also adds logic for getting the number of scalers per pipe > >> in a way that doesn't only depend on devid. One scaler per pipe is > >> assumed for AMDGPU. > >> > >> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> > >> --- > >> tests/kms_plane_scaling.c | 46 ++++++++++++++++++++++++--------------- > >> 1 file changed, 29 insertions(+), 17 deletions(-) > >> > >> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c > >> index 773162ec..ee29f11e 100644 > >> --- a/tests/kms_plane_scaling.c > >> +++ b/tests/kms_plane_scaling.c > >> @@ -46,11 +46,14 @@ typedef struct { > >> igt_plane_t *plane4; > >> } data_t; > >> > >> -static int get_num_scalers(uint32_t devid, enum pipe pipe) > >> +static int get_num_scalers(data_t* d, enum pipe pipe) > >> { > >> - igt_require(intel_gen(devid) >= 9); > >> + if (!is_i915_device(d->drm_fd)) > >> + return 1; > >> + > >> + igt_require(intel_gen(d->devid) >= 9); > >> > >> - if (intel_gen(devid) >= 10) > >> + if (intel_gen(d->devid) >= 10) > >> return 2; > >> else if (pipe != PIPE_C) > >> return 2; > >> @@ -79,6 +82,8 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, > >> igt_plane_t *plane, drmModeModeInfo *mode) > >> { > >> igt_display_t *display = &data->display; > >> + uint64_t tiling = is_i915_device(data->drm_fd) ? > >> + LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > >> > >> cleanup_crtc(data); > >> > >> @@ -90,7 +95,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, > >> /* allocate fb for plane 1 */ > >> igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ > >> + tiling, > >> &data->fb[0]); > >> > >> igt_plane_set_fb(plane, &data->fb[0]); > >> @@ -170,6 +175,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, > >> { > >> igt_display_t *display = &d->display; > >> igt_plane_t *plane; > >> + uint64_t tiling = is_i915_device(d->drm_fd) ? > >> + LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > >> > >> igt_output_set_pipe(output, pipe); > >> for_each_plane_on_pipe(display, pipe, plane) { > >> @@ -183,8 +190,8 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe, > >> if (igt_fb_supported_format(format) && > >> can_rotate(d, format)) > >> check_scaling_pipe_plane_rot(d, plane, format, > >> - LOCAL_I915_FORMAT_MOD_Y_TILED, > >> - pipe, output, rot); > >> + tiling, pipe, > >> + output, rot); > >> } > >> } > >> } > >> @@ -264,6 +271,8 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) > >> igt_display_t *display = &d->display; > >> drmModeModeInfo *mode; > >> int primary_plane_scaling = 0; /* For now */ > >> + uint64_t tiling = is_i915_device(display->drm_fd) ? > >> + LOCAL_I915_FORMAT_MOD_X_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > >> > >> mode = igt_output_get_mode(output); > >> > >> @@ -273,13 +282,13 @@ test_plane_scaling_on_pipe(data_t *d, enum pipe pipe, igt_output_t *output) > >> > >> igt_create_color_pattern_fb(display->drm_fd, 600, 600, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ > >> + tiling, > >> .5, .5, .5, &d->fb[1]); > >> > >> igt_create_pattern_fb(d->drm_fd, > >> mode->hdisplay, mode->vdisplay, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_X_TILED, /* tiled */ > >> + tiling, > >> &d->fb[2]); > >> > >> if (primary_plane_scaling) { > >> @@ -425,7 +434,7 @@ test_scaler_with_clipping_clamping_scenario(data_t *d, enum pipe pipe, igt_outpu > >> { > >> drmModeModeInfo *mode; > >> > >> - igt_require(get_num_scalers(d->devid, pipe) >= 2); > >> + igt_require(get_num_scalers(d, pipe) >= 2); > >> > >> mode = igt_output_get_mode(output); > >> d->plane1 = &d->display.pipes[pipe].planes[0]; > >> @@ -480,6 +489,8 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) > >> igt_output_t *output1, *output2; > >> drmModeModeInfo *mode1, *mode2; > >> enum pipe pipe1, pipe2; > >> + uint64_t tiling = is_i915_device(display->drm_fd) ? > >> + LOCAL_I915_FORMAT_MOD_Y_TILED : LOCAL_DRM_FORMAT_MOD_NONE; > >> > >> cleanup_crtc(d); > >> > >> @@ -492,28 +503,28 @@ static void test_scaler_with_multi_pipe_plane(data_t *d) > >> igt_output_set_pipe(output2, pipe2); > >> > >> d->plane1 = igt_output_get_plane(output1, 0); > >> - d->plane2 = get_num_scalers(d->devid, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL; > >> + d->plane2 = get_num_scalers(d, pipe1) >= 2 ? igt_output_get_plane(output1, 1) : NULL; > >> d->plane3 = igt_output_get_plane(output2, 0); > >> - d->plane4 = get_num_scalers(d->devid, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL; > >> + d->plane4 = get_num_scalers(d, pipe2) >= 2 ? igt_output_get_plane(output2, 1) : NULL; > >> > >> mode1 = igt_output_get_mode(output1); > >> mode2 = igt_output_get_mode(output2); > >> > >> igt_create_pattern_fb(d->drm_fd, 600, 600, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[0]); > >> + tiling, &d->fb[0]); > >> > >> igt_create_pattern_fb(d->drm_fd, 500, 500, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[1]); > >> + tiling, &d->fb[1]); > >> > >> igt_create_pattern_fb(d->drm_fd, 700, 700, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[2]); > >> + tiling, &d->fb[2]); > >> > >> igt_create_pattern_fb(d->drm_fd, 400, 400, > >> DRM_FORMAT_XRGB8888, > >> - LOCAL_I915_FORMAT_MOD_Y_TILED, &d->fb[3]); > >> + tiling, &d->fb[3]); > >> > >> igt_plane_set_fb(d->plane1, &d->fb[0]); > >> if (d->plane2) > >> @@ -545,7 +556,8 @@ igt_main > >> data.drm_fd = drm_open_driver_master(DRIVER_INTEL); > >> igt_require_pipe_crc(data.drm_fd); > >> igt_display_require(&data.display, data.drm_fd); > >> - data.devid = intel_get_drm_devid(data.drm_fd); > >> + data.devid = is_i915_device(data.drm_fd) ? > >> + intel_get_drm_devid(data.drm_fd) : 0; > >> igt_require(data.display.is_atomic); > >> } > >> > >> @@ -555,7 +567,7 @@ igt_main > >> igt_fixture { > >> igt_display_require_output_on_pipe(&data.display, pipe); > >> > >> - igt_require(get_num_scalers(data.devid, pipe) > 0); > >> + igt_require(get_num_scalers(&data, pipe) > 0); > >> } > >> > >> igt_subtest_f("pipe-%s-plane-scaling", kmstest_pipe_name(pipe)) > >> -- > >> 2.17.1 > >> > >> _______________________________________________ > >> igt-dev mailing list > >> igt-dev@lists.freedesktop.org > >> https://lists.freedesktop.org/mailman/listinfo/igt-dev > > > -- Ville Syrjälä Intel _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas ` (4 preceding siblings ...) 2018-11-13 16:57 ` [igt-dev] [PATCH i-g-t 1/4] " Ville Syrjälä @ 2018-11-13 19:51 ` Patchwork 5 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2018-11-13 19:51 UTC (permalink / raw) To: Kazlauskas, Nicholas; +Cc: igt-dev == Series Details == Series: series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU URL : https://patchwork.freedesktop.org/series/52430/ State : failure == Summary == = CI Bug Log - changes from IGT_4714_full -> IGTPW_2056_full = == Summary - FAILURE == Serious unknown changes coming with IGTPW_2056_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_2056_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/52430/revisions/1/mbox/ == Possible new issues == Here are the unknown changes that may have been introduced in IGTPW_2056_full: === IGT changes === ==== Possible regressions ==== igt@gem_userptr_blits@readonly-unsync: shard-glk: PASS -> TIMEOUT ==== Warnings ==== igt@pm_rc6_residency@rc6-accuracy: shard-snb: SKIP -> PASS == Known issues == Here are the changes found in IGTPW_2056_full that come from known issues: === IGT changes === ==== Issues hit ==== igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c: shard-kbl: NOTRUN -> DMESG-WARN (fdo#107956) +1 igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a: shard-apl: PASS -> DMESG-WARN (fdo#107956) igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c: shard-glk: NOTRUN -> DMESG-WARN (fdo#107956) +1 igt@kms_ccs@pipe-b-crc-sprite-planes-basic: shard-glk: PASS -> FAIL (fdo#108145) igt@kms_cursor_crc@cursor-128x128-suspend: shard-apl: PASS -> FAIL (fdo#103191, fdo#103232) shard-kbl: PASS -> FAIL (fdo#103191, fdo#103232) igt@kms_cursor_crc@cursor-256x256-random: shard-glk: NOTRUN -> FAIL (fdo#103232) +5 igt@kms_cursor_crc@cursor-64x21-random: shard-apl: PASS -> FAIL (fdo#103232) +2 igt@kms_cursor_crc@cursor-64x64-onscreen: shard-kbl: PASS -> FAIL (fdo#103232) igt@kms_cursor_crc@cursor-64x64-sliding: shard-glk: PASS -> FAIL (fdo#103232) +4 igt@kms_cursor_legacy@cursorb-vs-flipb-toggle: shard-glk: PASS -> DMESG-WARN (fdo#105763, fdo#106538) igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt: shard-apl: PASS -> FAIL (fdo#103167) igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move: shard-glk: NOTRUN -> FAIL (fdo#103167) +3 igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move: shard-glk: PASS -> FAIL (fdo#103167) +11 igt@kms_plane@plane-position-covered-pipe-a-planes: shard-apl: PASS -> FAIL (fdo#103166) +2 igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb: shard-glk: NOTRUN -> FAIL (fdo#108145) +6 igt@kms_plane_multiple@atomic-pipe-a-tiling-y: shard-glk: PASS -> FAIL (fdo#103166) +2 igt@kms_plane_multiple@atomic-pipe-a-tiling-yf: shard-kbl: PASS -> FAIL (fdo#103166) +1 igt@kms_plane_multiple@atomic-pipe-b-tiling-y: shard-glk: NOTRUN -> FAIL (fdo#103166) +3 igt@kms_properties@connector-properties-atomic: shard-glk: NOTRUN -> FAIL (fdo#108642) shard-hsw: NOTRUN -> FAIL (fdo#108642) igt@kms_setmode@basic: shard-apl: PASS -> FAIL (fdo#99912) ==== Possible fixes ==== igt@drv_suspend@forcewake: shard-kbl: INCOMPLETE (fdo#103665) -> PASS igt@drv_suspend@shrink: shard-snb: INCOMPLETE (fdo#106886, fdo#105411) -> PASS igt@gem_ppgtt@blt-vs-render-ctx0: shard-kbl: INCOMPLETE (fdo#103665, fdo#106887, fdo#106023) -> PASS igt@kms_available_modes_crc@available_mode_test_crc: shard-apl: FAIL (fdo#106641) -> PASS igt@kms_cursor_crc@cursor-128x42-sliding: shard-kbl: FAIL (fdo#103232) -> PASS +3 igt@kms_cursor_crc@cursor-256x85-random: shard-glk: FAIL (fdo#103232) -> PASS +2 igt@kms_cursor_crc@cursor-64x21-sliding: shard-apl: FAIL (fdo#103232) -> PASS +3 igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite: shard-apl: FAIL (fdo#103167) -> PASS igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render: shard-glk: FAIL (fdo#103167) -> PASS igt@kms_plane_multiple@atomic-pipe-b-tiling-y: shard-apl: FAIL (fdo#103166) -> PASS +1 igt@kms_plane_multiple@atomic-pipe-b-tiling-yf: shard-kbl: FAIL (fdo#103166) -> PASS igt@kms_setmode@basic: shard-hsw: FAIL (fdo#99912) -> PASS shard-kbl: FAIL (fdo#99912) -> PASS igt@kms_universal_plane@universal-plane-pipe-a-functional: shard-glk: FAIL (fdo#103166) -> PASS +2 igt@kms_vblank@pipe-a-query-busy: shard-snb: INCOMPLETE (fdo#105411) -> PASS igt@perf_pmu@busy-start-vcs0: shard-apl: DMESG-WARN (fdo#105602, fdo#103558) -> PASS fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166 fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232 fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558 fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665 fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411 fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602 fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763 fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023 fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538 fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641 fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886 fdo#106887 https://bugs.freedesktop.org/show_bug.cgi?id=106887 fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956 fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145 fdo#108642 https://bugs.freedesktop.org/show_bug.cgi?id=108642 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 == Participating hosts (6 -> 5) == Missing (1): shard-skl == Build changes == * IGT: IGT_4714 -> IGTPW_2056 CI_DRM_5106: 852b9329fbb6ea8bdbb3dac78328aae73d919305 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_2056: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2056/ IGT_4714: cab148ca3ec904a94d0cd43476cf7e1f8663f906 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2056/shards.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-11-27 19:00 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-11-13 15:23 [igt-dev] [PATCH i-g-t 1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Nicholas Kazlauskas 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 2/4] tests/kms_plane_multiple: Add tiled-none plane position subtests Nicholas Kazlauskas 2018-11-13 16:58 ` Ville Syrjälä 2018-11-13 17:02 ` Kazlauskas, Nicholas 2018-11-13 17:15 ` Ville Syrjälä 2018-11-27 18:36 ` Kazlauskas, Nicholas 2018-11-27 19:00 ` Ville Syrjälä 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_plane_lowres: Only test i915 features on i915 Nicholas Kazlauskas 2018-11-13 17:00 ` Ville Syrjälä 2018-11-13 15:23 ` [igt-dev] [PATCH i-g-t 4/4] tests: Enable plane tests for AMDGPU Nicholas Kazlauskas 2018-11-13 16:15 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] tests/kms_plane_scaling: Add support for testing AMDGPU Patchwork 2018-11-13 16:57 ` [igt-dev] [PATCH i-g-t 1/4] " Ville Syrjälä 2018-11-13 17:00 ` Kazlauskas, Nicholas 2018-11-13 17:08 ` Ville Syrjälä 2018-11-13 19:51 ` [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/4] " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox