main: Retrieve the transform and scale from config file 66/24666/3
authorMarius Vlad <marius.vlad@collabora.com>
Tue, 2 Jun 2020 15:12:39 +0000 (18:12 +0300)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 15 Jun 2020 10:09:36 +0000 (10:09 +0000)
We were missing retrieving the scale and transform for the
remote-output.

Bug-AGL: SPEC-3280

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I0842f62487a665d02e0cf9c005755a6260fad180

src/main.c

index de2188f..84cb980 100644 (file)
@@ -564,6 +564,9 @@ drm_backend_remoted_output_configure(struct weston_output *output,
        char *host = NULL;
        char *pipeline = NULL;
        int port, ret;
+       int32_t scale = 1;
+       uint32_t transform = WL_OUTPUT_TRANSFORM_NORMAL;
+       char *trans;
 
        ret = api->set_mode(output, modeline);
        if (ret < 0) {
@@ -573,9 +576,15 @@ drm_backend_remoted_output_configure(struct weston_output *output,
                return -1;
        }
 
-       /* FIXME: retrieve the scale and the transform from config file */
-       weston_output_set_scale(output, 1);
-       weston_output_set_transform(output, WL_OUTPUT_TRANSFORM_NORMAL);
+       weston_config_section_get_int(section, "scale", &scale, 1);
+       weston_output_set_scale(output, scale);
+
+       weston_config_section_get_string(section, "transform", &trans, "normal");
+       if (parse_transform(trans, &transform) < 0) {
+               weston_log("Invalid transform \"%s\" for output %s\n",
+                          trans, output->name);
+       }
+       weston_output_set_transform(output, transform);
 
        weston_config_section_get_string(section, "gbm-format",
                                         &gbm_format, NULL);