Home | History | Annotate | Download | only in main
      1 /**
      2  * \file extensions.h
      3  * Extension handling.
      4  *
      5  * \if subset
      6  * (No-op)
      7  *
      8  * \endif
      9  */
     10 
     11 /*
     12  * Mesa 3-D graphics library
     13  * Version:  6.5.1
     14  *
     15  * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
     16  *
     17  * Permission is hereby granted, free of charge, to any person obtaining a
     18  * copy of this software and associated documentation files (the "Software"),
     19  * to deal in the Software without restriction, including without limitation
     20  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     21  * and/or sell copies of the Software, and to permit persons to whom the
     22  * Software is furnished to do so, subject to the following conditions:
     23  *
     24  * The above copyright notice and this permission notice shall be included
     25  * in all copies or substantial portions of the Software.
     26  *
     27  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     28  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     29  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     30  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
     31  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     32  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     33  */
     34 
     35 
     36 #ifndef _EXTENSIONS_H_
     37 #define _EXTENSIONS_H_
     38 
     39 #include "glheader.h"
     40 #include "mfeatures.h"
     41 
     42 struct gl_context;
     43 
     44 #if _HAVE_FULL_GL
     45 
     46 extern void _mesa_enable_sw_extensions(struct gl_context *ctx);
     47 
     48 extern void _mesa_enable_1_3_extensions(struct gl_context *ctx);
     49 
     50 extern void _mesa_enable_1_4_extensions(struct gl_context *ctx);
     51 
     52 extern void _mesa_enable_1_5_extensions(struct gl_context *ctx);
     53 
     54 extern void _mesa_enable_2_0_extensions(struct gl_context *ctx);
     55 
     56 extern void _mesa_enable_2_1_extensions(struct gl_context *ctx);
     57 
     58 extern void _mesa_enable_extension(struct gl_context *ctx, const char *name);
     59 
     60 extern void _mesa_disable_extension(struct gl_context *ctx, const char *name);
     61 
     62 extern GLboolean _mesa_extension_is_enabled(struct gl_context *ctx, const char *name);
     63 
     64 extern void _mesa_init_extensions(struct gl_context *ctx);
     65 
     66 extern GLubyte *_mesa_make_extension_string(struct gl_context *ctx);
     67 
     68 extern GLuint
     69 _mesa_get_extension_count(struct gl_context *ctx);
     70 
     71 extern const GLubyte *
     72 _mesa_get_enabled_extension(struct gl_context *ctx, GLuint index);
     73 
     74 
     75 #else
     76 
     77 /** No-op */
     78 #define _mesa_extensions_dtr( ctx ) ((void)0)
     79 
     80 /** No-op */
     81 #define _mesa_extensions_ctr( ctx ) ((void)0)
     82 
     83 /** No-op */
     84 #define _mesa_extensions_get_string( ctx ) "GL_EXT_texture_object"
     85 
     86 /** No-op */
     87 #define _mesa_enable_extension( c, n ) ((void)0)
     88 
     89 #endif
     90 
     91 #endif
     92