Signed-off-by: Bryce Harrington <[email protected]>
---
 src/compositor-drm.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index d129adc..a896785 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -93,13 +93,13 @@ enum weston_drm_backend_output_mode {
 struct weston_drm_backend_output_config {
        struct weston_backend_output_config base;
 
-       /** The pixel format to be used by the output. Valid values are:
-        * - NULL - The format set at backend creation time will be used
-        * - "xrgb8888"
-        * - "rgb565"
-        * - "xrgb2101010"
+       /** The pixel format to be used by the output. Supported values are:
+        * - 0: The format set at backend creation time will be used
+        * - GBM_FORMAT_XRGB8888
+        * - GBM_FORMAT_RGB565
+        * - GBM_FORMAT_XRGB2101010
         */
-       char *gbm_format;
+       uint32_t gbm_format;
 
        /** The seat to be used by the output. Set to NULL to use the
         * default seat. */
@@ -2336,8 +2336,12 @@ drm_configure_output(struct weston_compositor *c,
                           s, name);
        free(s);
 
-       weston_config_section_get_string(section,
-                                        "gbm-format", &config->gbm_format, 
NULL);
+       weston_config_section_get_string(section, "gbm-format", &s, NULL);
+        if (parse_gbm_format(s, GBM_FORMAT_XRGB8888, &config->gbm_format) < 0)
+               weston_log("Invalid gbm-format \"%s\" for output %s\n",
+                          s, name);
+       free(s);
+
        weston_config_section_get_string(section, "seat", &config->seat, "");
        return mode;
 }
@@ -2391,8 +2395,7 @@ create_output_for_connector(struct drm_backend *b,
 
        mode = drm_configure_output(b->compositor, b->use_current_mode,
                                    output->base.name, &config);
-       if (parse_gbm_format(config.gbm_format, b->gbm_format, 
&output->gbm_format) == -1)
-               output->gbm_format = b->gbm_format;
+       output->gbm_format = config.gbm_format;
 
        setup_output_seat_constraint(b, &output->base,
                                     config.seat ? config.seat : "");
-- 
1.9.1

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to