Age | Commit message (Collapse) | Author |
|
Adding subtest to test new tiling format.
Signed-off-by: Jeevan B <jeevan.b@intel.com>
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
|
|
different planes.
P010 pixel format is newly added to the already existing
list of pixel formats(RGB565,XRGB8888,NV12).
Signed-off-by: Ananya Sharma <ananya.sharma@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
[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>
|
|
Add typechecking to the min/max macros and make their locals truly
unique-ish to reduce the risk of shadowing.
v2: small bug fix, write also height coordinate on rotation
test. (jheikkil)
v3: Fix up a couple of other max/max_t instances (Ashutosh)
Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
|
|
Use igt_plane_has_rotation() instead of these annoying
hand rolled gen checks.
Also fix up the bogus CHV checks to match reality. Since
the test doesn't probe the final configuration with a
TEST_ONLY atomic commit we must still manually filter
out any case that would pass the basic rotation check but
fail later.
v2: Keep the gen9+ checks for the multiplane tests since they
want a non-fullscreen primary plane
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 checks 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.
Cc: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
Cc: Karthik B S <karthik.b.s@intel.com>
Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.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>
|
|
HW detiler not supported on platforms w/o aperture.
Added feature test macro to query the kernel for the
global gpu aperture size. Aperture size should be
greater than zero to support HW detiler, if not skip
the test.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Reduce repetitive work and wait less. Buffer created fbs. Log counted crcs.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Allow amdgpu to run HW rotation IGT test case
Added conditions to bypass all the requirements needed for intel when testing amdgpu.
Additionally, freed unused frame buffers.
Added swizzle 64kb tiling method for amdgpu-specific.
Updated drm header for amdgpu tiling modifiers.
v2: drm_fourcc.h copied from kernel header commit:8ba16d5993749c3f31fd2b49e16f0dc1e1770b9c from drm-next.
removed igt_pipe_crc_collect_crc for intel gpu. Only on AMDGPU.
v3: moved drm_fourcc.h to another patch.
Removed creating redundant fb in prepare_crtc for amdgpu.
Guarded display commit for amdgpu.
Blocked cursor plane rotation for amdgpu.
Added back tiling when creating reference fb.
Signed-off-by: Sung Joon Kim <sungkim@amd.com>
Reviewed by: Nikola Cornij <nikola.cornij@amd.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
|
|
Added description for all subtests
Signed-off-by: Arundhati Hagaragi <arundhati.hagaragi@intel.com>
Cc: Gupta, Nidhi1 <nidhi1.gupta@intel.com>
Cc: B S, Karthik <Karthik.B.S@intel.com>
Reviewed-by: Jeevan B <jeevan.b@intel.com>
|
|
With multidisplay set ups, the test ran only on first pipe with 2 outputs
and it would skip on other displays connected. so added a variable to
correct this behavior.
Signed-off-by: Jeevan B <jeevan.b@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Different resolutions with same content may have different crc hence generate
buffer verification crcs for different modes if needed.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Restricting the execution to 2 pipes
with this change we see 50% improvement in time efficiency.
v2: Updated commit message
v3: Updated check condition
Signed-off-by: Jeevan B <jeevan.b@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
|
|
on bad tiling tests there was nothing reading running crcs
which could fill up crc ringbuffer. Fix this by draining
crc buffer per round. Also unify all platforms execution
path by taking reference crcs per pipe.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
Get those reference crcs only once since they stay the same.
v2: Need to make exception for HSW, there crcs seem to vary across
rendering pipes.
This reduces generic rotation tests execution time on my ICL from 26s to 14s
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
The function igt_put_cairo_ctx currently requires three parameters, but only
one of them is used in it. This patch removes the useless parameters, making
the code more readable and cohesive. It also applies the change to all
occurrences of the function in the code.
Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
removed fb does not take part into final crc comparisons.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
As we did with kms_plane_scaling let's not test every pixel
format for rotation fails either. Instead we test each "class"
of formats as defined by igt_reduce_format(). The hope being
that there are no specific bugs in the hw for different
swizzles of the same underlying base format.
On KBL:
$ time ./build/tests/kms_rotation_crc --r sprite-rotation-90
- real 0m39,851s
- user 0m1,037s
- sys 0m12,895s
+ real 0m16,773s
+ user 0m0,357s
+ sys 0m5,475s
As per the usual recipe we add an --extended cmdline knob to
force the full coverage.
Only cuts ~30% of the total kms_rotation_crc runtime though.
There are other subtests which take over 80s on this particular
machine, so further work is clearly required to get the testing
time to sane levels.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
It shouldn't make difference here if used maximum available
screen resolution or something smaller. Something smaller
is much faster so limit maximum size to 640x480.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Acked-by: Martin Peres <martin.peres@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>
|
|
Avoid failing test for wrong reasons.
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
This test performs display updates via COMMIT_ATOMIC, but fails to check
that the platform being tested actually supports atomic. This causes
failures on some of our older pre-gen5 platforms.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106012
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
Currently, subtest bad-pixel-format is getting skipped for gen11.
To enable this for gen11+ platforms, added override_fmt - which could
be any gen11+ format not allowing 90/270 degree rotation like C8,
Y210, Y212, Y216, etc.
DRM_FORMAT_C8 fmt needs to be enabled for IGT, so this can't be used
yet. So, I have used DRM_FORMAT_Y212 which is enabled in IGT.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
Make certain viewports are divisible by four due to intel
hw workarounds for NV12.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Add NV12 support for testing where available.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
rendered test image had off-by-one error in size calculation
which was failing some tests on certain resolutions and plane
sizes.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
My gcc is unhappy otherwise:
[191/829] Compiling C object 'tests/te...otation_crc@exe/kms_rotation_crc.c.o'.
../tests/kms_rotation_crc.c: In function ‘test_multi_plane_rotation’:
../tests/kms_rotation_crc.c:497:2: warning: ‘static’ is not at beginning of declaration [-Wold-style-declaration]
const static struct {
^~~~~
../tests/kms_rotation_crc.c:524:2: warning: ‘static’ is not at beginning of declaration [-Wold-style-declaration]
const static uint32_t formatlist[] = {DRM_FORMAT_RGB565,
^~~~~
Fixes
commit 14c1b132c8f829637c55fb071a9a2e5ce00e7ed8
Author: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Date: Fri Nov 30 15:34:36 2018 +0200
tests/kms_rotation_crc: Add multi plane tests
v2: Trim extra space while at it (Petri).
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
|
|
Add three new tests which try primary and sprite planes
next to each other with different plane formats, rotations
and tiling modes.
multiplane-rotation subtest run test through with both planes
fully visible.
multiplane-rotation-cropping-top will crop primary plane to
left/top corner and sprite plane to right/top corner while running
rotation tests.
multiplane-rotation-cropping-bottom will crop primary plane to
left/bottom corner and sprite plane to right/bottom corner while
running rotation tests.
v2 (Nautiyal, Ankit K): Use rectangular figures instead of
square figures and fix associated code to perform correctly.
Adjust plane positions according to screen size to avoid
putting planes outside screen.
v3 (Nautiyal, Ankit K): Minor detail fix.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
|
|
Leaving crc running nobody reading it may fail tests randomly
with dmesg comment "*ERROR* Overflow of CRC buffer, userspace
reads too slow."
v2 (Maarten Lankhorst): Don't change clean up code but just add
flag for starting crc and stop it at end of test.
bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105748
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@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>
|
|
Switch all fb size handling to 64bits to accomodate >4GiB
framebuffers.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
gen11 enables 90/270 rotation for RGB565 mode. IGT would need support for
C8 mode to enable running this subtest on gen11 and later.
v2 (Mika Kahola): Combine gen checks into one comparison. Update
comment on why bad-pixel-format is disabled beyond gen11.
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
igt_pipe_crc_get_current()
This is a more race free of accomplishing the same.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Two tests uses the very same wait_for_pageflip() routine. These tests are
'kms_rotation_crc' and 'kms_flip_tiling'. In order to decrease code
repetition, let's move this function as part of kms function collection
in igt_kms.
No functional changes.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
The test is modified to test all pixel formats on a plane, unless
the pixel format is overridden by the subtest.
Attempting to test all pixel formats requires even more runtime and
the overhead of toggling crc collection to capture a single CRC
becomes significant, so keep the crc collection enabled during the entire test.
This reduces the runtime from ~24s to ~16s per subtest on SKL.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
This seems to open code igt_calc_fb_size and igt_create_fb, just use both.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
This won't clean up resources between subtests, so if subtests fail
the next subtest will clean up everything. This allows all subtests
even if one fails.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
This is already tested by the rotation tests, which require Y-tiled
for 90° and 270° rotations.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
The -flip tests are the same, but with a pageflip at the end,
since the test is otherwise the same, run the test once with flips
always enabled when possible.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
Instead of 2 functions doing the same thing, consolidate to a single function.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
bad-tiling test didn't work, LOCAL_DRM_FORMAT_MODE_NONE == 0, so
the fb was created with tiling = Y, but because test_bad_format
was set but override_tiling wasn't, we fell through to the success
case. Always assume failure if test_bad_format is set, and pass X
tiled for fb, so the format override works.
Also clear variables after subtests in main, so if the next subtest
doesn't run we still clear the variables.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
This cleans up the tests slightly.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Tested-by: Vidya Srinivas <vidya.srinivas@intel.com>
|
|
Add support to create planar framebuffers, but don't add formats
that support them yet. This first requires conversion to the RGB24 format.
Changes since v1:
- Don't crash in igt_create_bo_with_dimensions().
Changes since v2:
- Zero offsets for dumb fb too.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
[mlankhorst: Change memset(4 * ..) to memset(ARRAY_SIZE(format->plane_bpp) * ..)]
|
|
This will allow support for NV12 in the future, where igt_get_cairo_ctx
will return a RGB image to draw with, which will be converted in
igt_put_cairo_ctx so tests don't have to add special support for NV12.
This is the same as cairo_destroy + checking for errors, but not all
tests use this correctly so it's better to have a single handler for it.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|