summaryrefslogtreecommitdiff
path: root/progs/xdemos
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-01-08 15:42:57 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-01-08 15:42:57 +0000
commit080c40ab32b2abd6d8381b4a0cc143d36a1652b2 (patch)
treee173767ebc5a82d81b9fc086449d915e29348976 /progs/xdemos
parent9cdf6f025b2ed55cfb13dd09f870f01d0c7947d3 (diff)
parenta1de400e8de06a80ab140bb0fa950e990607572d (diff)
Merge remote branch 'origin/master' into lp-binning
Conflicts: src/gallium/auxiliary/util/u_surface.c src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/llvmpipe/SConscript src/gallium/drivers/llvmpipe/lp_bld_arit.c src/gallium/drivers/llvmpipe/lp_bld_flow.c src/gallium/drivers/llvmpipe/lp_bld_interp.c src/gallium/drivers/llvmpipe/lp_clear.c src/gallium/drivers/llvmpipe/lp_context.c src/gallium/drivers/llvmpipe/lp_context.h src/gallium/drivers/llvmpipe/lp_draw_arrays.c src/gallium/drivers/llvmpipe/lp_jit.c src/gallium/drivers/llvmpipe/lp_jit.h src/gallium/drivers/llvmpipe/lp_prim_vbuf.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_setup_point.c src/gallium/drivers/llvmpipe/lp_state.h src/gallium/drivers/llvmpipe/lp_state_blend.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/gallium/drivers/llvmpipe/lp_state_sampler.c src/gallium/drivers/llvmpipe/lp_state_surface.c src/gallium/drivers/llvmpipe/lp_tex_cache.c src/gallium/drivers/llvmpipe/lp_tex_cache.h src/gallium/drivers/llvmpipe/lp_tex_sample.h src/gallium/drivers/llvmpipe/lp_tile_cache.c
Diffstat (limited to 'progs/xdemos')
-rw-r--r--progs/xdemos/Makefile3
-rw-r--r--progs/xdemos/corender.c3
-rw-r--r--progs/xdemos/glsync.c2
-rw-r--r--progs/xdemos/glxinfo.c25
-rw-r--r--progs/xdemos/glxpbdemo.c1
-rw-r--r--progs/xdemos/offset.c1
-rw-r--r--progs/xdemos/pbdemo.c1
-rw-r--r--progs/xdemos/pbinfo.c1
-rw-r--r--progs/xdemos/sharedtex_mt.c8
9 files changed, 31 insertions, 14 deletions
diff --git a/progs/xdemos/Makefile b/progs/xdemos/Makefile
index 53e1c54ef3..77f667978c 100644
--- a/progs/xdemos/Makefile
+++ b/progs/xdemos/Makefile
@@ -8,6 +8,9 @@ INCDIR = $(TOP)/include
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
+# Add X11 and pthread libs to satisfy GNU gold.
+APP_LIB_DEPS += -lX11 -lpthread
+
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS)
PROGS = \
diff --git a/progs/xdemos/corender.c b/progs/xdemos/corender.c
index f2b8145e52..640c902c13 100644
--- a/progs/xdemos/corender.c
+++ b/progs/xdemos/corender.c
@@ -55,6 +55,7 @@ setup_ipc(void)
printf("Waiting for connection from another 'corender'\n");
Sock = AcceptConnection(k);
+ assert(Sock != -1);
printf("Got connection, sending windowID\n");
@@ -186,7 +187,7 @@ redraw(Display *dpy)
* Without this glClear(), depth buffer for the second process
* is pretty much broken.
*/
- //glClear(GL_DEPTH_BUFFER_BIT);
+ /* glClear(GL_DEPTH_BUFFER_BIT); */
glPushMatrix();
glTranslatef(1, 0, 0);
diff --git a/progs/xdemos/glsync.c b/progs/xdemos/glsync.c
index 34167d339f..da87306cf2 100644
--- a/progs/xdemos/glsync.c
+++ b/progs/xdemos/glsync.c
@@ -95,7 +95,7 @@ enum sync_type {
static void usage(char *name)
{
printf("usage: %s [-w <width>] [-h <height>] [-s<sync method>] "
- "[-vc]\n", name);
+ "[-v]\n", name);
printf("\t-s<sync method>:\n");
printf("\t\tn: none\n");
printf("\t\ts: SGI video sync extension\n");
diff --git a/progs/xdemos/glxinfo.c b/progs/xdemos/glxinfo.c
index 445d3ea94b..30cd568064 100644
--- a/progs/xdemos/glxinfo.c
+++ b/progs/xdemos/glxinfo.c
@@ -116,7 +116,7 @@ print_extension_list(const char *ext)
return;
width = indent;
- printf(indentString);
+ printf("%s", indentString);
i = j = 0;
while (1) {
if (ext[j] == ' ' || ext[j] == 0) {
@@ -126,7 +126,7 @@ print_extension_list(const char *ext)
/* start a new line */
printf("\n");
width = indent;
- printf(indentString);
+ printf("%s", indentString);
}
/* print the extension name between ext[i] and ext[j] */
while (i < j) {
@@ -401,6 +401,10 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect, GLboolean limits)
root = RootWindow(dpy, scrnum);
+ /*
+ * Find a basic GLX visual. We'll then create a rendering context and
+ * query various info strings.
+ */
visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
if (!visinfo)
visinfo = glXChooseVisual(dpy, scrnum, attribDouble);
@@ -409,26 +413,29 @@ print_screen_info(Display *dpy, int scrnum, Bool allowDirect, GLboolean limits)
ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );
#ifdef GLX_VERSION_1_3
- {
+ /* Try glXChooseFBConfig() if glXChooseVisual didn't work.
+ * XXX when would that happen?
+ */
+ if (!visinfo) {
int fbAttribSingle[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
- GLX_DOUBLEBUFFER, GL_TRUE,
+ GLX_DOUBLEBUFFER, GL_FALSE,
None };
int fbAttribDouble[] = {
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
+ GLX_DOUBLEBUFFER, GL_TRUE,
None };
GLXFBConfig *configs = NULL;
int nConfigs;
- if (!visinfo)
- configs = glXChooseFBConfig(dpy, scrnum, fbAttribSingle, &nConfigs);
- if (!visinfo)
+ configs = glXChooseFBConfig(dpy, scrnum, fbAttribSingle, &nConfigs);
+ if (!configs)
configs = glXChooseFBConfig(dpy, scrnum, fbAttribDouble, &nConfigs);
if (configs) {
@@ -964,8 +971,10 @@ print_fbconfig_info(Display *dpy, int scrnum, InfoMode mode)
/* get list of all fbconfigs on this screen */
fbconfigs = glXGetFBConfigs(dpy, scrnum, &numFBConfigs);
- if (numFBConfigs == 0)
+ if (numFBConfigs == 0) {
+ XFree(fbconfigs);
return;
+ }
printf("%d GLXFBConfigs:\n", numFBConfigs);
if (mode == Normal)
diff --git a/progs/xdemos/glxpbdemo.c b/progs/xdemos/glxpbdemo.c
index 91fd30dcaa..ecf318ec6a 100644
--- a/progs/xdemos/glxpbdemo.c
+++ b/progs/xdemos/glxpbdemo.c
@@ -106,6 +106,7 @@ MakePbuffer( Display *dpy, int screen, int width, int height )
if (0 == nConfigs || !fbConfigs) {
printf("Error: glxChooseFBConfig failed\n");
+ XFree(fbConfigs);
XCloseDisplay(dpy);
return 0;
}
diff --git a/progs/xdemos/offset.c b/progs/xdemos/offset.c
index 6c5abf383b..314a4fcdd1 100644
--- a/progs/xdemos/offset.c
+++ b/progs/xdemos/offset.c
@@ -294,6 +294,7 @@ process_input(Display *dpy, Window win) {
default:
break;
}
+ break;
case ButtonPress:
prevx = event.xbutton.x;
prevy = event.xbutton.y;
diff --git a/progs/xdemos/pbdemo.c b/progs/xdemos/pbdemo.c
index 2573209336..277df72924 100644
--- a/progs/xdemos/pbdemo.c
+++ b/progs/xdemos/pbdemo.c
@@ -131,6 +131,7 @@ MakePbuffer( Display *dpy, int screen, int width, int height )
fbConfigs = ChooseFBConfig(dpy, screen, fbAttribs[attempt], &nConfigs);
if (nConfigs==0 || !fbConfigs) {
printf("Note: glXChooseFBConfig(%s) failed\n", fbString[attempt]);
+ XFree(fbConfigs);
continue;
}
diff --git a/progs/xdemos/pbinfo.c b/progs/xdemos/pbinfo.c
index b43adf1bb7..edfa9c1f3b 100644
--- a/progs/xdemos/pbinfo.c
+++ b/progs/xdemos/pbinfo.c
@@ -27,6 +27,7 @@ PrintConfigs(Display *dpy, int screen, Bool horizFormat)
fbConfigs = GetAllFBConfigs(dpy, screen, &nConfigs);
if (!nConfigs || !fbConfigs) {
printf("Error: glxGetFBConfigs failed\n");
+ XFree(fbConfigs);
return;
}
diff --git a/progs/xdemos/sharedtex_mt.c b/progs/xdemos/sharedtex_mt.c
index 07c1bfcc38..f924448cc4 100644
--- a/progs/xdemos/sharedtex_mt.c
+++ b/progs/xdemos/sharedtex_mt.c
@@ -447,7 +447,7 @@ main(int argc, char *argv[])
const char *dpyName = XDisplayName(NULL);
pthread_t t0, t1, t2, t3;
struct thread_init_arg tia0, tia1, tia2, tia3;
- struct window *h0, *h1, *h2, *h3;
+ struct window *h0;
XInitThreads();
@@ -462,9 +462,9 @@ main(int argc, char *argv[])
/* four windows and contexts sharing display lists and texture objects */
h0 = AddWindow(gDpy, dpyName, 10, 10, gCtx);
- h1 = AddWindow(gDpy, dpyName, 330, 10, gCtx);
- h2 = AddWindow(gDpy, dpyName, 10, 350, gCtx);
- h3 = AddWindow(gDpy, dpyName, 330, 350, gCtx);
+ (void) AddWindow(gDpy, dpyName, 330, 10, gCtx);
+ (void) AddWindow(gDpy, dpyName, 10, 350, gCtx);
+ (void) AddWindow(gDpy, dpyName, 330, 350, gCtx);
if (!glXMakeCurrent(gDpy, h0->Win, gCtx)) {
Error(dpyName, "glXMakeCurrent failed for init thread.");