SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT);
/* 352. GL_EXT_transform_feedback */
-#if _HAVE_FULL_GL
- SET_BeginTransformFeedbackEXT(exec, _mesa_BeginTransformFeedback);
- SET_EndTransformFeedbackEXT(exec, _mesa_EndTransformFeedback);
- SET_BindBufferRangeEXT(exec, _mesa_BindBufferRange);
- SET_BindBufferBaseEXT(exec, _mesa_BindBufferBase);
- SET_BindBufferOffsetEXT(exec, _mesa_BindBufferOffsetEXT);
- SET_TransformFeedbackVaryingsEXT(exec, _mesa_TransformFeedbackVaryings);
- SET_GetTransformFeedbackVaryingEXT(exec, _mesa_GetTransformFeedbackVarying);
-#endif
+ _mesa_init_transform_feedback_dispatch(exec);
/* 364. GL_EXT_provoking_vertex */
SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT);
#include "context.h"
#include "hash.h"
#include "transformfeedback.h"
+#include "main/dispatch.h"
#include "shader/prog_parameter.h"
#include "shader/shader_api.h"
+#if FEATURE_EXT_transform_feedback
+
+
/**
* Do reference counting of transform feedback buffers.
*/
}
+void
+_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp)
+{
+ SET_BeginTransformFeedbackEXT(disp, _mesa_BeginTransformFeedback);
+ SET_EndTransformFeedbackEXT(disp, _mesa_EndTransformFeedback);
+ SET_BindBufferRangeEXT(disp, _mesa_BindBufferRange);
+ SET_BindBufferBaseEXT(disp, _mesa_BindBufferBase);
+ SET_BindBufferOffsetEXT(disp, _mesa_BindBufferOffsetEXT);
+ SET_TransformFeedbackVaryingsEXT(disp, _mesa_TransformFeedbackVaryings);
+ SET_GetTransformFeedbackVaryingEXT(disp, _mesa_GetTransformFeedbackVarying);
+}
+
/**
** Begin API functions
GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
GL_TRANSFORM_FEEDBACK_BINDING
*/
+
+
+#endif /* FEATURE_EXT_transform_feedback */
#ifndef TRANSFORM_FEEDBACK_H
#define TRANSFORM_FEEDBACK_H
-#include "glheader.h"
+#include "main/mtypes.h"
+#if FEATURE_EXT_transform_feedback
+
extern GLboolean
_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode);
extern void
_mesa_init_transform_feedback_functions(struct dd_function_table *driver);
+extern void
+_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp);
+
/*** GL_EXT_transform_feedback ***/
extern void GLAPIENTRY
_mesa_DrawTransformFeedback(GLenum mode, GLuint name);
+#else /* FEATURE_EXT_transform_feedback */
+
+static INLINE GLboolean
+_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode)
+{
+ return GL_TRUE;
+}
+
+static INLINE GLboolean
+_mesa_validate_transform_feedback_buffers(GLcontext *ctx)
+{
+ return GL_TRUE;
+}
+
+static INLINE void
+_mesa_init_transform_feedback(GLcontext *ctx)
+{
+}
+
+static INLINE void
+_mesa_free_transform_feedback(GLcontext *ctx)
+{
+}
+
+static INLINE void
+_mesa_init_transform_feedback_functions(struct dd_function_table *driver)
+{
+}
+
+static INLINE void
+_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp)
+{
+}
+
+#endif /* FEATURE_EXT_transform_feedback */
#endif /* TRANSFORM_FEEDBACK_H */
#include "st_cb_xformfb.h"
+#if FEATURE_EXT_transform_feedback
+
#if 0
static struct gl_transform_feedback_object *
st_new_transform_feedback(GLcontext *ctx, GLuint name)
functions->ResumeTransformFeedback = st_resume_transform_feedback;
functions->DrawTransformFeedback = st_draw_transform_feedback;
}
+
+#endif /* FEATURE_EXT_transform_feedback */
#define ST_CB_XFORMFB_H
+#if FEATURE_EXT_transform_feedback
+
extern void
st_init_xformfb_functions(struct dd_function_table *functions);
+#else
+
+static INLINE void
+st_init_xformfb_functions(struct dd_function_table *functions)
+{
+}
+
+#endif /* FEATURE_EXT_transform_feedback */
#endif /* ST_CB_XFORMFB_H */
#include "st_cb_queryobj.h"
#include "st_cb_readpixels.h"
#include "st_cb_texture.h"
-#if FEATURE_EXT_transform_feedback
#include "st_cb_xformfb.h"
-#endif
#include "st_cb_flush.h"
#include "st_cb_strings.h"
#include "st_atom.h"
st_init_flush_functions(functions);
st_init_string_functions(functions);
-#if FEATURE_EXT_transform_feedback
st_init_xformfb_functions(functions);
-#endif
functions->UpdateState = st_invalidate_state;
}