summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/common/utils.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c
index b6fb06ffac9..7ae7f284ee9 100644
--- a/src/mesa/drivers/dri/common/utils.c
+++ b/src/mesa/drivers/dri/common/utils.c
@@ -36,7 +36,7 @@
#include "utils.h"
#include "dispatch.h"
-unsigned driDispatchRemapTable[ driDispatchRemapTable_size ];
+int driDispatchRemapTable[ driDispatchRemapTable_size ];
#if defined(USE_X86_ASM)
#include "x86/common_x86_asm.h"
@@ -188,12 +188,18 @@ 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.
+ */
+#define need_GL_EXT_blend_func_separate
+
#include "extension_helper.h"
static const struct dri_extension all_mesa_extensions[] = {
{ "GL_ARB_multisample", GL_ARB_multisample_functions },
{ "GL_ARB_transpose_matrix", GL_ARB_transpose_matrix_functions },
{ "GL_ARB_window_pos", GL_ARB_window_pos_functions },
+ { "GL_EXT_blend_func_separate", GL_EXT_blend_func_separate_functions },
{ "GL_EXT_compiled_vertex_array", GL_EXT_compiled_vertex_array_functions },
{ "GL_EXT_polygon_offset", GL_EXT_polygon_offset_functions },
{ "GL_EXT_texture_object", GL_EXT_texture_object_functions },
@@ -220,6 +226,10 @@ void driInitExtensions( GLcontext * ctx,
unsigned i;
if ( first_time ) {
+ for ( i = 0 ; i < driDispatchRemapTable_size ; i++ ) {
+ driDispatchRemapTable[i] = -1;
+ }
+
first_time = 0;
driInitExtensions( ctx, all_mesa_extensions, GL_FALSE );
}