mesa: don't always enable OES_standard_derivatives
[mesa.git] / src / mesa / main / transformfeedback.h
index 4d38522d6d96bc331f715a48e889aa5041b76679..6ff9c50b41b03f872b3ae3926ff3888fc06073c0 100644 (file)
 #ifndef TRANSFORM_FEEDBACK_H
 #define TRANSFORM_FEEDBACK_H
 
-#include "main/mtypes.h"
+#include "compiler.h"
+#include "glheader.h"
+#include "mfeatures.h"
 
+struct _glapi_table;
+struct dd_function_table;
+struct gl_context;
 
 extern void
-_mesa_init_transform_feedback(GLcontext *ctx);
+_mesa_init_transform_feedback(struct gl_context *ctx);
 
 extern void
-_mesa_free_transform_feedback(GLcontext *ctx);
-
-#if FEATURE_EXT_transform_feedback
-
-extern GLboolean
-_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode);
+_mesa_free_transform_feedback(struct gl_context *ctx);
 
 extern GLboolean
-_mesa_validate_transform_feedback_buffers(GLcontext *ctx);
+_mesa_validate_transform_feedback_buffers(struct gl_context *ctx);
 
 
 extern void
 _mesa_init_transform_feedback_functions(struct dd_function_table *driver);
 
 extern void
-_mesa_init_transform_feedback_dispatch(struct _glapi_table *disp);
+_mesa_init_transform_feedback_dispatch(const struct gl_context *ctx,
+                                       struct _glapi_table *disp);
 
 
 /*** GL_EXT_transform_feedback ***/
@@ -58,12 +59,17 @@ _mesa_BeginTransformFeedback(GLenum mode);
 extern void GLAPIENTRY
 _mesa_EndTransformFeedback(void);
 
-extern void GLAPIENTRY
-_mesa_BindBufferRange(GLenum target, GLuint index,
-                      GLuint buffer, GLintptr offset, GLsizeiptr size);
+extern void
+_mesa_bind_buffer_range_transform_feedback(struct gl_context *ctx,
+                                          GLuint index,
+                                          struct gl_buffer_object *bufObj,
+                                          GLintptr offset,
+                                          GLsizeiptr size);
 
-extern void GLAPIENTRY
-_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer);
+extern void
+_mesa_bind_buffer_base_transform_feedback(struct gl_context *ctx,
+                                         GLuint index,
+                                         struct gl_buffer_object *bufObj);
 
 extern void GLAPIENTRY
 _mesa_BindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer,
@@ -82,6 +88,9 @@ _mesa_GetTransformFeedbackVarying(GLuint program, GLuint index,
 
 /*** GL_ARB_transform_feedback2 ***/
 
+struct gl_transform_feedback_object *
+_mesa_lookup_transform_feedback_object(struct gl_context *ctx, GLuint name);
+
 extern void GLAPIENTRY
 _mesa_GenTransformFeedbacks(GLsizei n, GLuint *names);
 
@@ -100,33 +109,4 @@ _mesa_PauseTransformFeedback(void);
 extern void GLAPIENTRY
 _mesa_ResumeTransformFeedback(void);
 
-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_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 */