mesa/main: Make FEATURE_attrib_stack follow feature conventions.
As shown in mfeatures.h, this allows users of attrib.h to work without knowing if the feature is available.
This commit is contained in:
@@ -39,9 +39,7 @@
|
|||||||
#if FEATURE_ATI_fragment_shader
|
#if FEATURE_ATI_fragment_shader
|
||||||
#include "shader/atifragshader.h"
|
#include "shader/atifragshader.h"
|
||||||
#endif
|
#endif
|
||||||
#if FEATURE_attrib_stack
|
|
||||||
#include "attrib.h"
|
#include "attrib.h"
|
||||||
#endif
|
|
||||||
#include "blend.h"
|
#include "blend.h"
|
||||||
#if FEATURE_ARB_vertex_buffer_object
|
#if FEATURE_ARB_vertex_buffer_object
|
||||||
#include "bufferobj.h"
|
#include "bufferobj.h"
|
||||||
@@ -283,12 +281,9 @@ _mesa_init_exec_table(struct _glapi_table *exec)
|
|||||||
SET_PolygonMode(exec, _mesa_PolygonMode);
|
SET_PolygonMode(exec, _mesa_PolygonMode);
|
||||||
SET_PolygonOffset(exec, _mesa_PolygonOffset);
|
SET_PolygonOffset(exec, _mesa_PolygonOffset);
|
||||||
SET_PolygonStipple(exec, _mesa_PolygonStipple);
|
SET_PolygonStipple(exec, _mesa_PolygonStipple);
|
||||||
#if FEATURE_attrib_stack
|
|
||||||
SET_PopAttrib(exec, _mesa_PopAttrib);
|
_mesa_init_attrib_dispatch(exec);
|
||||||
SET_PushAttrib(exec, _mesa_PushAttrib);
|
|
||||||
SET_PopClientAttrib(exec, _mesa_PopClientAttrib);
|
|
||||||
SET_PushClientAttrib(exec, _mesa_PushClientAttrib);
|
|
||||||
#endif
|
|
||||||
#if FEATURE_drawpix
|
#if FEATURE_drawpix
|
||||||
SET_RasterPos2f(exec, _mesa_RasterPos2f);
|
SET_RasterPos2f(exec, _mesa_RasterPos2f);
|
||||||
SET_RasterPos2fv(exec, _mesa_RasterPos2fv);
|
SET_RasterPos2fv(exec, _mesa_RasterPos2fv);
|
||||||
|
@@ -57,6 +57,7 @@
|
|||||||
#include "varray.h"
|
#include "varray.h"
|
||||||
#include "viewport.h"
|
#include "viewport.h"
|
||||||
#include "mtypes.h"
|
#include "mtypes.h"
|
||||||
|
#include "glapi/dispatch.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -174,6 +175,9 @@ struct texture_state
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#if FEATURE_attrib_stack
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate new attribute node of given type/kind. Attach payload data.
|
* Allocate new attribute node of given type/kind. Attach payload data.
|
||||||
* Insert it into the linked list named by 'head'.
|
* Insert it into the linked list named by 'head'.
|
||||||
@@ -1464,6 +1468,19 @@ _mesa_PopClientAttrib(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
_mesa_init_attrib_dispatch(struct _glapi_table *disp)
|
||||||
|
{
|
||||||
|
SET_PopAttrib(disp, _mesa_PopAttrib);
|
||||||
|
SET_PushAttrib(disp, _mesa_PushAttrib);
|
||||||
|
SET_PopClientAttrib(disp, _mesa_PopClientAttrib);
|
||||||
|
SET_PushClientAttrib(disp, _mesa_PushClientAttrib);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* FEATURE_attrib_stack */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Free any attribute state data that might be attached to the context.
|
* Free any attribute state data that might be attached to the context.
|
||||||
*/
|
*/
|
||||||
|
@@ -26,10 +26,10 @@
|
|||||||
#define ATTRIB_H
|
#define ATTRIB_H
|
||||||
|
|
||||||
|
|
||||||
#include "mtypes.h"
|
#include "main/mtypes.h"
|
||||||
|
|
||||||
|
|
||||||
#if _HAVE_FULL_GL
|
#if FEATURE_attrib_stack
|
||||||
|
|
||||||
extern void GLAPIENTRY
|
extern void GLAPIENTRY
|
||||||
_mesa_PushAttrib( GLbitfield mask );
|
_mesa_PushAttrib( GLbitfield mask );
|
||||||
@@ -43,18 +43,34 @@ _mesa_PushClientAttrib( GLbitfield mask );
|
|||||||
extern void GLAPIENTRY
|
extern void GLAPIENTRY
|
||||||
_mesa_PopClientAttrib( void );
|
_mesa_PopClientAttrib( void );
|
||||||
|
|
||||||
|
extern void
|
||||||
|
_mesa_init_attrib_dispatch(struct _glapi_table *disp);
|
||||||
|
|
||||||
|
#else /* FEATURE_attrib_stack */
|
||||||
|
|
||||||
|
static INLINE void
|
||||||
|
_mesa_PushClientAttrib( GLbitfield mask )
|
||||||
|
{
|
||||||
|
ASSERT_NO_FEATURE();
|
||||||
|
}
|
||||||
|
|
||||||
|
static INLINE void
|
||||||
|
_mesa_PopClientAttrib( void )
|
||||||
|
{
|
||||||
|
ASSERT_NO_FEATURE();
|
||||||
|
}
|
||||||
|
|
||||||
|
static INLINE void
|
||||||
|
_mesa_init_attrib_dispatch(struct _glapi_table *disp)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* FEATURE_attrib_stack */
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_mesa_init_attrib( GLcontext *ctx );
|
_mesa_init_attrib( GLcontext *ctx );
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_mesa_free_attrib_data( GLcontext *ctx );
|
_mesa_free_attrib_data( GLcontext *ctx );
|
||||||
|
|
||||||
#else
|
#endif /* ATTRIB_H */
|
||||||
|
|
||||||
/** No-op */
|
|
||||||
#define _mesa_init_attrib( c ) ((void)0)
|
|
||||||
#define _mesa_free_attrib_data( c ) ((void)0)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@@ -82,9 +82,7 @@
|
|||||||
#include "accum.h"
|
#include "accum.h"
|
||||||
#include "api_exec.h"
|
#include "api_exec.h"
|
||||||
#include "arrayobj.h"
|
#include "arrayobj.h"
|
||||||
#if FEATURE_attrib_stack
|
|
||||||
#include "attrib.h"
|
#include "attrib.h"
|
||||||
#endif
|
|
||||||
#include "blend.h"
|
#include "blend.h"
|
||||||
#include "buffers.h"
|
#include "buffers.h"
|
||||||
#include "bufferobj.h"
|
#include "bufferobj.h"
|
||||||
@@ -675,9 +673,7 @@ init_attrib_groups(GLcontext *ctx)
|
|||||||
|
|
||||||
/* Attribute Groups */
|
/* Attribute Groups */
|
||||||
_mesa_init_accum( ctx );
|
_mesa_init_accum( ctx );
|
||||||
#if FEATURE_attrib_stack
|
|
||||||
_mesa_init_attrib( ctx );
|
_mesa_init_attrib( ctx );
|
||||||
#endif
|
|
||||||
_mesa_init_buffer_objects( ctx );
|
_mesa_init_buffer_objects( ctx );
|
||||||
_mesa_init_color( ctx );
|
_mesa_init_color( ctx );
|
||||||
_mesa_init_colortables( ctx );
|
_mesa_init_colortables( ctx );
|
||||||
@@ -997,9 +993,7 @@ _mesa_free_context_data( GLcontext *ctx )
|
|||||||
_mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL);
|
_mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL);
|
||||||
_mesa_reference_fragprog(ctx, &ctx->FragmentProgram._TexEnvProgram, NULL);
|
_mesa_reference_fragprog(ctx, &ctx->FragmentProgram._TexEnvProgram, NULL);
|
||||||
|
|
||||||
#if FEATURE_attrib_stack
|
|
||||||
_mesa_free_attrib_data(ctx);
|
_mesa_free_attrib_data(ctx);
|
||||||
#endif
|
|
||||||
_mesa_free_lighting_data( ctx );
|
_mesa_free_lighting_data( ctx );
|
||||||
#if FEATURE_evaluators
|
#if FEATURE_evaluators
|
||||||
_mesa_free_eval_data( ctx );
|
_mesa_free_eval_data( ctx );
|
||||||
|
Reference in New Issue
Block a user