Age | Commit message (Collapse) | Author |
|
Added subtests as a list. Also, renamed tests to
distinguish between plane vs planes tests.
Lastly, for clipping/clamping tests added new tests
as modifiers, pixel-formats and rotation.
v2: fixed indentation (JP)
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
|
|
In this patch, scaling(upscale/downscale/unity)
is tested with various modifiers.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
Again, these tests timeouts in CI. Here fixed modifier and
format and looped only for rotations to validate scaling with
different rotations.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
The current test takes around 500.454s/connector/pipe on DG2
to complete. CI per test execution timeout is 120s.
In this test, we have fixed modifier as LINEAR and looped
through all the pixel formats which is the sole purpose of
this test. With this change, execution time has reduced to
340.297s.
To validate scaling with modifiers separate tests will be
introduced.
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
To validate i915 supports max of 2 scalers, applied upscaling on
3 planes simultaneously. This is a negative test and commit is expected
to fail.
v2: -add check for min 2 scalers
-add igt_require() for overlay planes, fixes CRASH on KBL
v3: -rebase
v4: -add check for non-i915 devices (Petri)
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Upscaling on first plane and downscaling on second plane.
v2: -add check for min 2 scalers
-add igt_require() for overlay planes, fixes CRASH on KBL
v3: -test modified for n planes (Ville)
v4: -code optimization
v5: -limiting while loop and few other changes based on prev. patches
v6: -rebase
-modified tests after rebase for consistency and more coverage
(Petri)
v7: -rename tests
-added 0.75 scaling factor downscaling tests (Petri)
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Added test case to downscale 2 planes simultaneously.
i915 driver supports max of 3:1 downscaling limit.
v2: -add check for min 2 scalers
-add igt_require() for overlay planes, fixes CRASH on KBL
v3: -test modified for n planes (Ville)
v4: -code optimization
v5: -limiting while loop (Ville)
v6: -rebase
-modified tests after rebase for consistency and more coverage
(Petri)
v7: -rename tests
-add 0.75 scaling factor test (Petri)
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
i915 driver supports 2 scalers per pipe. Added test case
to upscale 2 planes simultaneously on single pipe.
v2: -add check for min 2 scalers
-add igt_require() for overlay planes, fixes CRASH on KBL
v3: -test modified for n planes (Ville)
v4: -modularized the code
-removed i915 dependency (Ville)
v5: -added primary plane back (Ville)
-whitespace fixed (Ville)
v6: -rebase
-modified tests after rebase for consistency and more coverage
(Petri)
v7: -renaming tests
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
In this patch,
-output name is added to dynamic subtests
-rename of existing tests
-change in multiplier
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
In this patch,
-improved indentation
-removed get_num_scalers() and used try_commit()
-used test_pipe_iteration() to reduce exec. time
-clipping/clamping can reuse same func()
-removed unused var
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
The test case has dead code, primary_plane_scaling is always 0.
Also, upscaling and downscaling scenarios seems little bit messy.
Lets simplify those scenarios by introducing new subtests covering both
upscaling and downscaling.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Not all drivers support all scale factors. Introduce more scale
factors rather than only testing scaling from a 20x20 fb.
Changes since V4:
- Fixed space before tab in indent warning (Swati)
- Added \n (Swati)
Changes since V3:
- Added skip on -EINVAL
- Added downscaling subtests
- Modified test and subtest names to distinguish between upscaling and
downscaling subtests
Changes since V2:
- Replaced odd width/height check with ALIGN macro
Changes since V1:
- Fixed inconsistent parameter order
- Moved igt_output_get_mode to inside for_each_pipe_with_single_output
for scaler-with-pixel-format-factor-4 subtest
- Add check to guarantee even aligned framebuffer size to avoid
fractional UV component during chroma subsampling for YUV 4:2:0
formats
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Tested-by: Jessica Zhang <quic_jesszhan@quicinc.com> # RB3 (sdm845), RB5 (qrb5165), Chromebook (Lazor)
Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Cc: Jessica Zhang <quic_jesszhan@quicinc.com>
Change-Id: Ie3016a3ccbf18d6e7388ffff930bb6ccc17dcacb
|
|
[Why]
Drivers such as MSM are able to run tests that are made generic through
supporting another driver that's not i915. Removing the restriction that
enables the test on a 2 drivers only allow the tests to run on other
drivers.
[How]
1. Replace DRIVER_INTEL | DRIVER_AMDGPU by DRIVER_ANY
2. Make the checks more broad to allow intel generic implementation to
work on all drivers while keeping special amdgpu's quirks.
Tested on Trogdor (MSM)
Signed-off-by: Mark Yacoub <markyacoub@chromium.org>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Use a more reasonable variable name for modifiers.
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
DRM_FORMAT_MOD_LINEAR is the more sensible name for
DRM_FORMAT_MOD_NONE. Use the better name.
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Replace the hand rolled gen check with igt_plane_has_rotation().
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Replace the hand rolled 90/270 rotation check with
igt_rotation_90_or_270().
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Use the definition from kernel headers.
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
Just use the one from the kernel headers. Updated with:
git grep -l LOCAL_I915 | \
xargs sed -i -e '/^#define LOCAL_I915/d' -e 's/LOCAL_\(I915[[:alnum:]_]*\)/\1/g'
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
ADL-P platform doesn't support 90/270 rotation. Let's skip to test
with these rotations.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
Display code should check the display version of the platform rather
than the graphics version; on some platforms these versions won't be the
same.
v2:
- Continue to use intel_gen() in draw_rect_blt() since it's checking
the version of the blitter engine (graphics) rather than the display
version. (Jose)
- Rename some gen -> display_ver in kms_universal_plane too. (Jose)
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
|
|
This patch will find the connector/mode combination that fits
into the bandwidth when more than one monitor is connected.
Example:
When two monitors connected through MST, the second monitor
also tries to use the same mode. So two such modes may not
fit into the link bandwidth. So, iterate through connected
outputs & modes and find a combination of modes those fit
into the link BW.
V2:
* Fix commit message (Ankit)
Cc: Imre Deak <imre.deak@intel.com>
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
|
|
Added description for following tests:
tests/kms_atomic.c
tests/kms_concurrent.c
tests/kms_content_protection.c
tests/kms_fbcon_fbt.c
tests/kms_getfb.c
tests/kms_lease.c
tests/kms_panel_fitting.c
tests/kms_pipe_b_c_ivb.c
tests/kms_plane_lowres.c
tests/kms_plane_scaling.c
tests/kms_prop_blob.c
tests/kms_rmfb.c
tests/kms_sequence.c
tests/kms_vrr.c
tests/kms_pipe_crc_basic.c
tests/kms_plane_alpha_blend.c
tests/kms_draw_crc.c
tests/kms_tv_load_detect.c
tests/kms_busy.c
tests/kms_force_connector_basic.c
tests/kms_setmode.c
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
|
|
Don't run plane scaler tests with all formats for pipe C & D.
We probably don't need to test plane scaler tests with each format
for pipe C & D.
$ time ./build/tests/kms_plane_scaling
- real 6m53,143s
+ real 4m39,406s
Cc: juhapekka.heikkila@gmail.com
Cc: Mika Kahola <mika.kahola@intel.com>
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
subtests"
This reverts commit b0c056b3513e58332887dc50847f359da3e74e53.
Tests are failing with the following signature due to this commit:
Starting subtest: plane-scaling
documenting dynamic subsubtests is impossible, document the subtest instead.please refer to lib/igt_core documentation
kms_plane_scaling: ../lib/igt_core.c:359: internal_assert: Assertion `0' failed.
Received signal SIGABRT.
Stack trace:
#0 [fatal_sig_handler+0xd6]
#1 [killpg+0x40]
#2 [gsignal+0xc7]
#3 [abort+0x141]
#4 [uselocale+0x33a]
#5 [__assert_fail+0x42]
#6 [internal_assert+0x101]
#7 [igt_describe_f+0x95]
#8 [__real_main704+0xa45]
#9 [main+0x3f]
#10 [__libc_start_main+0xe7]
#11 [_start+0x2a]
Cc: Petri Latvala <petri.latvala@intel.com>
Reported-by: Jani Saarinen <jani.saarinen@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Add plane scaling test descriptions for subtests.
Plane scaling with tiling rotation, pixel formats, overlay planes and with
clipping and clamping
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Reviewed-by: Khajapasha, Mohammed <mohammed.khajapasha@intel.com>
v1-v10 : Review Comments (Khaja)
|
|
create needed planes only when needed and not destroying them in between.
This reduces execution time for clipping clamping dynamic tests on my ICL
from 75s to 29s
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Correcting typo error for plane scaler with clipping and clamping
test case.
Cc: petri.latvala@intel.com
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Don't run plane scaler tests on each output of a pipe.
We probably don't need to test plane scaler tests on each
output of a pipe.
$ time ./build/tests/kms_plane_scaling
- real 17m6.593s
+ real 6m33.515s
Cc: petri.latvala@intel.com
Cc: mika.kahola@intel.com
Cc: juha-pekka.heikkila@intel.com
Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Depending on pixel format for gen11+ platforms minimum width can be as
high as 20. Set width and height to 20. Remove is_planar_yuv_format, no
longer used.
Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Sowmya Kaparthi <sowmyax.kaparthi@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
We probably don't need to test every pixel format, so let's just
test one format for each format "class" (as defined by
igt_reduce_format()).
Speeds up the test considerably (on KBL):
$ time ./build/tests/kms_plane_scaling --r pipe-A-scaler-with-clipping-clamping
- real 0m25,186s
+ real 0m3,440s
As with kms_plane we'll add a new command line argument (--extended)
which can be used to test all formats.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Removing igt_skip_on_simulation() from all the kms tests
since this feature is not supported anymore.
v2: Rebase
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
|
|
Pre-icl can't scale fp16 formats so let's skip those. Since we
already have the can_rotate() function let's add a similar one
for scaling.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
Update the list of pixel formats that cannot be rotated by 90/270 degrees. With this patch,
the kernel and IGT are aligned for i915 driver.
References: https://bugs.freedesktop.org/show_bug.cgi?id=109052
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110369
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
Disallow Yf tiling and Y-tiled 90/270 rotation for fp16 on Intel hardware.
rfc2:
- Move check into can_rotate (Maarten)
- Use igt_plane_has_format_mod (Maarten)
v1:
- Drop Y tile check (Ville)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Let's add a check for supported pixel format. Otherwise, we fail the test,
for example, with the following error message
"[drm:intel_framebuffer_init [i915]] unsupported pixel format Y210 little-endian
(0x30313259) / modifier 0x100000000000003"
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110369
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Let's check if 90/270 rotation is supported for the format that we are
trying to test.
Currently, if we try to test unsupported format the kernel complains with
the following message.
"[drm:skl_plane_check [i915]] Unsupported pixel format Y210
little-endian (0x30313259) for 90/270!"
v2: Use igt_plane_has_format_mod() function to select formats that are
capable of 90/270 rotation (Ville)
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
These tests intend to test scaling on hardware with overlay planes.
They will incorrectly try to scale the cursor plane or occasionally
crash by trying to access planes that don't exist for hardware that
doesn't expose any overlay planes.
Make plane selection explicit by requesting the plane by type and index
using the igt helper igt_pipe_get_plane_type_index.
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Leo Li <sunpeng.li@amd.com>
|
|
i915 devices
Use minimum of 16x16 size for i915 devices only as other HW's may have different limitations.
The default is 8x8.
Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Let's ensure that we test with minimum width and height of 16 for all planar uyv formats.
References: https://bugs.freedesktop.org/show_bug.cgi?id=110098
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
It's set up for capture and then freed but never used.
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
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>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
|
|
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.
There isn't any specific reason that the x-tiled formats need to be
used on the non-rotation tests on i915 but this patch keeps the
existing test behavior. It's a little simpler to keep it this way for
the prepare_crtc helper that's shared between the scaling test
and the clipping/clamping test.
v2: Use igt_plane_has_format_mod helper (Ville)
v3: Use helpers to check x-tiled support (Ville)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Simple rule of thumb, if a kms_* test calls igt_display_init() in its
global fixture, skip the entire test if the driver has disabled KMS.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
|
|
Test DRM_FORMAT_RGB565 rotation when gen is 11 or higher.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
The 9x9 was maybe a workaround for the kernel's rounding behaviour?
The kernel was changed so that's no longer necessary. So let's go
for 8x8 since that actually works with YUV formats.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> #irc
|
|
YUV formats require the clipped src coordinates to be suitably aligned.
We'd need to very carefully compute the unclipped dst coordinates to
guarantee that. That's too much hassle so let's just accept failure in
case YUV formats are used.
v2: Actually remove the original igt_display_commit2() (Maarten)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> #irc
|
|
Modesetting requires DRM_MASTER privileges, so use
drm_open_driver_master() to assert that we do acquire them.
References: https://bugs.freedesktop.org/show_bug.cgi?id=105997
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
|