blob: eb8b84fab905d99c7e84747751db1a98cfb78487 [file] [log] [blame]
Lionel Ulmerbedf40b2000-05-12 20:18:14 +00001/* Typedefs for extensions loading
2
3 Copyright (c) 2000 Lionel Ulmer
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00004*
5* This library is free software; you can redistribute it and/or
6* modify it under the terms of the GNU Lesser General Public
7* License as published by the Free Software Foundation; either
8* version 2.1 of the License, or (at your option) any later version.
9*
10* This library is distributed in the hope that it will be useful,
11* but WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13* Lesser General Public License for more details.
14*
15* You should have received a copy of the GNU Lesser General Public
16* License along with this library; if not, write to the Free Software
17* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Lionel Ulmerbedf40b2000-05-12 20:18:14 +000018*/
19#ifndef __DLLS_OPENGL32_OPENGL_EXT_H
20#define __DLLS_OPENGL32_OPENGL_EXT_H
21
Alexandre Julliard2c40e292002-09-25 00:29:56 +000022#undef APIENTRY
23#undef CALLBACK
24#undef WINAPI
25
26#define XMD_H /* This is to prevent the Xmd.h inclusion bug :-/ */
27#include <GL/gl.h>
28#include <GL/glx.h>
29#ifdef HAVE_GL_GLEXT_H
30# include <GL/glext.h>
31#endif
32#undef XMD_H
33
34#undef APIENTRY
35#undef CALLBACK
36#undef WINAPI
37
38/* Redefines the constants */
39#define CALLBACK __stdcall
40#define WINAPI __stdcall
41#define APIENTRY WINAPI
42
43/* X11 locking */
44
45extern void (*wine_tsx11_lock_ptr)(void);
46extern void (*wine_tsx11_unlock_ptr)(void);
47
48/* As GLX relies on X, this is needed */
49#define ENTER_GL() wine_tsx11_lock_ptr()
50#define LEAVE_GL() wine_tsx11_unlock_ptr()
51
52
Lionel Ulmerbedf40b2000-05-12 20:18:14 +000053typedef struct {
Michael Günnewig4d375d12003-10-04 03:04:45 +000054 const char *name; /* name of the extension */
55 const char *glx_name; /* name used on Unix's libGL */
Lionel Ulmerbedf40b2000-05-12 20:18:14 +000056 void *func; /* pointer to the Wine function for this extension */
57 void **func_ptr; /* where to store the value of glXGetProcAddressARB */
58} OpenGL_extension;
59
60extern OpenGL_extension extension_registry[];
61extern int extension_registry_size;
62
63#endif /* __DLLS_OPENGL32_OPENGL_EXT_H */