extensions.h revision 3464ebd5
17117f1b4Smrg/**
27117f1b4Smrg * \file extensions.h
37117f1b4Smrg * Extension handling.
47117f1b4Smrg *
57117f1b4Smrg * \if subset
67117f1b4Smrg * (No-op)
77117f1b4Smrg *
87117f1b4Smrg * \endif
97117f1b4Smrg */
107117f1b4Smrg
117117f1b4Smrg/*
127117f1b4Smrg * Mesa 3-D graphics library
137117f1b4Smrg * Version:  6.5.1
147117f1b4Smrg *
157117f1b4Smrg * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
167117f1b4Smrg *
177117f1b4Smrg * Permission is hereby granted, free of charge, to any person obtaining a
187117f1b4Smrg * copy of this software and associated documentation files (the "Software"),
197117f1b4Smrg * to deal in the Software without restriction, including without limitation
207117f1b4Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
217117f1b4Smrg * and/or sell copies of the Software, and to permit persons to whom the
227117f1b4Smrg * Software is furnished to do so, subject to the following conditions:
237117f1b4Smrg *
247117f1b4Smrg * The above copyright notice and this permission notice shall be included
257117f1b4Smrg * in all copies or substantial portions of the Software.
267117f1b4Smrg *
277117f1b4Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
287117f1b4Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
297117f1b4Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
307117f1b4Smrg * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
317117f1b4Smrg * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
327117f1b4Smrg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
337117f1b4Smrg */
347117f1b4Smrg
357117f1b4Smrg
367117f1b4Smrg#ifndef _EXTENSIONS_H_
377117f1b4Smrg#define _EXTENSIONS_H_
387117f1b4Smrg
393464ebd5Sriastradh#include "glheader.h"
403464ebd5Sriastradh#include "mfeatures.h"
413464ebd5Sriastradh
423464ebd5Sriastradhstruct gl_context;
437117f1b4Smrg
447117f1b4Smrg#if _HAVE_FULL_GL
457117f1b4Smrg
463464ebd5Sriastradhextern void _mesa_enable_sw_extensions(struct gl_context *ctx);
477117f1b4Smrg
483464ebd5Sriastradhextern void _mesa_enable_imaging_extensions(struct gl_context *ctx);
497117f1b4Smrg
503464ebd5Sriastradhextern void _mesa_enable_1_3_extensions(struct gl_context *ctx);
517117f1b4Smrg
523464ebd5Sriastradhextern void _mesa_enable_1_4_extensions(struct gl_context *ctx);
537117f1b4Smrg
543464ebd5Sriastradhextern void _mesa_enable_1_5_extensions(struct gl_context *ctx);
557117f1b4Smrg
563464ebd5Sriastradhextern void _mesa_enable_2_0_extensions(struct gl_context *ctx);
577117f1b4Smrg
583464ebd5Sriastradhextern void _mesa_enable_2_1_extensions(struct gl_context *ctx);
597117f1b4Smrg
603464ebd5Sriastradhextern void _mesa_enable_extension(struct gl_context *ctx, const char *name);
617117f1b4Smrg
623464ebd5Sriastradhextern void _mesa_disable_extension(struct gl_context *ctx, const char *name);
637117f1b4Smrg
643464ebd5Sriastradhextern GLboolean _mesa_extension_is_enabled(struct gl_context *ctx, const char *name);
657117f1b4Smrg
663464ebd5Sriastradhextern void _mesa_init_extensions(struct gl_context *ctx);
677117f1b4Smrg
683464ebd5Sriastradhextern GLubyte *_mesa_make_extension_string(struct gl_context *ctx);
697117f1b4Smrg
70cdc920a0Smrgextern GLuint
713464ebd5Sriastradh_mesa_get_extension_count(struct gl_context *ctx);
72cdc920a0Smrg
73cdc920a0Smrgextern const GLubyte *
743464ebd5Sriastradh_mesa_get_enabled_extension(struct gl_context *ctx, GLuint index);
75cdc920a0Smrg
76cdc920a0Smrg
777117f1b4Smrg#else
787117f1b4Smrg
797117f1b4Smrg/** No-op */
807117f1b4Smrg#define _mesa_extensions_dtr( ctx ) ((void)0)
817117f1b4Smrg
827117f1b4Smrg/** No-op */
837117f1b4Smrg#define _mesa_extensions_ctr( ctx ) ((void)0)
847117f1b4Smrg
857117f1b4Smrg/** No-op */
867117f1b4Smrg#define _mesa_extensions_get_string( ctx ) "GL_EXT_texture_object"
877117f1b4Smrg
887117f1b4Smrg/** No-op */
897117f1b4Smrg#define _mesa_enable_imaging_extensions( c ) ((void)0)
907117f1b4Smrg
917117f1b4Smrg/** No-op */
927117f1b4Smrg#define _mesa_enable_extension( c, n ) ((void)0)
937117f1b4Smrg
947117f1b4Smrg#endif
957117f1b4Smrg
967117f1b4Smrg#endif
97