diff options
author | Kristian Høgsberg <krh@redhat.com> | 2006-03-17 00:35:18 +0000 |
---|---|---|
committer | Kristian Høgsberg <krh@redhat.com> | 2006-03-17 00:35:18 +0000 |
commit | 2c11cde3367fcd22740b577a4364b1e41cf3e1d2 (patch) | |
tree | 6feb9b0c3cba3c7408b83ff67960fa815040d60d | |
parent | 14aafc258cd774cf937f9798a888c2d3c97ccacf (diff) |
More patches from David Reveman:
Add GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object and
GL_NV_texture_env_combine4 extensions.
Add __GLXcontext destructor and flush context cache there and on
loseCurrent.
Chain back to new __GLXcontext destructor. (__glXMesaContextForceCurrent):
Set render table on forceCurrent. (init_screen_visuals): Index pVis
array correctly. (GlxGetMesaProvider): Add this.
Hook up FBO marshalling.
-rw-r--r-- | ChangeLog | 22 | ||||
-rw-r--r-- | GL/glx/g_disptab_EXT.c | 208 | ||||
-rw-r--r-- | GL/glx/g_disptab_EXT.h | 2 | ||||
-rw-r--r-- | GL/glx/glxcmds.c | 23 | ||||
-rw-r--r-- | GL/glx/glxcmdsswap.c | 14 | ||||
-rw-r--r-- | GL/glx/glxdri.c | 1 | ||||
-rw-r--r-- | GL/glx/glxscreens.c | 3 | ||||
-rw-r--r-- | GL/glx/rensizetab.c | 104 | ||||
-rw-r--r-- | GL/mesa/X/xf86glx.c | 11 |
9 files changed, 386 insertions, 2 deletions
@@ -1,3 +1,25 @@ +2006-03-16 Kristian Høgsberg <krh@redhat.com> + + More patches from David Reveman: + + * GL/glx/glxscreens.c: Add GL_ARB_texture_non_power_of_two, + GL_EXT_framebuffer_object and GL_NV_texture_env_combine4 + extensions. + + * GL/glx/glxcmds.c (__glXContextDestroy, DoMakeCurrent) + (__glXdirectContextDestroy): Add __GLXcontext destructor and flush + context cache there and on loseCurrent. + + * GL/mesa/X/xf86glx.c (__glXMesaContextDestroy): Chain back to new + __GLXcontext destructor. + (__glXMesaContextForceCurrent): Set render table on forceCurrent. + (init_screen_visuals): Index pVis array correctly. + (GlxGetMesaProvider): Add this. + + * GL/glx/glxcmds.c: + * GL/glx/g_disptab_EXT.h: + * GL/glx/g_disptab_EXT.c: Hook up FBO marshalling. + 2006-03-16 Eric Anholt <anholt@FreeBSD.org> * exa/exa.c: (exaGetPixmapSize), (exaDestroyPixmap), (exaLog2), diff --git a/GL/glx/g_disptab_EXT.c b/GL/glx/g_disptab_EXT.c index 9582498b9..255f3832c 100644 --- a/GL/glx/g_disptab_EXT.c +++ b/GL/glx/g_disptab_EXT.c @@ -2234,6 +2234,110 @@ __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __ __glXNoSuchRenderOpcode, __glXNoSuchRenderOpcode, #endif + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + + __glXDisp_BindRenderbufferEXT, /* 4316 */ + __glXDisp_DeleteRenderbuffersEXT, /* 4317 */ + __glXDisp_RenderbufferStorageEXT, /* 4318 */ + __glXDisp_BindFramebufferEXT, /* 4319 */ + __glXDisp_DeleteFramebuffersEXT, /* 4320 */ + __glXDisp_FramebufferTexture1DEXT, /* 4321 */ + __glXDisp_FramebufferTexture2DEXT, /* 4322 */ + __glXDisp_FramebufferTexture3DEXT, /* 4323 */ + __glXDisp_FramebufferRenderbufferEXT, /* 4324 */ + __glXDisp_GenerateMipmapEXT /* 4325 */ }; __GLXdispatchVendorPrivProcPtr __glXVendorPrivTable_EXT[__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1] = { __glXDisp_AreTexturesResidentEXT, /* 11 */ @@ -4439,6 +4543,110 @@ __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT __glXNoSuchRenderOpcode, __glXNoSuchRenderOpcode, #endif + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + __glXNoSuchRenderOpcode, + + __glXDispSwap_BindRenderbufferEXT, /* 4316 */ + __glXDispSwap_DeleteRenderbuffersEXT, /* 4317 */ + __glXDispSwap_RenderbufferStorageEXT, /* 4318 */ + __glXDispSwap_BindFramebufferEXT, /* 4319 */ + __glXDispSwap_DeleteFramebuffersEXT, /* 4320 */ + __glXDispSwap_FramebufferTexture1DEXT, /* 4321 */ + __glXDispSwap_FramebufferTexture2DEXT, /* 4322 */ + __glXDispSwap_FramebufferTexture3DEXT, /* 4323 */ + __glXDispSwap_FramebufferRenderbufferEXT, /* 4324 */ + __glXDispSwap_GenerateMipmapEXT /* 4325 */ }; __GLXdispatchVendorPrivProcPtr __glXSwapVendorPrivTable_EXT[__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1] = { __glXDispSwap_AreTexturesResidentEXT, /* 11 */ diff --git a/GL/glx/g_disptab_EXT.h b/GL/glx/g_disptab_EXT.h index 3f7c93618..b5ecc6995 100644 --- a/GL/glx/g_disptab_EXT.h +++ b/GL/glx/g_disptab_EXT.h @@ -36,7 +36,7 @@ */ #define __GLX_MIN_RENDER_OPCODE_EXT 2053 -#define __GLX_MAX_RENDER_OPCODE_EXT 4222 +#define __GLX_MAX_RENDER_OPCODE_EXT 4325 #define __GLX_MIN_VENDPRIV_OPCODE_EXT 11 #define __GLX_MAX_VENDPRIV_OPCODE_EXT 14 #define __GLX_VENDPRIV_TABLE_SIZE_EXT (__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1) diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c index ddbf06388..dd1d9494d 100644 --- a/GL/glx/glxcmds.c +++ b/GL/glx/glxcmds.c @@ -89,8 +89,16 @@ static int __glxHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc); /************************************************************************/ +void +__glXContextDestroy(__GLXcontext *context) +{ + __glXFlushContextCache(); +} + + static void __glXdirectContextDestroy(__GLXcontext *context) { + __glXContextDestroy(context); __glXFree(context); } @@ -632,6 +640,7 @@ int DoMakeCurrent( __GLXclientState *cl, if (!(*prevglxc->loseCurrent)(prevglxc)) { return __glXBadContext; } + __glXFlushContextCache(); __glXDeassociateContext(prevglxc); } @@ -2208,6 +2217,20 @@ int __glXVendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc) return __glXCreateGLXPixmapWithConfigSGIX(cl, pc); case X_GLXvop_GetDrawableAttributesSGIX: return __glXGetDrawableAttributesSGIX(cl, pc); + case X_GLvop_IsRenderbufferEXT: + return __glXDisp_IsRenderbufferEXT(cl, pc); + case X_GLvop_GenRenderbuffersEXT: + return __glXDisp_GenRenderbuffersEXT(cl, pc); + case X_GLvop_GetRenderbufferParameterivEXT: + return __glXDisp_GetRenderbufferParameterivEXT(cl, pc); + case X_GLvop_IsFramebufferEXT: + return __glXDisp_IsFramebufferEXT(cl, pc); + case X_GLvop_GenFramebuffersEXT: + return __glXDisp_GenFramebuffersEXT(cl, pc); + case X_GLvop_CheckFramebufferStatusEXT: + return __glXDisp_CheckFramebufferStatusEXT(cl, pc); + case X_GLvop_GetFramebufferAttachmentParameterivEXT: + return __glXDisp_GetFramebufferAttachmentParameterivEXT(cl, pc); default: break; } diff --git a/GL/glx/glxcmdsswap.c b/GL/glx/glxcmdsswap.c index a52026f88..2953c9577 100644 --- a/GL/glx/glxcmdsswap.c +++ b/GL/glx/glxcmdsswap.c @@ -939,6 +939,20 @@ int __glXSwapVendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc) return __glXSwapCreateGLXPixmapWithConfigSGIX(cl, pc); case X_GLXvop_GetDrawableAttributesSGIX: return __glXSwapGetDrawableAttributesSGIX(cl, pc); + case X_GLvop_IsRenderbufferEXT: + return __glXDispSwap_IsRenderbufferEXT(cl, pc); + case X_GLvop_GenRenderbuffersEXT: + return __glXDispSwap_GenRenderbuffersEXT(cl, pc); + case X_GLvop_GetRenderbufferParameterivEXT: + return __glXDispSwap_GetRenderbufferParameterivEXT(cl, pc); + case X_GLvop_IsFramebufferEXT: + return __glXDispSwap_IsFramebufferEXT(cl, pc); + case X_GLvop_GenFramebuffersEXT: + return __glXDispSwap_GenFramebuffersEXT(cl, pc); + case X_GLvop_CheckFramebufferStatusEXT: + return __glXDispSwap_CheckFramebufferStatusEXT(cl, pc); + case X_GLvop_GetFramebufferAttachmentParameterivEXT: + return __glXDispSwap_GetFramebufferAttachmentParameterivEXT(cl, pc); default: break; } diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c index d757463bd..9cbb51873 100644 --- a/GL/glx/glxdri.c +++ b/GL/glx/glxdri.c @@ -227,6 +227,7 @@ __glXDRIcontextDestroy(__GLXcontext *baseContext) context->driContext.destroyContext(NULL, context->base.pScreen->myNum, context->driContext.private); + __glXContextDestroy(context); __glXFree(context); } diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c index aa727a981..33bb0fe09 100644 --- a/GL/glx/glxscreens.c +++ b/GL/glx/glxscreens.c @@ -64,6 +64,7 @@ static const char GLServerExtensions[] = "GL_ARB_texture_mirrored_repeat " "GL_ARB_transpose_matrix " "GL_ARB_window_pos " + "GL_ARB_texture_non_power_of_two " "GL_EXT_abgr " "GL_EXT_bgra " "GL_EXT_blend_color " @@ -96,6 +97,7 @@ static const char GLServerExtensions[] = "GL_EXT_texture_object " "GL_EXT_texture_rectangle " "GL_EXT_vertex_array " + "GL_EXT_framebuffer_object " "GL_APPLE_packed_pixels " "GL_ATI_texture_mirror_once " "GL_ATI_texture_env_combine3 " @@ -107,6 +109,7 @@ static const char GLServerExtensions[] = "GL_NV_point_sprite " "GL_NV_texgen_reflection " "GL_NV_texture_rectangle " + "GL_NV_texture_env_combine4 " "GL_SGIS_generate_mipmap " "GL_SGIS_texture_border_clamp " "GL_SGIS_texture_edge_clamp " diff --git a/GL/glx/rensizetab.c b/GL/glx/rensizetab.c index 25d1474f7..c9bd1a73b 100644 --- a/GL/glx/rensizetab.c +++ b/GL/glx/rensizetab.c @@ -2446,4 +2446,108 @@ __GLXrenderSizeData __glXRenderSizeTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX /* ActiveStencilFaceEXT 4220 */ { 8, 0 }, /* PointParameteriNV 4221 */ { 12, 0 }, /* PointParameterivNV 4222 */ { 8, __glXPointParameterivNVReqSize }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + /* no such opcode */ { 0, 0 }, + + /* BindRenderbufferEXT */ { 12, 0 }, + /* DeleteRenderbuffersEXT */ { 8, __glXDeleteRenderbuffersEXTReqSize }, + /* RenderbufferStorageEXT */ { 20, 0 }, + /* BindFramebufferEXT */ { 12, 0 }, + /* DeleteFramebuffersEXT */ { 8, __glXDeleteFramebuffersEXTReqSize }, + /* FramebufferTexture1DEXT */ { 24, 0 }, + /* FramebufferTexture2DEXT */ { 24, 0 }, + /* FramebufferTexture3DEXT */ { 28, 0 }, + /* FramebufferRenderbufferTexture3DEXT */ { 20, 0 }, + /* GenerateMipmapEXT */ { 8, 0 } }; diff --git a/GL/mesa/X/xf86glx.c b/GL/mesa/X/xf86glx.c index 34b667088..0444acc80 100644 --- a/GL/mesa/X/xf86glx.c +++ b/GL/mesa/X/xf86glx.c @@ -196,6 +196,7 @@ __glXMesaContextDestroy(__GLXcontext *baseContext) __GLXMESAcontext *context = (__GLXMESAcontext *) baseContext; XMesaDestroyContext(context->xmesa); + __glXContextDestroy(context); xfree(context); } @@ -237,6 +238,8 @@ __glXMesaContextForceCurrent(__GLXcontext *baseContext) { __GLXMESAcontext *context = (__GLXMESAcontext *) baseContext; + GlxSetRenderTables (context->xmesa->mesa.CurrentDispatch); + return XMesaForceCurrent(context->xmesa); } @@ -359,7 +362,7 @@ static void init_screen_visuals(__GLXMESAscreen *screen) /* Create the XMesa visual */ pXMesaVisual[i] = XMesaCreateVisual(pScreen, - pVis, + &pVis[j], modes->rgbMode, (modes->alphaBits > 0), modes->doubleBufferMode, @@ -437,3 +440,9 @@ GlxGetMesaProvider (void) { return &__glXMesaProvider; } + +__GLXprovider * +GlxGetMesaProvider (void) +{ + return &__glXMesaProvider; +} |