arrayobj.h revision 3464ebd5
17117f1b4Smrg/* 27117f1b4Smrg * Mesa 3-D graphics library 34a49301eSmrg * Version: 7.6 47117f1b4Smrg * 57117f1b4Smrg * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. 67117f1b4Smrg * (C) Copyright IBM Corporation 2006 74a49301eSmrg * Copyright (C) 2009 VMware, Inc. All Rights Reserved. 87117f1b4Smrg * 97117f1b4Smrg * Permission is hereby granted, free of charge, to any person obtaining a 107117f1b4Smrg * copy of this software and associated documentation files (the "Software"), 117117f1b4Smrg * to deal in the Software without restriction, including without limitation 127117f1b4Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 137117f1b4Smrg * and/or sell copies of the Software, and to permit persons to whom the 147117f1b4Smrg * Software is furnished to do so, subject to the following conditions: 157117f1b4Smrg * 167117f1b4Smrg * The above copyright notice and this permission notice shall be included 177117f1b4Smrg * in all copies or substantial portions of the Software. 187117f1b4Smrg * 197117f1b4Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 207117f1b4Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 217117f1b4Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 227117f1b4Smrg * BRIAN PAUL OR IBM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 237117f1b4Smrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 247117f1b4Smrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 257117f1b4Smrg * SOFTWARE. 267117f1b4Smrg */ 277117f1b4Smrg 287117f1b4Smrg#ifndef ARRAYOBJ_H 297117f1b4Smrg#define ARRAYOBJ_H 307117f1b4Smrg 313464ebd5Sriastradh#include "glheader.h" 323464ebd5Sriastradh 333464ebd5Sriastradhstruct gl_context; 347117f1b4Smrg 357117f1b4Smrg/** 367117f1b4Smrg * \file arrayobj.h 377117f1b4Smrg * Functions for the GL_APPLE_vertex_array_object extension. 387117f1b4Smrg * 397117f1b4Smrg * \author Ian Romanick <idr@us.ibm.com> 407117f1b4Smrg * \author Brian Paul 417117f1b4Smrg */ 427117f1b4Smrg 437117f1b4Smrg/* 447117f1b4Smrg * Internal functions 457117f1b4Smrg */ 467117f1b4Smrg 474a49301eSmrgextern struct gl_array_object * 483464ebd5Sriastradh_mesa_new_array_object( struct gl_context *ctx, GLuint name ); 497117f1b4Smrg 504a49301eSmrgextern void 513464ebd5Sriastradh_mesa_delete_array_object( struct gl_context *ctx, struct gl_array_object *obj ); 527117f1b4Smrg 534a49301eSmrgextern void 543464ebd5Sriastradh_mesa_reference_array_object(struct gl_context *ctx, 554a49301eSmrg struct gl_array_object **ptr, 564a49301eSmrg struct gl_array_object *arrayObj); 577117f1b4Smrg 584a49301eSmrgextern void 593464ebd5Sriastradh_mesa_initialize_array_object( struct gl_context *ctx, 604a49301eSmrg struct gl_array_object *obj, GLuint name ); 617117f1b4Smrg 627117f1b4Smrg 634a49301eSmrgextern void 643464ebd5Sriastradh_mesa_update_array_object_max_element(struct gl_context *ctx, 654a49301eSmrg struct gl_array_object *arrayObj); 667117f1b4Smrg 677117f1b4Smrg 687117f1b4Smrg/* 697117f1b4Smrg * API functions 707117f1b4Smrg */ 717117f1b4Smrg 724a49301eSmrg 734a49301eSmrgvoid GLAPIENTRY _mesa_BindVertexArray( GLuint id ); 744a49301eSmrg 757117f1b4Smrgvoid GLAPIENTRY _mesa_BindVertexArrayAPPLE( GLuint id ); 767117f1b4Smrg 777117f1b4Smrgvoid GLAPIENTRY _mesa_DeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids); 787117f1b4Smrg 794a49301eSmrgvoid GLAPIENTRY _mesa_GenVertexArrays(GLsizei n, GLuint *arrays); 804a49301eSmrg 817117f1b4Smrgvoid GLAPIENTRY _mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *buffer); 827117f1b4Smrg 837117f1b4SmrgGLboolean GLAPIENTRY _mesa_IsVertexArrayAPPLE( GLuint id ); 847117f1b4Smrg 857117f1b4Smrg#endif /* ARRAYOBJ_H */ 86