mesa/main: Make FEATURE_accum follow feature conventions.
authorChia-I Wu <olvaffe@gmail.com>
Mon, 7 Sep 2009 09:51:42 +0000 (17:51 +0800)
committerBrian Paul <brianp@vmware.com>
Wed, 30 Sep 2009 14:31:55 +0000 (08:31 -0600)
As shown in mfeatures.h, this allows users of accum.h to work without
knowing if the feature is available.

src/mesa/main/accum.c
src/mesa/main/accum.h
src/mesa/main/api_exec.c
src/mesa/main/context.c

index 2345695f3c6fb43bd94be3e50d527c89ba13a345..032e13b96ebd63c77fff749b9006ac22470aed2b 100644 (file)
 #include "macros.h"
 #include "state.h"
 #include "mtypes.h"
+#include "glapi/dispatch.h"
+
+
+#if FEATURE_accum
 
 
 void GLAPIENTRY
@@ -51,7 +55,7 @@ _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
 }
 
 
-void GLAPIENTRY
+static void GLAPIENTRY
 _mesa_Accum( GLenum op, GLfloat value )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -99,6 +103,16 @@ _mesa_Accum( GLenum op, GLfloat value )
 }
 
 
+void
+_mesa_init_accum_dispatch(struct _glapi_table *disp)
+{
+   SET_Accum(disp, _mesa_Accum);
+   SET_ClearAccum(disp, _mesa_ClearAccum);
+}
+
+
+#endif /* FEATURE_accum */
+
 
 void 
 _mesa_init_accum( GLcontext *ctx )
index ce92688a5b980ac74edbe6c02ddabc2dc9c0f67e..63740f07edca68f0c9bf300201a8858aac03dcbd 100644 (file)
 #define ACCUM_H
 
 
-#include "mtypes.h"
+#include "main/mtypes.h"
 
-#if _HAVE_FULL_GL
-
-extern void GLAPIENTRY
-_mesa_Accum( GLenum op, GLfloat value );
+#if FEATURE_accum
 
+#define _MESA_INIT_ACCUM_FUNCTIONS(driver, impl) \
+   do {                                          \
+      (driver)->Accum = impl ## Accum;           \
+   } while (0)
 
 extern void GLAPIENTRY
 _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
 
-extern void 
-_mesa_init_accum( GLcontext *ctx );
+extern void
+_mesa_init_accum_dispatch(struct _glapi_table *disp);
+
+#else /* FEATURE_accum */
 
-#else
+#define _MESA_INIT_ACCUM_FUNCTIONS(driver, impl) do { } while (0)
 
-/** No-op */
-#define _mesa_init_accum( c ) ((void)0)
+static INLINE void
+_mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
+{
+   /* this is used in _mesa_PopAttrib */
+   ASSERT_NO_FEATURE();
+}
 
-#endif
+static INLINE void
+_mesa_init_accum_dispatch(struct _glapi_table *disp)
+{
+}
+
+#endif /* FEATURE_accum */
+
+extern void
+_mesa_init_accum( GLcontext *ctx );
 
-#endif
+#endif /* ACCUM_H */
index 63176390751d72f8ffac7b784ba6db7082177a85..9ffac7905a90a42fd9989d25a49c02687b98920f 100644 (file)
@@ -30,9 +30,7 @@
 
 
 #include "mfeatures.h"
-#if FEATURE_accum
 #include "accum.h"
-#endif
 #include "api_loopback.h"
 #include "api_exec.h"
 #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
@@ -193,10 +191,9 @@ _mesa_init_exec_table(struct _glapi_table *exec)
    SET_TexParameteri(exec, _mesa_TexParameteri);
    SET_Translatef(exec, _mesa_Translatef);
    SET_Viewport(exec, _mesa_Viewport);
-#if FEATURE_accum
-   SET_Accum(exec, _mesa_Accum);
-   SET_ClearAccum(exec, _mesa_ClearAccum);
-#endif
+
+   _mesa_init_accum_dispatch(exec);
+
 #if FEATURE_dlist
    SET_CallList(exec, _mesa_CallList);
    SET_CallLists(exec, _mesa_CallLists);
index 1907c799df90cc061d2ba6c9d58f60cfa0af59f8..df194c3edb9213fa5eb3668af1412157ad4c0ace 100644 (file)
@@ -79,9 +79,7 @@
 #include "glheader.h"
 #include "mfeatures.h"
 #include "imports.h"
-#if FEATURE_accum
 #include "accum.h"
-#endif
 #include "api_exec.h"
 #include "arrayobj.h"
 #if FEATURE_attrib_stack
@@ -676,9 +674,7 @@ init_attrib_groups(GLcontext *ctx)
    _mesa_init_extensions( ctx );
 
    /* Attribute Groups */
-#if FEATURE_accum
    _mesa_init_accum( ctx );
-#endif
 #if FEATURE_attrib_stack
    _mesa_init_attrib( ctx );
 #endif