The "need" flags on igt_pipe simply mirror the fb_changed field of the
primary/cursor planes. Drop them and just use fb_changed instead.
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Add the call to memset that was accidentally removed in:
commit 1e9e1baba389fe498be12390ceeeacb1d141a5cf
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Thu Mar 13 17:20:05 2014 +0100
lib/igt_kms: rip out custom verbose loggin support
Instead just piggy-pack on top of igt_log.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
When extracting a raw __gem_set_tiling helper I've fumbled this in
commit 590f6101402b51bca54f69c002380bda967484ea
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Wed Oct 9 20:50:50 2013 +0200
lib/drmtest: extract rawer __gem_set_tiling
Fix things up so that we properly propaget the error again.
Now to make this all properly work we also need to make kms_flip a
notch more robust against such failures ...
This only blows up on gen2/3 with the pan tests which want a too wide
framebuffer for tiling.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
igt_kms docs are just skeleton and also added igt_fb to make sure the
linking works correctly.
Next up: Actually documenting igt_fb.
Also fix that depency spelling fumble I've copied around to a few too
many places.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
For 1 function and 2 types we kinda don't need separate files.
Especially now that igt_kms is much more focused on the actual modeset
stuff with all the framebuffer helpers extracted to igt_fb.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Shorter and more in line with our general igt_ prefix for everything
which isn't somehow intel or i915-gem or otherwise hw specific - these
helpers here are all fully generic framebuffer handling functions
based on kms + cairo.
Well, the actual buffer alloc is done with i915 gem, but meh ;-)
Two special cases:
- bpp_depth_to_drm_format and drm_format_to_bpp completely lacked
prefixes, so just add igt_.
- write_fb was a bit misleading given that we have gem_write for
uploading to buffers. Rename that to write_fb_to_png to make it
crystal clear what this thing does even without looking at docs.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Stuff all the framebuffer creation, cairo and drm fourcc format
handling in there. This gives us a very clear cut in the headers where
igt_fb.c only needs to include igt_fb.h, and igt_kms.c includes both
(well igt_kms.h pulls in igt_fb.h since we always need this).
The aim here is to add api docs for igt_fb since that part of the kms
library seems fairly stable already, while all the mode setting and
iteration is still a bit in flux.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Use the new-style function using drm fourcc codes instead everywhere.
To easily use thew fourcc based interface also expose
bpp_depth_to_drm_format from the library. Finally include drm_fourcc.h
from the igt_kms.h header since pretty much everyone needs this now.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
And shovel all the various helpers in there.
Also move igt_set_vt_graphics_mode to igt_kms.h since the function is
implemented in igt_kms.c. And it fits better. I kinda missed this in
the prep work.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I've left unistd.h in it - it's not strictly required but most users
of drmtest.h want it for the open helpers, and then you kinda need to
close that file descriptor again ...
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Only the igt core and non-test tools should have asserts to catch
internal errors, tests and helper libraries should all user igt_asert
instead.
Fix things up where assert instead of igt_assert was used.
One tiny step towards header sanity.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
... and put it to immediate use in igt_display_log.
To make this all add up also drop the return value of igt_display_log,
no one really cared anyway.
Aside: I've noticed that every time another subtest runs (at least
with kms_pipe_crc_basic) the log indent level moves one up ...
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
When cycling throuth planes, we still want to reach the cursor plane. We
have to special case IGT_PLANE_CURSOR as a shorthand to select the
cursor plane (the last plane on the pipe).
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Let's be testing friendly and gently wait for the next vblank before
returning from commit() when needed.
After igt_display_commit() one can safely look at the CRC.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
We need to create fbs of a single color in a few places. Time to
abstract that out to a helper function.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
We were displaying the value of fb_id (0), when the actual interesting
thing about this call it that it'll just down the pipe.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
It'd be nice to have symbolic names for planes instead of using an index
in igt_output_get_plane().
We also namespace the enum to not conflict with anyone.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
The goals here are:
- Reduce duplicated code in each KMS test
- Provide an API that looks more like what we want for atomic
modesets. The hope is then that it'll be easy to switch, at
run-time, between the "legacy" path and atomic modesets, keeping
the same API for tests.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Store the result of set_vt_mode as a signed value so that errors can be
caught correctly.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
cairo_t is the short lived drawing context, whereas cairo_surface_t is
the heavyweight object that persists and is also tied to underlying GEM
objects. So make the kmstest API reflect the different weights and fix
the lifetime and underlying object reference leaks.
Based on the fix by Paulo Zanoni.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This makes cairo dependencies easier to handle. Otherwise, we
would have to litter drmtest all over with "#ifndef ANDROID"
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
[danvet: Add missing _GNU_SOURCE to igt_kms.c and missing include to
intel_sprite_on.c]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>