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