Make sure extension entry point offsets are properly initialized. This is
authorIan Romanick <idr@us.ibm.com>
Thu, 18 Aug 2005 22:16:46 +0000 (22:16 +0000)
committerIan Romanick <idr@us.ibm.com>
Thu, 18 Aug 2005 22:16:46 +0000 (22:16 +0000)
primarilly needed to support functions that are internally implemented using
extension entry points (e.g., glBlendFunc uses glBlendFuncSeparate).

src/mesa/drivers/dri/i810/i810context.c
src/mesa/drivers/dri/i810/i810screen.c

index b2399b9..ef693da 100644 (file)
@@ -118,7 +118,7 @@ static void i810BufferSize(GLframebuffer *buffer, GLuint *width, GLuint *height)
 
 /* Extension strings exported by the i810 driver.
  */
-static const struct dri_extension card_extensions[] =
+const struct dri_extension card_extensions[] =
 {
     { "GL_ARB_multisample",                GL_ARB_multisample_functions },
     { "GL_ARB_multitexture",               NULL },
index c6546d1..991c7cb 100644 (file)
@@ -54,6 +54,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "GL/internal/dri_interface.h"
 
+extern const struct dri_extension card_extensions[];
+
 static __GLcontextModes *fill_in_modes( __GLcontextModes *modes,
                                       unsigned pixel_bits,
                                       unsigned depth_bits,
@@ -462,6 +464,7 @@ void * __driCreateNewScreen_20050727( __DRInativeDisplay *dpy, int scrn, __DRIsc
       *driver_modes = i810FillInModes( 16,
                                       16, 0,
                                       1);
+      driInitExtensions( NULL, card_extensions, GL_TRUE );
    }
 
    return (void *) psp;