X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fextensions.h;h=595512a5d5cf7e31879d4ef6d9bb323274f8e1e4;hb=9019e5e19532fe214fc6e45b9ee1f60bbe332456;hp=c5316192f8d4ef29467fb40c5270b88b1d613b48;hpb=b80429e49ef62686792e2f95c8f52b5e6c8a59a9;p=mesa.git diff --git a/src/mesa/main/extensions.h b/src/mesa/main/extensions.h index c5316192f8d..595512a5d5c 100644 --- a/src/mesa/main/extensions.h +++ b/src/mesa/main/extensions.h @@ -1,53 +1,61 @@ -/* $Id: extensions.h,v 1.5 1999/10/16 11:30:27 brianp Exp $ */ +/** + * \file extensions.h + * Extension handling. + * + * \if subset + * (No-op) + * + * \endif + */ /* * Mesa 3-D graphics library - * Version: 3.1 - * - * Copyright (C) 1999 Brian Paul All Rights Reserved. - * + * + * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. */ #ifndef _EXTENSIONS_H_ #define _EXTENSIONS_H_ -#include "types.h" +#include "glheader.h" +struct gl_context; +struct gl_extensions; -#define DEFAULT_OFF 0x0 -#define DEFAULT_ON 0x1 -#define ALWAYS_ENABLED 0x2 +extern void _mesa_enable_sw_extensions(struct gl_context *ctx); -/* Return 0 on success. - */ -extern int gl_extensions_add( struct gl_context *ctx, int state, - const char *name, void (*notify)( void ) ); +extern void _mesa_one_time_init_extension_overrides(void); -extern int gl_extensions_enable( struct gl_context *ctx, const char *name ); -extern int gl_extensions_disable( struct gl_context *ctx, const char *name ); -extern void gl_extensions_dtr( struct gl_context *ctx ); -extern void gl_extensions_ctr( struct gl_context *ctx ); -extern const char *gl_extensions_get_string( struct gl_context *ctx ); +extern void _mesa_init_extensions(struct gl_extensions *extentions); -extern void (*gl_get_proc_address( const GLubyte *procName ))(); +extern GLubyte *_mesa_make_extension_string(struct gl_context *ctx); -#endif +extern GLuint +_mesa_get_extension_count(struct gl_context *ctx); +extern const GLubyte * +_mesa_get_enabled_extension(struct gl_context *ctx, GLuint index); +extern struct gl_extensions _mesa_extension_override_enables; +extern struct gl_extensions _mesa_extension_override_disables; + +#endif