14b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell 24b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell/* 34b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * Mesa 3-D graphics library 44b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * Version: 3.5 54b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * 64b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. 74b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * 84b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * Permission is hereby granted, free of charge, to any person obtaining a 94b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * copy of this software and associated documentation files (the "Software"), 104b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * to deal in the Software without restriction, including without limitation 114b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * the rights to use, copy, modify, merge, publish, distribute, sublicense, 124b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * and/or sell copies of the Software, and to permit persons to whom the 134b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * Software is furnished to do so, subject to the following conditions: 144b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * 154b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * The above copyright notice and this permission notice shall be included 164b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * in all copies or substantial portions of the Software. 174b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * 184b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 194b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 204b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 214b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 224b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 234b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 244b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell */ 254b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell 264b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell 274b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell#ifndef API_ARRAYELT_H 284b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell#define API_ARRAYELT_H 294b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell 3080630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 31db61b9ce39bccc43140357652ceb78baaf2aea44Vinson Lee#include "main/mfeatures.h" 3280630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#include "main/mtypes.h" 3380630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 3480630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#if FEATURE_arrayelt 3580630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 3680630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#define _MESA_INIT_ARRAYELT_VTXFMT(vfmt, impl) \ 3780630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu do { \ 3880630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu (vfmt)->ArrayElement = impl ## ArrayElement; \ 3980630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu } while (0) 404b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell 41f9995b30756140724f41daf963fa06167912be7fKristian Høgsbergextern GLboolean _ae_create_context( struct gl_context *ctx ); 42f9995b30756140724f41daf963fa06167912be7fKristian Høgsbergextern void _ae_destroy_context( struct gl_context *ctx ); 43f9995b30756140724f41daf963fa06167912be7fKristian Høgsbergextern void _ae_invalidate_state( struct gl_context *ctx, GLuint new_state ); 4480630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wuextern void GLAPIENTRY _ae_ArrayElement( GLint elt ); 454b7d6f216bf768482e07e4d7feb8ca3e1be92d53Keith Whitwell 46b97947972193b6b004a0ee49da31146230d43dd8Keith Whitwell/* May optionally be called before a batch of element calls: 47b97947972193b6b004a0ee49da31146230d43dd8Keith Whitwell */ 48f9995b30756140724f41daf963fa06167912be7fKristian Høgsbergextern void _ae_map_vbos( struct gl_context *ctx ); 49f9995b30756140724f41daf963fa06167912be7fKristian Høgsbergextern void _ae_unmap_vbos( struct gl_context *ctx ); 50b97947972193b6b004a0ee49da31146230d43dd8Keith Whitwell 5180630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wuextern void 5280630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu_mesa_install_arrayelt_vtxfmt(struct _glapi_table *disp, 5380630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu const GLvertexformat *vfmt); 5480630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 5580630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#else /* FEATURE_arrayelt */ 5680630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 5780630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#define _MESA_INIT_ARRAYELT_VTXFMT(vfmt, impl) do { } while (0) 5880630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 599520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline GLboolean 60f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_ae_create_context( struct gl_context *ctx ) 6180630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu{ 6280630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu return GL_TRUE; 6380630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu} 6480630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 659520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 66f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_ae_destroy_context( struct gl_context *ctx ) 6780630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu{ 6880630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu} 6980630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 709520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 71f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_ae_invalidate_state( struct gl_context *ctx, GLuint new_state ) 7280630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu{ 7380630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu} 7480630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 759520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 7680630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu_mesa_install_arrayelt_vtxfmt(struct _glapi_table *disp, 7780630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu const GLvertexformat *vfmt) 7880630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu{ 7980630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu} 8080630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 8180630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#endif /* FEATURE_arrayelt */ 8280630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 8380630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu 8480630d1fed6cd32e75f5e97e2cd27509be21d093Chia-I Wu#endif /* API_ARRAYELT_H */ 85