Mesa uses the glVertexAttrib*NV functions to implement fixed-function
authorIan Romanick <idr@us.ibm.com>
Wed, 10 Aug 2005 23:39:42 +0000 (23:39 +0000)
committerIan Romanick <idr@us.ibm.com>
Wed, 10 Aug 2005 23:39:42 +0000 (23:39 +0000)
attributes in display lists.  If a driver doesn't add entry points for
GL_NV_vertex_program, it will explode.  This patch adds GL_NV_vertex_program
to the list of default extensions whose entry points are added by
driInitExtensions.

Thanks go to Roland Scheidegger for tracking the problem down and suggesting
the fix.

src/mesa/drivers/dri/common/utils.c

index 7ae7f284ee9a0ad644469beb1129bd546673439f..fbe1991fa5d93508a59a6fd7052928dd65f56e1a 100644 (file)
@@ -188,10 +188,12 @@ driGetRendererString( char * buffer, const char * hardware_name,
 #define need_GL_EXT_vertex_array
 #define need_GL_MESA_window_pos
 
-/* This is needed in *all* drivers because Mesa internally implements
- * glBlendFunc by calling glBlendFuncSeparateEXT.
+/* These are needed in *all* drivers because Mesa internally implements
+ * certain functionality in terms of functions provided by these extensions.
+ * For example, glBlendFunc is implemented by calling glBlendFuncSeparateEXT.
  */
 #define need_GL_EXT_blend_func_separate
+#define need_GL_NV_vertex_program
 
 #include "extension_helper.h"
 
@@ -205,6 +207,7 @@ static const struct dri_extension all_mesa_extensions[] = {
    { "GL_EXT_texture_object",        GL_EXT_texture_object_functions },
    { "GL_EXT_vertex_array",          GL_EXT_vertex_array_functions },
    { "GL_MESA_window_pos",           GL_MESA_window_pos_functions },
+   { "GL_NV_vertex_program",         GL_NV_vertex_program_functions },
    { NULL,                           NULL }
 };