[cogl/wip/quadbuffer-stereo: 3/3] examples/cogl-texture-pixmap-x11: Add a --stereo command line option
- From: Owen Taylor <otaylor src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl/wip/quadbuffer-stereo: 3/3] examples/cogl-texture-pixmap-x11: Add a --stereo command line option
- Date: Tue, 8 Jul 2014 18:34:08 +0000 (UTC)
commit 04a299aee0ffe1eae4a535247a054bea0b5ae658
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Sun Apr 27 00:16:53 2014 -0400
examples/cogl-texture-pixmap-x11: Add a --stereo command line option
If --stereo is passed, then the texture pixmap is created as a stereo
texture pixmap, and also, if passed in conjunction with --gears,
glxgears is also run with the -stereo option.
examples/cogl-x11-tfp.c | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/examples/cogl-x11-tfp.c b/examples/cogl-x11-tfp.c
index ea0a0b0..e8223b5 100644
--- a/examples/cogl-x11-tfp.c
+++ b/examples/cogl-x11-tfp.c
@@ -27,12 +27,13 @@
static pid_t gears_pid = 0;
static void
-spawn_gears (void)
+spawn_gears (CoglBool stereo)
{
pid_t pid = fork();
if (pid == 0)
execlp ("glxgears", "glxgears",
+ stereo ? "-stereo" : NULL,
NULL);
gears_pid = pid;
@@ -143,6 +144,7 @@ main (int argc, char **argv)
Atom atom_wm_delete_window;
int screen;
CoglBool gears = FALSE;
+ CoglBool stereo = FALSE;
Window tfp_xwin = None;
Pixmap pixmap;
CoglTexturePixmapX11 *tfp;
@@ -154,9 +156,11 @@ main (int argc, char **argv)
{
if (strcmp (argv[i], "--gears") == 0)
gears = TRUE;
+ else if (strcmp (argv[i], "--stereo") == 0)
+ stereo = TRUE;
else
{
- g_printerr ("Usage: cogl-x11-tfp [--gears]\n");
+ g_printerr ("Usage: cogl-x11-tfp [--gears] [--stereo]\n");
return 1;
}
}
@@ -188,7 +192,7 @@ main (int argc, char **argv)
if (gears)
{
- spawn_gears ();
+ spawn_gears (stereo);
while (TRUE)
{
tfp_xwin = find_gears_toplevel (xdpy, None);
@@ -320,7 +324,17 @@ main (int argc, char **argv)
pixmap = XCompositeNameWindowPixmap (xdpy, tfp_xwin);
- tfp = cogl_texture_pixmap_x11_new (ctx, pixmap, TRUE, &error);
+ if (stereo)
+ {
+ tfp = cogl_texture_pixmap_x11_new_left (ctx, pixmap, TRUE, &error);
+ if (tfp)
+ right_texture = cogl_texture_pixmap_x11_new_right (tfp);
+ }
+ else
+ {
+ tfp = cogl_texture_pixmap_x11_new (ctx, pixmap, TRUE, &error);
+ }
+
if (!tfp)
{
fprintf (stderr, "Failed to create CoglTexturePixmapX11: %s",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]