#define ATTRIB_H
-#include "mtypes.h"
+#include "compiler.h"
+#include "glheader.h"
+#include "mfeatures.h"
+struct _glapi_table;
+struct gl_context;
-#if _HAVE_FULL_GL
+#if FEATURE_attrib_stack
extern void GLAPIENTRY
_mesa_PushAttrib( GLbitfield mask );
extern void GLAPIENTRY
_mesa_PopClientAttrib( void );
-extern void
-_mesa_init_attrib( GLcontext *ctx );
+extern void
+_mesa_init_attrib_dispatch(struct _glapi_table *disp);
-extern void
-_mesa_free_attrib_data( GLcontext *ctx );
+#else /* FEATURE_attrib_stack */
+
+static INLINE void
+_mesa_PushClientAttrib( GLbitfield mask )
+{
+ ASSERT_NO_FEATURE();
+}
+
+static INLINE void
+_mesa_PopClientAttrib( void )
+{
+ ASSERT_NO_FEATURE();
+}
-#else
+static INLINE void
+_mesa_init_attrib_dispatch(struct _glapi_table *disp)
+{
+}
-/** No-op */
-#define _mesa_init_attrib( c ) ((void)0)
-#define _mesa_free_attrib_data( c ) ((void)0)
+#endif /* FEATURE_attrib_stack */
-#endif
+extern void
+_mesa_init_attrib( struct gl_context *ctx );
+
+extern void
+_mesa_free_attrib_data( struct gl_context *ctx );
-#endif
+#endif /* ATTRIB_H */