nested: Add an option to disable subsurfaces
authorNeil Roberts <neil@linux.intel.com>
Sun, 8 Sep 2013 23:59:35 +0000 (00:59 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 5 Dec 2013 00:34:08 +0000 (16:34 -0800)
This adds a -b option to force the nested compositor example to use
the old blit renderer even if the appropriate extensions are
available.

clients/nested.c

index c0e1935..581e318 100644 (file)
@@ -47,6 +47,8 @@
 
 #define MIN(x,y) (((x) < (y)) ? (x) : (y))
 
+static int option_blit;
+
 struct nested {
        struct display *display;
        struct window *window;
@@ -142,6 +144,10 @@ struct nested_renderer {
                                struct nested_buffer *buffer);
 };
 
+static const struct weston_option nested_options[] = {
+       { WESTON_OPTION_BOOLEAN, "blit", 'b', &option_blit },
+};
+
 static const struct nested_renderer nested_blit_renderer;
 static const struct nested_renderer nested_ss_renderer;
 
@@ -773,6 +779,9 @@ nested_init_compositor(struct nested *nested)
                }
        }
 
+       if (option_blit)
+               use_ss_renderer = 0;
+
        if (use_ss_renderer) {
                printf("Using subsurfaces to render client surfaces\n");
                nested->renderer = &nested_ss_renderer;
@@ -1099,6 +1108,9 @@ main(int argc, char *argv[])
        struct display *display;
        struct nested *nested;
 
+       parse_options(nested_options,
+                     ARRAY_LENGTH(nested_options), &argc, argv);
+
        display = display_create(&argc, argv);
        if (display == NULL) {
                fprintf(stderr, "failed to create display: %m\n");