version.h revision 01e04c3f
17117f1b4Smrg/*
27117f1b4Smrg * Mesa 3-D graphics library
37117f1b4Smrg *
47117f1b4Smrg * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
5cdc920a0Smrg * Copyright (C) 2009  VMware, Inc.  All Rights Reserved.
67117f1b4Smrg *
77117f1b4Smrg * Permission is hereby granted, free of charge, to any person obtaining a
87117f1b4Smrg * copy of this software and associated documentation files (the "Software"),
97117f1b4Smrg * to deal in the Software without restriction, including without limitation
107117f1b4Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
117117f1b4Smrg * and/or sell copies of the Software, and to permit persons to whom the
127117f1b4Smrg * Software is furnished to do so, subject to the following conditions:
137117f1b4Smrg *
147117f1b4Smrg * The above copyright notice and this permission notice shall be included
157117f1b4Smrg * in all copies or substantial portions of the Software.
167117f1b4Smrg *
177117f1b4Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
187117f1b4Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
197117f1b4Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20af69d88dSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
21af69d88dSmrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22af69d88dSmrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23af69d88dSmrg * OTHER DEALINGS IN THE SOFTWARE.
247117f1b4Smrg */
257117f1b4Smrg
267117f1b4Smrg
277117f1b4Smrg#ifndef VERSION_H
287117f1b4Smrg#define VERSION_H
297117f1b4Smrg
3001e04c3fSmrg#include <stdbool.h>
3101e04c3fSmrg#include "glheader.h"
3201e04c3fSmrg#include "menums.h"
337117f1b4Smrg
3401e04c3fSmrgstruct gl_context;
3501e04c3fSmrgstruct gl_constants;
3601e04c3fSmrgstruct gl_extensions;
37cdc920a0Smrg
38af69d88dSmrgextern GLuint
39af69d88dSmrg_mesa_get_version(const struct gl_extensions *extensions,
40af69d88dSmrg                  struct gl_constants *consts, gl_api api);
41cdc920a0Smrg
42af69d88dSmrgextern void
43af69d88dSmrg_mesa_compute_version(struct gl_context *ctx);
447117f1b4Smrg
45af69d88dSmrgextern bool
46af69d88dSmrg_mesa_override_gl_version_contextless(struct gl_constants *consts,
47af69d88dSmrg                                      gl_api *apiOut, GLuint *versionOut);
487117f1b4Smrg
49af69d88dSmrgextern void
50af69d88dSmrg_mesa_override_gl_version(struct gl_context *ctx);
517117f1b4Smrg
52cdc920a0Smrgextern void
53af69d88dSmrg_mesa_override_glsl_version(struct gl_constants *consts);
54cdc920a0Smrg
5501e04c3fSmrgextern void
5601e04c3fSmrg_mesa_get_driver_uuid(struct gl_context *ctx, GLint *uuid);
5701e04c3fSmrg
5801e04c3fSmrgextern void
5901e04c3fSmrg_mesa_get_device_uuid(struct gl_context *ctx, GLint *uuid);
6001e04c3fSmrg
61af69d88dSmrgextern int
6201e04c3fSmrg_mesa_get_shading_language_version(const struct gl_context *ctx,
6301e04c3fSmrg                                   int index,
6401e04c3fSmrg                                   char **versionOut);
65cdc920a0Smrg
667117f1b4Smrg#endif /* VERSION_H */
67