X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Ftransformfeedback.h;h=87f4080e022d2ab1c17667e748c8af75e7a979b8;hb=23dcbf623f55fedb92d232b2b3e196834c8a1f2e;hp=0ffaab508019e43f58f6279de58c91c02036ca5e;hpb=2b71b3d4666b076ef45d03b9b4b4c527bda21e1c;p=mesa.git diff --git a/src/mesa/main/transformfeedback.h b/src/mesa/main/transformfeedback.h index 0ffaab50801..87f4080e022 100644 --- a/src/mesa/main/transformfeedback.h +++ b/src/mesa/main/transformfeedback.h @@ -27,6 +27,7 @@ #define TRANSFORM_FEEDBACK_H #include +#include "bufferobj.h" #include "compiler.h" #include "glheader.h" #include "mtypes.h" @@ -91,6 +92,9 @@ _mesa_GetTransformFeedbackVarying(GLuint program, GLuint index, /*** GL_ARB_transform_feedback2 ***/ +extern void +_mesa_init_transform_feedback_object(struct gl_transform_feedback_object *obj, + GLuint name); struct gl_transform_feedback_object * _mesa_lookup_transform_feedback_object(struct gl_context *ctx, GLuint name); @@ -124,4 +128,17 @@ extern bool _mesa_transform_feedback_is_using_program(struct gl_context *ctx, struct gl_shader_program *shProg); +static inline void +_mesa_set_transform_feedback_binding(struct gl_context *ctx, + struct gl_transform_feedback_object *tfObj, GLuint index, + struct gl_buffer_object *bufObj, + GLintptr offset, GLsizeiptr size) +{ + _mesa_reference_buffer_object(ctx, &tfObj->Buffers[index], bufObj); + + tfObj->BufferNames[index] = bufObj->Name; + tfObj->Offset[index] = offset; + tfObj->RequestedSize[index] = size; +} + #endif /* TRANSFORM_FEEDBACK_H */