summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2016-06-14 13:11:25 +0200
committerPhilipp Zabel <p.zabel@pengutronix.de>2016-06-14 16:56:44 +0200
commitc4491dee3b8449f285eb6a81f6ba518883f91040 (patch)
treeebd0d7968429028455bd5019e1f0ecd2e7883a8a
parent12ffd6f02982ed192c5757d4b35627569c3eab5f (diff)
downloadkmsfbwrap-c4491dee3b8449f285eb6a81f6ba518883f91040.tar.gz
kmsfbwrap-c4491dee3b8449f285eb6a81f6ba518883f91040.tar.xz
find partial modes
This allows to let "-w yres=1080" find an 1920x1080 mode if available, for example. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r--src/kmsfb-manage.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/kmsfb-manage.c b/src/kmsfb-manage.c
index 9cb493c..88f2172 100644
--- a/src/kmsfb-manage.c
+++ b/src/kmsfb-manage.c
@@ -313,8 +313,9 @@ static struct drm_mode_modeinfo *drm_find_mode(struct drm_connector *con,
for (i = 0; i < con->num_modes; i++) {
struct drm_mode_modeinfo *mode = &con->modes[i];
- if (((mode->hdisplay == xres && mode->vdisplay == yres) ||
- (!xres && !yres)) && (!fps || mode->vrefresh == fps))
+ if ((!xres || mode->hdisplay == xres) &&
+ (!yres || mode->vdisplay == yres) &&
+ (!fps || mode->vrefresh == fps))
return mode;
}