summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-06-20 11:05:00 -0600
committerBrian Paul <[email protected]>2008-06-20 11:05:00 -0600
commit9cae37870e66550d8cceac4b4a8765c1936d4ddc (patch)
tree939443f4cd43ce2c3f40eb7c8cfa626b82b54db0
parent1b241a4369fcba5972a7ab38b9a5595a434e0b56 (diff)
mesa: revamp glBlendFunc loopback
-rw-r--r--src/mesa/main/blend.c10
-rw-r--r--src/mesa/main/dlist.c9
2 files changed, 9 insertions, 10 deletions
diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index 742247f8e21..4d4a8971419 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -46,19 +46,11 @@
* \param dfactor destination factor operator.
*
* \sa glBlendFunc, glBlendFuncSeparateEXT
- *
- * Swizzles the inputs and calls \c glBlendFuncSeparateEXT. This is done
- * using the \c CurrentDispatch table in the context, so this same function
- * can be used while compiling display lists. Therefore, there is no need
- * for the display list code to save and restore this function.
*/
void GLAPIENTRY
_mesa_BlendFunc( GLenum sfactor, GLenum dfactor )
{
- GET_CURRENT_CONTEXT(ctx);
-
- (*ctx->CurrentDispatch->BlendFuncSeparateEXT)( sfactor, dfactor,
- sfactor, dfactor );
+ _mesa_BlendFuncSeparateEXT(sfactor, dfactor, sfactor, dfactor);
}
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 07d279da301..c672c0f8b8b 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -926,6 +926,13 @@ save_BlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB,
static void GLAPIENTRY
+save_BlendFunc(GLenum srcfactor, GLenum dstfactor)
+{
+ save_BlendFuncSeparate(srcfactor, dstfactor, srcfactor, dstfactor);
+}
+
+
+static void GLAPIENTRY
save_BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
{
GET_CURRENT_CONTEXT(ctx);
@@ -7602,7 +7609,7 @@ _mesa_init_dlist_table(struct _glapi_table *table)
SET_Accum(table, save_Accum);
SET_AlphaFunc(table, save_AlphaFunc);
SET_Bitmap(table, save_Bitmap);
- SET_BlendFunc(table, _mesa_BlendFunc); /* loops-back to BlendFuncSeparate */
+ SET_BlendFunc(table, _save_BlendFunc);
SET_CallList(table, _mesa_save_CallList);
SET_CallLists(table, _mesa_save_CallLists);
SET_Clear(table, save_Clear);