OSDN Git Service

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)
committerChia-I Wu <olvaffe@gmail.com>
Sat, 12 Sep 2009 12:55:55 +0000 (20:55 +0800)
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 2345695..30e2f96 100644 (file)
 #include "macros.h"
 #include "state.h"
 #include "mtypes.h"
+#include "glapi/dispatch.h"
+
+
+#if FEATURE_accum
 
 
 void GLAPIENTRY
@@ -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 ce92688..ef5e44e 100644 (file)
 #define ACCUM_H
 
 
-#include "mtypes.h"
+#include "main/mtypes.h"
 
-#if _HAVE_FULL_GL
+#if FEATURE_accum
+
+#define _MESA_INIT_ACCUM_FUNCTIONS(driver, impl) \
+   do {                                          \
+      (driver)->Accum = impl ## Accum;           \
+   } while (0)
 
 extern void GLAPIENTRY
 _mesa_Accum( GLenum op, GLfloat value );
 
-
 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 )
+{
+}
 
-#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 6317639..9ffac79 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 1907c79..df194c3 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