diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-09-06 16:02:55 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2019-05-21 14:50:55 +0300 |
commit | f9961d14d76b3a0fa1296e547f7c065e2f93955c (patch) | |
tree | 7705b908b4d1f48ef1be871dfcc939de4fa8b2b4 /include | |
parent | eee6e9ea7a7e22a64afc029a696b80da8053bc3c (diff) |
tests/kms_big_fb: Make sure huge fbs work correctly
Add various tests to excercise huge framebuffers. First some basic
sanity checks that the kernel accepts/rejects good/bad addfb2 ioctls,
and finally actual scanout tests to make sure we scan out the correct
thing when panning around inside large framebuffers.
The implementation is i915 specific for now since I chose to use
rendercopy/blitter when generating the framebuffer contents. Using
the normal cairo stuff was just too slow when dealing with 1GiB+
framebuffers. It shouldn't be too hard to plug in some other mechanisms
if someone else wants to reuse this test.
v2: Add igt_require(format+mod) for the addfb/overflow tests
Unset plane fb after TEST_ONLY fail
Limit max fb to at most 1/2 RAM or GPU address space
Tweak coords to avoid fails with 64bpp linear with 4k screen
Make coords even for 90/270 rotated 16bpp
Store bpp as uint8_t instead of wasting an entire char*
v3: Add blitter path for gen3 (render engine is not capable of
handling big fbs).
Set fence tiling on gen2/3 in raw addfb tests.
Deal with weak max fence stride on gen3.
Don't try to use rotation when the prop isn't present.
Skip 90/270 test for gen4 (no atomic on those yet so we
can't neatly check what's supported).
Kernel restricts scanout to mappable portion of ggtt on
gmch platforms, so check its size as well
Use the correct fb for the legacy setcrtc
v4: Don't igt_skip() inside test_plane() (Daniel)
Document that we expect the kernel to make
sure max fb size is still renderable (Daniel)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions