1e52adb7bSmrg/*
2e52adb7bSmrg * Copyright © 2013 Intel Corporation
3e52adb7bSmrg *
4e52adb7bSmrg * Permission is hereby granted, free of charge, to any person obtaining a
5e52adb7bSmrg * copy of this software and associated documentation files (the "Software"),
6e52adb7bSmrg * to deal in the Software without restriction, including without limitation
7e52adb7bSmrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8e52adb7bSmrg * and/or sell copies of the Software, and to permit persons to whom the
9e52adb7bSmrg * Software is furnished to do so, subject to the following conditions:
10e52adb7bSmrg *
11e52adb7bSmrg * The above copyright notice and this permission notice (including the next
12e52adb7bSmrg * paragraph) shall be included in all copies or substantial portions of the
13e52adb7bSmrg * Software.
14e52adb7bSmrg *
15e52adb7bSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16e52adb7bSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17e52adb7bSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18e52adb7bSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19e52adb7bSmrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20e52adb7bSmrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21e52adb7bSmrg * IN THE SOFTWARE.
22e52adb7bSmrg */
23e52adb7bSmrg
24e52adb7bSmrg/** @file glx.h
25e52adb7bSmrg *
26e52adb7bSmrg * Provides an implementation of a GLX dispatch layer using global
27e52adb7bSmrg * function pointers.
28f71742dfSmrg *
29f71742dfSmrg * You should include `<epoxy/glx.h>` instead of `<GL/glx.h>`.
30e52adb7bSmrg */
31e52adb7bSmrg
32e52adb7bSmrg#ifndef EPOXY_GLX_H
33e52adb7bSmrg#define EPOXY_GLX_H
34e52adb7bSmrg
35e52adb7bSmrg#include <epoxy/gl.h>
36e52adb7bSmrg#include <X11/Xlib.h>
37e52adb7bSmrg#include <X11/Xutil.h>
38e52adb7bSmrg
39e52adb7bSmrg#if defined(GLX_H) || defined(__glxext_h_)
40e52adb7bSmrg#error epoxy/glx.h must be included before (or in place of) GL/glx.h
41e52adb7bSmrg#else
42e52adb7bSmrg#define GLX_H
43f71742dfSmrg#define __glx_h__
44e52adb7bSmrg#define __glxext_h_
45e52adb7bSmrg#endif
46e52adb7bSmrg
47f71742dfSmrgEPOXY_BEGIN_DECLS
48f71742dfSmrg
49e52adb7bSmrg#include "epoxy/glx_generated.h"
50e52adb7bSmrg
51f71742dfSmrgEPOXY_PUBLIC bool epoxy_has_glx_extension(Display *dpy, int screen, const char *extension);
52f71742dfSmrgEPOXY_PUBLIC int epoxy_glx_version(Display *dpy, int screen);
53f71742dfSmrgEPOXY_PUBLIC bool epoxy_has_glx(Display *dpy);
54e52adb7bSmrg
55f71742dfSmrgEPOXY_END_DECLS
56e52adb7bSmrg
57e52adb7bSmrg#endif /* EPOXY_GLX_H */
58