Merge from head:

Fix a missed merge for idr's dispatch changes: failure to do driInitExtensions
  in __driCreateNewScreen_20050727 resulted in crashing in dispatch.
This commit is contained in:
Eric Anholt 2005-10-19 02:47:09 +00:00
parent 047f7bb11c
commit 3338f04be7
2 changed files with 12 additions and 1 deletions

View file

@ -79,7 +79,7 @@ static const struct dri_debug_control debug_control[] =
{ NULL, 0 }
};
static const struct dri_extension card_extensions[] =
const struct dri_extension card_extensions[] =
{
{ "GL_ARB_multisample", GL_ARB_multisample_functions },
{ "GL_ARB_multitexture", NULL },

View file

@ -67,6 +67,7 @@ static const GLuint __driNConfigOptions = 3;
static const GLuint __driNConfigOptions = 2;
#endif
extern const struct dri_extension card_extensions[];
static __GLcontextModes * fill_in_modes( __GLcontextModes * modes,
unsigned pixel_bits,
@ -536,6 +537,16 @@ void * __driCreateNewScreen_20050727( __DRInativeDisplay *dpy, int scrn, __DRIsc
16,
0,
1);
/* Calling driInitExtensions here, with a NULL context pointer, does not actually
* enable the extensions. It just makes sure that all the dispatch offsets for all
* the extensions that *might* be enables are known. This is needed because the
* dispatch offsets need to be known when _mesa_context_create is called, but we can't
* enable the extensions until we have a context pointer.
*
* Hello chicken. Hello egg. How are you two today?
*/
driInitExtensions( NULL, card_extensions, GL_FALSE );
}
return (void *) psp;