Add marshalling for GLX 1.3 requests.
Also, hook up glXGetDrawableAttributes and glXQueryContext to existing DoGetDrawableAttributes and __glXQueryContextInfoEXT.
This commit is contained in:
parent
eb35f812a5
commit
eea8efe451
|
@ -47,7 +47,7 @@ __GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
|
||||||
__glXMakeCurrent,
|
__glXMakeCurrent,
|
||||||
__glXIsDirect,
|
__glXIsDirect,
|
||||||
__glXQueryVersion,
|
__glXQueryVersion,
|
||||||
__glXWaitGL,
|
__glXWaitGL, /* 0x08 */
|
||||||
__glXWaitX,
|
__glXWaitX,
|
||||||
__glXCopyContext,
|
__glXCopyContext,
|
||||||
__glXSwapBuffers,
|
__glXSwapBuffers,
|
||||||
|
@ -55,23 +55,23 @@ __GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
|
||||||
__glXCreateGLXPixmap,
|
__glXCreateGLXPixmap,
|
||||||
__glXGetVisualConfigs,
|
__glXGetVisualConfigs,
|
||||||
__glXDestroyGLXPixmap,
|
__glXDestroyGLXPixmap,
|
||||||
__glXVendorPrivate,
|
__glXVendorPrivate, /* 0x10 */
|
||||||
__glXVendorPrivateWithReply,
|
__glXVendorPrivateWithReply,
|
||||||
__glXQueryExtensionsString,
|
__glXQueryExtensionsString,
|
||||||
__glXQueryServerString,
|
__glXQueryServerString,
|
||||||
__glXClientInfo,
|
__glXClientInfo,
|
||||||
__glXGetFBConfigs,
|
__glXGetFBConfigs,
|
||||||
__glXCreatePixmap,
|
__glXCreatePixmap,
|
||||||
__glXDestroyGLXPixmap, /* glXDestroyPixmap */
|
__glXDestroyPixmap,
|
||||||
__glXCreateNewContext,
|
__glXCreateNewContext, /* 0x18 */
|
||||||
__glXNoSuchSingleOpcode, /* glXQueryContext */
|
__glXQueryContext,
|
||||||
__glXMakeContextCurrent,
|
__glXMakeContextCurrent,
|
||||||
__glXNoSuchSingleOpcode, /* glXCreatePbuffer */
|
__glXCreatePbuffer,
|
||||||
__glXNoSuchSingleOpcode, /* glXDestroyPbuffer */
|
__glXDestroyPbuffer,
|
||||||
__glXNoSuchSingleOpcode, /* glXGetDrawableAttributes */
|
__glXGetDrawableAttributes,
|
||||||
__glXNoSuchSingleOpcode, /* glXChangeDrawableAttributes */
|
__glXChangeDrawableAttributes,
|
||||||
__glXNoSuchSingleOpcode, /* glXCreateWindow */
|
__glXCreateWindow,
|
||||||
__glXNoSuchSingleOpcode, /* glXDestroyWindow */
|
__glXDestroyWindow, /* 0x20 */
|
||||||
__glXNoSuchSingleOpcode,
|
__glXNoSuchSingleOpcode,
|
||||||
__glXNoSuchSingleOpcode,
|
__glXNoSuchSingleOpcode,
|
||||||
__glXNoSuchSingleOpcode,
|
__glXNoSuchSingleOpcode,
|
||||||
|
@ -448,7 +448,7 @@ __GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
|
||||||
__glXSwapMakeCurrent,
|
__glXSwapMakeCurrent,
|
||||||
__glXSwapIsDirect,
|
__glXSwapIsDirect,
|
||||||
__glXSwapQueryVersion,
|
__glXSwapQueryVersion,
|
||||||
__glXSwapWaitGL,
|
__glXSwapWaitGL, /* 0x08 */
|
||||||
__glXSwapWaitX,
|
__glXSwapWaitX,
|
||||||
__glXSwapCopyContext,
|
__glXSwapCopyContext,
|
||||||
__glXSwapSwapBuffers,
|
__glXSwapSwapBuffers,
|
||||||
|
@ -456,23 +456,23 @@ __GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
|
||||||
__glXSwapCreateGLXPixmap,
|
__glXSwapCreateGLXPixmap,
|
||||||
__glXSwapGetVisualConfigs,
|
__glXSwapGetVisualConfigs,
|
||||||
__glXSwapDestroyGLXPixmap,
|
__glXSwapDestroyGLXPixmap,
|
||||||
__glXSwapVendorPrivate,
|
__glXSwapVendorPrivate, /* 0x10 */
|
||||||
__glXSwapVendorPrivateWithReply,
|
__glXSwapVendorPrivateWithReply,
|
||||||
__glXSwapQueryExtensionsString,
|
__glXSwapQueryExtensionsString,
|
||||||
__glXSwapQueryServerString,
|
__glXSwapQueryServerString,
|
||||||
__glXSwapClientInfo,
|
__glXSwapClientInfo,
|
||||||
__glXSwapGetFBConfigs,
|
__glXSwapGetFBConfigs,
|
||||||
__glXSwapCreatePixmap,
|
__glXSwapCreatePixmap,
|
||||||
__glXSwapDestroyGLXPixmap, /* glXDestroyPixmap */
|
__glXSwapDestroyPixmap,
|
||||||
__glXSwapCreateNewContext,
|
__glXSwapCreateNewContext, /* 0x18 */
|
||||||
__glXNoSuchSingleOpcode, /* glXQueryContext */
|
__glXSwapQueryContext,
|
||||||
__glXSwapMakeContextCurrent,
|
__glXSwapMakeContextCurrent,
|
||||||
__glXNoSuchSingleOpcode, /* glXCreatePbuffer */
|
__glXSwapCreatePbuffer,
|
||||||
__glXNoSuchSingleOpcode, /* glXDestroyPbuffer */
|
__glXSwapDestroyPbuffer,
|
||||||
__glXNoSuchSingleOpcode, /* glXGetDrawableAttributes */
|
__glXSwapGetDrawableAttributes,
|
||||||
__glXNoSuchSingleOpcode, /* glXChangeDrawableAttributes */
|
__glXSwapChangeDrawableAttributes,
|
||||||
__glXNoSuchSingleOpcode, /* glXCreateWindow */
|
__glXSwapCreateWindow,
|
||||||
__glXNoSuchSingleOpcode, /* glXDestroyWindow */
|
__glXSwapDestroyWindow, /* 0x20 */
|
||||||
__glXNoSuchSingleOpcode,
|
__glXNoSuchSingleOpcode,
|
||||||
__glXNoSuchSingleOpcode,
|
__glXNoSuchSingleOpcode,
|
||||||
__glXNoSuchSingleOpcode,
|
__glXNoSuchSingleOpcode,
|
||||||
|
|
|
@ -60,8 +60,17 @@ extern int __glXQueryServerString(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXClientInfo(__GLXclientState*, GLbyte*);
|
extern int __glXClientInfo(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXMakeContextCurrent(__GLXclientState*, GLbyte*);
|
extern int __glXMakeContextCurrent(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXGetFBConfigs(__GLXclientState*, GLbyte*);
|
extern int __glXGetFBConfigs(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXCreateNewContext(__GLXclientState*, GLbyte*);
|
|
||||||
extern int __glXCreatePixmap(__GLXclientState*, GLbyte*);
|
extern int __glXCreatePixmap(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXDestroyPixmap(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXCreateNewContext(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXQueryContext(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXMakeContextCurrent(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXCreatePbuffer(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXDestroyPbuffer(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXGetDrawableAttributes(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXChangeDrawableAttributes(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXCreateWindow(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXDestroyWindow(__GLXclientState*, GLbyte*);
|
||||||
|
|
||||||
extern int __glXSwapRender(__GLXclientState*, GLbyte*);
|
extern int __glXSwapRender(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXSwapRenderLarge(__GLXclientState*, GLbyte*);
|
extern int __glXSwapRenderLarge(__GLXclientState*, GLbyte*);
|
||||||
|
@ -88,8 +97,18 @@ extern int __glXSwapQueryServerString(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXSwapClientInfo(__GLXclientState*, GLbyte*);
|
extern int __glXSwapClientInfo(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXSwapMakeContextCurrent(__GLXclientState*, GLbyte*);
|
extern int __glXSwapMakeContextCurrent(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXSwapGetFBConfigs(__GLXclientState*, GLbyte*);
|
extern int __glXSwapGetFBConfigs(__GLXclientState*, GLbyte*);
|
||||||
extern int __glXSwapCreateNewContext(__GLXclientState*, GLbyte*);
|
|
||||||
extern int __glXSwapCreatePixmap(__GLXclientState*, GLbyte*);
|
extern int __glXSwapCreatePixmap(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapDestroyPixmap(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapCreateNewContext(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapQueryContext(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapMakeContextCurrent(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapCreatePbuffer(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapDestroyPbuffer(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapGetDrawableAttributes(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapChangeDrawableAttributes(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapCreateWindow(__GLXclientState*, GLbyte*);
|
||||||
|
extern int __glXSwapDestroyWindow(__GLXclientState*, GLbyte*);
|
||||||
|
|
||||||
|
|
||||||
#define __GLX_MIN_GLXCMD_OPCODE 1
|
#define __GLX_MIN_GLXCMD_OPCODE 1
|
||||||
#define __GLX_MAX_GLXCMD_OPCODE 20
|
#define __GLX_MAX_GLXCMD_OPCODE 20
|
||||||
|
|
|
@ -1299,16 +1299,9 @@ int __glXCreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
int DoDestroyPixmap(__GLXclientState *cl, XID glxpixmap)
|
||||||
* Destroy a GLX pixmap. This function is used for both
|
|
||||||
* \c glXDestroyGLXPixmap and \c glXDestroyPixmap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
int __glXDestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
|
|
||||||
{
|
{
|
||||||
ClientPtr client = cl->client;
|
ClientPtr client = cl->client;
|
||||||
xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc;
|
|
||||||
XID glxpixmap = req->glxpixmap;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Check if it's a valid GLX pixmap.
|
** Check if it's a valid GLX pixmap.
|
||||||
|
@ -1318,9 +1311,71 @@ int __glXDestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
|
||||||
return __glXBadPixmap;
|
return __glXBadPixmap;
|
||||||
}
|
}
|
||||||
FreeResource(glxpixmap, FALSE);
|
FreeResource(glxpixmap, FALSE);
|
||||||
|
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __glXDestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc;
|
||||||
|
|
||||||
|
return DoDestroyPixmap(cl, req->glxpixmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXDestroyPixmap(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyPixmapReq *req = (xGLXDestroyPixmapReq *) pc;
|
||||||
|
|
||||||
|
return DoDestroyPixmap(cl, req->glxpixmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXCreatePbuffer(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXCreatePbufferReq *req = (xGLXCreatePbufferReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXDestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXChangeDrawableAttributesReq *req =
|
||||||
|
(xGLXChangeDrawableAttributesReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXCreateWindowReq *req = (xGLXCreateWindowReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXDestroyWindow(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyWindowReq *req = (xGLXDestroyWindowReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1419,20 +1474,18 @@ int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
|
int DoQueryContext(__GLXclientState *cl, GLXContextID gcId)
|
||||||
{
|
{
|
||||||
ClientPtr client = cl->client;
|
ClientPtr client = cl->client;
|
||||||
__GLXcontext *ctx;
|
__GLXcontext *ctx;
|
||||||
xGLXQueryContextInfoEXTReq *req;
|
|
||||||
xGLXQueryContextInfoEXTReply reply;
|
xGLXQueryContextInfoEXTReply reply;
|
||||||
int nProps;
|
int nProps;
|
||||||
int *sendBuf, *pSendBuf;
|
int *sendBuf, *pSendBuf;
|
||||||
int nReplyBytes;
|
int nReplyBytes;
|
||||||
|
|
||||||
req = (xGLXQueryContextInfoEXTReq *)pc;
|
ctx = (__GLXcontext *) LookupIDByType(gcId, __glXContextRes);
|
||||||
ctx = (__GLXcontext *) LookupIDByType(req->context, __glXContextRes);
|
|
||||||
if (!ctx) {
|
if (!ctx) {
|
||||||
client->errorValue = req->context;
|
client->errorValue = gcId;
|
||||||
return __glXBadContext;
|
return __glXBadContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1466,6 +1519,19 @@ int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXQueryContextInfoEXTReq *req = (xGLXQueryContextInfoEXTReq *) pc;
|
||||||
|
|
||||||
|
return DoQueryContext(cl, req->context);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXQueryContext(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXQueryContextReq *req = (xGLXQueryContextReq *) pc;
|
||||||
|
|
||||||
|
return DoQueryContext(cl, req->context);
|
||||||
|
}
|
||||||
|
|
||||||
int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc)
|
int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc)
|
||||||
{
|
{
|
||||||
|
@ -1589,6 +1655,13 @@ int __glXGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
|
||||||
return DoGetDrawableAttributes(cl, drawable);
|
return DoGetDrawableAttributes(cl, drawable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXGetDrawableAttributesReq *req = (xGLXGetDrawableAttributesReq *)pc;
|
||||||
|
|
||||||
|
return DoGetDrawableAttributes(cl, req->drawable);
|
||||||
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -315,6 +315,68 @@ int __glXSwapDestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc)
|
||||||
return __glXDestroyGLXPixmap(cl, pc);
|
return __glXDestroyGLXPixmap(cl, pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __glXSwapDestroyPixmap(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc;
|
||||||
|
__GLX_DECLARE_SWAP_VARIABLES;
|
||||||
|
|
||||||
|
__GLX_SWAP_SHORT(&req->length);
|
||||||
|
__GLX_SWAP_INT(&req->glxpixmap);
|
||||||
|
|
||||||
|
return __glXDestroyGLXPixmap(cl, pc);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapQueryContext(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXQueryContextReq *req = (xGLXQueryContextReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapCreatePbuffer(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXCreatePbufferReq *req = (xGLXCreatePbufferReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapDestroyPbuffer(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXChangeDrawableAttributesReq *req =
|
||||||
|
(xGLXChangeDrawableAttributesReq *) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapCreateWindow(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXCreateWindowReq *req = (xGLXCreateWindowReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapDestroyWindow(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXDestroyWindowReq *req = (xGLXDestroyWindowReq *) pc;
|
||||||
|
|
||||||
|
(void) req;
|
||||||
|
|
||||||
|
return BadRequest;
|
||||||
|
}
|
||||||
|
|
||||||
int __glXSwapSwapBuffers(__GLXclientState *cl, GLbyte *pc)
|
int __glXSwapSwapBuffers(__GLXclientState *cl, GLbyte *pc)
|
||||||
{
|
{
|
||||||
xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc;
|
xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc;
|
||||||
|
@ -444,7 +506,19 @@ int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
|
||||||
__GLX_SWAP_INT(&req->contextTag);
|
__GLX_SWAP_INT(&req->contextTag);
|
||||||
__GLX_SWAP_INT(data);
|
__GLX_SWAP_INT(data);
|
||||||
|
|
||||||
return __glXGetDrawableAttributesSGIX(cl, (GLbyte *)pc);
|
return __glXGetDrawableAttributesSGIX(cl, pc);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __glXSwapGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc)
|
||||||
|
{
|
||||||
|
xGLXGetDrawableAttributesReq *req = (xGLXGetDrawableAttributesReq *)pc;
|
||||||
|
|
||||||
|
__GLX_DECLARE_SWAP_VARIABLES;
|
||||||
|
|
||||||
|
__GLX_SWAP_SHORT(&req->length);
|
||||||
|
__GLX_SWAP_INT(&req->drawable);
|
||||||
|
|
||||||
|
return __glXGetDrawableAttributes(cl, pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,9 @@ extern int DoCreateContext(__GLXclientState *cl, GLXContextID gcId,
|
||||||
GLXContextID shareList, VisualID visual, GLuint screen, GLboolean isDirect);
|
GLXContextID shareList, VisualID visual, GLuint screen, GLboolean isDirect);
|
||||||
extern int DoCreateGLXPixmap(__GLXclientState *cl, VisualID visual,
|
extern int DoCreateGLXPixmap(__GLXclientState *cl, VisualID visual,
|
||||||
GLuint screenNum, XID pixmapId, XID glxpixmapId);
|
GLuint screenNum, XID pixmapId, XID glxpixmapId);
|
||||||
|
extern int DoDestroyPixmap(__GLXclientState *cl, XID glxpixmapId);
|
||||||
|
|
||||||
|
extern int DoQueryContext(__GLXclientState *cl, GLXContextID gcId);
|
||||||
|
|
||||||
extern void GlxExtensionInit(void);
|
extern void GlxExtensionInit(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue