mesa/main: fix inverted condition
[mesa.git] / src / mesa / main / transformfeedback.h
index 475f5f149443a974f3d4b2ceed514bbad652fd56..c699fcb94f3997c854ef3846fad0e3136681d76c 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <stdbool.h>
 #include "bufferobj.h"
-#include "compiler.h"
+#include "util/compiler.h"
 #include "glheader.h"
 #include "mtypes.h"
 
@@ -42,10 +42,6 @@ _mesa_init_transform_feedback(struct gl_context *ctx);
 extern void
 _mesa_free_transform_feedback(struct gl_context *ctx);
 
-extern GLboolean
-_mesa_validate_transform_feedback_buffers(struct gl_context *ctx);
-
-
 extern void
 _mesa_init_transform_feedback_functions(struct dd_function_table *driver);
 
@@ -57,19 +53,23 @@ _mesa_compute_max_transform_feedback_vertices( struct gl_context *ctx,
 
 /*** GL_EXT_transform_feedback ***/
 
+void GLAPIENTRY
+_mesa_BeginTransformFeedback_no_error(GLenum mode);
+
 extern void GLAPIENTRY
 _mesa_BeginTransformFeedback(GLenum mode);
 
+void GLAPIENTRY
+_mesa_EndTransformFeedback_no_error(void);
+
 extern void GLAPIENTRY
 _mesa_EndTransformFeedback(void);
 
-extern void
-_mesa_bind_buffer_range_transform_feedback(struct gl_context *ctx,
-                                          struct gl_transform_feedback_object *obj,
-                                          GLuint index,
-                                          struct gl_buffer_object *bufObj,
-                                          GLintptr offset,
-                                          GLsizeiptr size, bool dsa);
+extern bool
+_mesa_validate_buffer_range_xfb(struct gl_context *ctx,
+                                struct gl_transform_feedback_object *obj,
+                                GLuint index, struct gl_buffer_object *bufObj,
+                                GLintptr offset, GLsizeiptr size, bool dsa);
 
 extern void
 _mesa_bind_buffer_base_transform_feedback(struct gl_context *ctx,
@@ -78,10 +78,19 @@ _mesa_bind_buffer_base_transform_feedback(struct gl_context *ctx,
                                          struct gl_buffer_object *bufObj,
                                          bool dsa);
 
+void GLAPIENTRY
+_mesa_BindBufferOffsetEXT_no_error(GLenum target, GLuint index, GLuint buffer,
+                                   GLintptr offset);
+
 extern void GLAPIENTRY
 _mesa_BindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer,
                           GLintptr offset);
 
+void GLAPIENTRY
+_mesa_TransformFeedbackVaryings_no_error(GLuint program, GLsizei count,
+                                         const GLchar *const *varyings,
+                                         GLenum bufferMode);
+
 extern void GLAPIENTRY
 _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
                                 const GLchar * const *varyings,
@@ -99,6 +108,11 @@ extern void
 _mesa_init_transform_feedback_object(struct gl_transform_feedback_object *obj,
                                      GLuint name);
 
+extern void
+_mesa_delete_transform_feedback_object(struct gl_context *ctx,
+                                       struct gl_transform_feedback_object
+                                              *obj);
+
 struct gl_transform_feedback_object *
 _mesa_lookup_transform_feedback_object(struct gl_context *ctx, GLuint name);
 
@@ -111,15 +125,24 @@ _mesa_CreateTransformFeedbacks(GLsizei n, GLuint *names);
 extern GLboolean GLAPIENTRY
 _mesa_IsTransformFeedback(GLuint name);
 
+void GLAPIENTRY
+_mesa_BindTransformFeedback_no_error(GLenum target, GLuint name);
+
 extern void GLAPIENTRY
 _mesa_BindTransformFeedback(GLenum target, GLuint name);
 
 extern void GLAPIENTRY
 _mesa_DeleteTransformFeedbacks(GLsizei n, const GLuint *names);
 
+void GLAPIENTRY
+_mesa_PauseTransformFeedback_no_error(void);
+
 extern void GLAPIENTRY
 _mesa_PauseTransformFeedback(void);
 
+void GLAPIENTRY
+_mesa_ResumeTransformFeedback_no_error(void);
+
 extern void GLAPIENTRY
 _mesa_ResumeTransformFeedback(void);
 
@@ -142,11 +165,11 @@ _mesa_set_transform_feedback_binding(struct gl_context *ctx,
 {
    _mesa_reference_buffer_object(ctx, &tfObj->Buffers[index], bufObj);
 
-   tfObj->BufferNames[index]   = bufObj->Name;
+   tfObj->BufferNames[index]   = bufObj ? bufObj->Name : 0;
    tfObj->Offset[index]        = offset;
    tfObj->RequestedSize[index] = size;
 
-   if (bufObj != ctx->Shared->NullBufferObj)
+   if (bufObj)
       bufObj->UsageHistory |= USAGE_TRANSFORM_FEEDBACK_BUFFER;
 }