summaryrefslogtreecommitdiff
path: root/tests/exynos
diff options
context:
space:
mode:
authorTobias Jakobi <tjakobi@math.uni-bielefeld.de>2015-02-24 15:20:48 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2015-03-10 19:21:52 +0000
commit734d13b13b2f6f02465bf51412e0c2be255eb8b5 (patch)
tree80eccf2671ccb5ff8c9be4467f9171ae40c1d373 /tests/exynos
parent74add49f1b829dd580aae1dfdce2a0ebbbba216c (diff)
tests/exynos: improve error handling
Check for a useable connector and also if the resolution is sane (width and height are both non-zero). Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
Diffstat (limited to 'tests/exynos')
-rw-r--r--tests/exynos/exynos_fimg2d_test.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/exynos/exynos_fimg2d_test.c b/tests/exynos/exynos_fimg2d_test.c
index d89fc231..14b38a9e 100644
--- a/tests/exynos/exynos_fimg2d_test.c
+++ b/tests/exynos/exynos_fimg2d_test.c
@@ -616,10 +616,22 @@ int main(int argc, char **argv)
connector_find_mode(dev->fd, &con, resources);
drmModeFreeResources(resources);
+ if (!con.mode) {
+ fprintf(stderr, "failed to find usable connector\n");
+ ret = -EFAULT;
+ goto err_drm_close;
+ }
+
screen_width = con.mode->hdisplay;
screen_height = con.mode->vdisplay;
- printf("screen width = %d, screen height = %d\n", screen_width,
+ if (screen_width == 0 || screen_height == 0) {
+ fprintf(stderr, "failed to find sane resolution on connector\n");
+ ret = -EFAULT;
+ goto err_drm_close;
+ }
+
+ printf("screen width = %d, screen height = %d\n", screen_width,
screen_height);
bo = exynos_create_buffer(dev, screen_width * screen_height * 4, 0);