summaryrefslogtreecommitdiff
path: root/GL/glx/glxcmdsswap.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-08-01 18:13:18 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-08-01 18:13:18 +0200
commit17cb4f64e3c39725e83b1e311c09422d7e1c0e52 (patch)
treeb9d585423568e73ff9bc6f921ff73c610ddf1231 /GL/glx/glxcmdsswap.c
parenta4197db9504adae6af005b2218eee36b8af0d98b (diff)
GLX_EXT_texture_from_pixmap: Use client provided texture target when available.
This prevents situations where the server doesn't use the target the client thinks it does, usually resulting in the texture being sampled as all white.
Diffstat (limited to 'GL/glx/glxcmdsswap.c')
-rw-r--r--GL/glx/glxcmdsswap.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c
index 1857bc1eb..12bc03037 100644
--- a/GL/glx/glxcmdsswap.c
+++ b/GL/glx/glxcmdsswap.c
@@ -266,7 +266,7 @@ int __glXDispSwap_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc)
__GLX_SWAP_INT(&req->glxpixmap);
return DoCreateGLXPixmap( cl, req->visual, req->screen,
- req->pixmap, req->glxpixmap );
+ req->pixmap, req->glxpixmap, NULL, 0 );
}
int __glXDispSwap_CreatePixmap(__GLXclientState *cl, GLbyte *pc)
@@ -279,9 +279,12 @@ int __glXDispSwap_CreatePixmap(__GLXclientState *cl, GLbyte *pc)
__GLX_SWAP_INT(&req->fbconfig);
__GLX_SWAP_INT(&req->pixmap);
__GLX_SWAP_INT(&req->glxpixmap);
+ __GLX_SWAP_INT(&req->numAttribs);
return DoCreateGLXPixmap( cl, req->fbconfig, req->screen,
- req->pixmap, req->glxpixmap );
+ req->pixmap, req->glxpixmap,
+ (CARD32*)(req + 1),
+ req->numAttribs );
}
int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
@@ -297,7 +300,7 @@ int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc
__GLX_SWAP_INT(&req->glxpixmap);
return DoCreateGLXPixmap( cl, req->fbconfig, req->screen,
- req->pixmap, req->glxpixmap );
+ req->pixmap, req->glxpixmap, NULL, 0 );
}
int __glXDispSwap_DestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)