transformfeedback.h revision de8530e1546733bf21b2e0518d6c5bda560770b9
1de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul/*
2de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * Mesa 3-D graphics library
3de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul *
4de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * Copyright (C) 2010  VMware, Inc.  All Rights Reserved.
5de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul *
6de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * Permission is hereby granted, free of charge, to any person obtaining a
7de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * copy of this software and associated documentation files (the "Software"),
8de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * to deal in the Software without restriction, including without limitation
9de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * and/or sell copies of the Software, and to permit persons to whom the
11de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * Software is furnished to do so, subject to the following conditions:
12de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul *
13de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * The above copyright notice and this permission notice shall be included
14de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * in all copies or substantial portions of the Software.
15de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul *
16de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul */
23de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
24de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
25de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul#ifndef TRANSFORM_FEEDBACK_H
26de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul#define TRANSFORM_FEEDBACK_H
27de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
28de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul#include "glheader.h"
29de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
30de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
31de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern GLboolean
32de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode);
33de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
34de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern GLboolean
35de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_validate_transform_feedback_buffers(GLcontext *ctx);
36de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
37de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void
38de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_init_transform_feedback(GLcontext *ctx);
39de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
40de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void
41de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_free_transform_feedback(GLcontext *ctx);
42de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
43de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
44de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
45de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_BeginTransformFeedback(GLenum mode);
46de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
47de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
48de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_EndTransformFeedback(void);
49de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
50de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
51de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_BindBufferRange(GLenum target, GLuint index,
52de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul                      GLuint buffer, GLintptr offset, GLsizeiptr size);
53de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
54de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
55de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer);
56de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
57de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
58de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_BindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer,
59de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul                          GLintptr offset);
60de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
61de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
62de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_TransformFeedbackVaryings(GLuint program, GLsizei count,
63de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul                                const GLchar **varyings, GLenum bufferMode);
64de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
65de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paulextern void GLAPIENTRY
66de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul_mesa_GetTransformFeedbackVarying(GLuint program, GLuint index,
67de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul                                  GLsizei bufSize, GLsizei *length,
68de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul                                  GLsizei *size, GLenum *type, GLchar *name);
69de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
70de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul
71de8530e1546733bf21b2e0518d6c5bda560770b9Brian Paul#endif /* TRANSFORM_FEEDBACK_H */
72