~sergiusens/libhybris/autotests

« back to all changes in this revision

Viewing changes to hybris/include/GL/glx.h

  • Committer: Package Import Robot
  • Author(s): Ricardo Salveti de Araujo
  • Date: 2013-06-04 07:33:11 UTC
  • Revision ID: package-import@ubuntu.com-20130604073311-20ldi2hm1axkvjl1
Tags: upstream-0.1.0+git20130601+dfb2e26
ImportĀ upstreamĀ versionĀ 0.1.0+git20130601+dfb2e26

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Mesa 3-D graphics library
 
3
 * Version:  6.5
 
4
 * 
 
5
 * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
 
6
 * 
 
7
 * Permission is hereby granted, free of charge, to any person obtaining a
 
8
 * copy of this software and associated documentation files (the "Software"),
 
9
 * to deal in the Software without restriction, including without limitation
 
10
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 
11
 * and/or sell copies of the Software, and to permit persons to whom the
 
12
 * Software is furnished to do so, subject to the following conditions:
 
13
 * 
 
14
 * The above copyright notice and this permission notice shall be included
 
15
 * in all copies or substantial portions of the Software.
 
16
 * 
 
17
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
18
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
19
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 
20
 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 
21
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 
22
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
23
 */
 
24
 
 
25
 
 
26
#ifndef GLX_H
 
27
#define GLX_H
 
28
 
 
29
 
 
30
#ifdef __VMS
 
31
#include <GL/vms_x_fix.h>
 
32
# ifdef __cplusplus
 
33
/* VMS Xlib.h gives problems with C++.
 
34
 * this avoids a bunch of trivial warnings */
 
35
#pragma message disable nosimpint
 
36
#endif
 
37
#endif
 
38
#include <X11/Xlib.h>
 
39
#include <X11/Xutil.h>
 
40
#ifdef __VMS
 
41
# ifdef __cplusplus
 
42
#pragma message enable nosimpint
 
43
#endif
 
44
#endif
 
45
#include <GL/gl.h>
 
46
 
 
47
 
 
48
#if defined(USE_MGL_NAMESPACE)
 
49
#include "glx_mangle.h"
 
50
#endif
 
51
 
 
52
 
 
53
#ifdef __cplusplus
 
54
extern "C" {
 
55
#endif
 
56
 
 
57
 
 
58
#define GLX_VERSION_1_1         1
 
59
#define GLX_VERSION_1_2         1
 
60
#define GLX_VERSION_1_3         1
 
61
#define GLX_VERSION_1_4         1
 
62
 
 
63
#define GLX_EXTENSION_NAME   "GLX"
 
64
 
 
65
 
 
66
 
 
67
/*
 
68
 * Tokens for glXChooseVisual and glXGetConfig:
 
69
 */
 
70
#define GLX_USE_GL              1
 
71
#define GLX_BUFFER_SIZE         2
 
72
#define GLX_LEVEL               3
 
73
#define GLX_RGBA                4
 
74
#define GLX_DOUBLEBUFFER        5
 
75
#define GLX_STEREO              6
 
76
#define GLX_AUX_BUFFERS         7
 
77
#define GLX_RED_SIZE            8
 
78
#define GLX_GREEN_SIZE          9
 
79
#define GLX_BLUE_SIZE           10
 
80
#define GLX_ALPHA_SIZE          11
 
81
#define GLX_DEPTH_SIZE          12
 
82
#define GLX_STENCIL_SIZE        13
 
83
#define GLX_ACCUM_RED_SIZE      14
 
84
#define GLX_ACCUM_GREEN_SIZE    15
 
85
#define GLX_ACCUM_BLUE_SIZE     16
 
86
#define GLX_ACCUM_ALPHA_SIZE    17
 
87
 
 
88
 
 
89
/*
 
90
 * Error codes returned by glXGetConfig:
 
91
 */
 
92
#define GLX_BAD_SCREEN          1
 
93
#define GLX_BAD_ATTRIBUTE       2
 
94
#define GLX_NO_EXTENSION        3
 
95
#define GLX_BAD_VISUAL          4
 
96
#define GLX_BAD_CONTEXT         5
 
97
#define GLX_BAD_VALUE           6
 
98
#define GLX_BAD_ENUM            7
 
99
 
 
100
 
 
101
/*
 
102
 * GLX 1.1 and later:
 
103
 */
 
104
#define GLX_VENDOR              1
 
105
#define GLX_VERSION             2
 
106
#define GLX_EXTENSIONS          3
 
107
 
 
108
 
 
109
/*
 
110
 * GLX 1.3 and later:
 
111
 */
 
112
#define GLX_CONFIG_CAVEAT               0x20
 
113
#define GLX_DONT_CARE                   0xFFFFFFFF
 
114
#define GLX_X_VISUAL_TYPE               0x22
 
115
#define GLX_TRANSPARENT_TYPE            0x23
 
116
#define GLX_TRANSPARENT_INDEX_VALUE     0x24
 
117
#define GLX_TRANSPARENT_RED_VALUE       0x25
 
118
#define GLX_TRANSPARENT_GREEN_VALUE     0x26
 
119
#define GLX_TRANSPARENT_BLUE_VALUE      0x27
 
120
#define GLX_TRANSPARENT_ALPHA_VALUE     0x28
 
121
#define GLX_WINDOW_BIT                  0x00000001
 
122
#define GLX_PIXMAP_BIT                  0x00000002
 
123
#define GLX_PBUFFER_BIT                 0x00000004
 
124
#define GLX_AUX_BUFFERS_BIT             0x00000010
 
125
#define GLX_FRONT_LEFT_BUFFER_BIT       0x00000001
 
126
#define GLX_FRONT_RIGHT_BUFFER_BIT      0x00000002
 
127
#define GLX_BACK_LEFT_BUFFER_BIT        0x00000004
 
128
#define GLX_BACK_RIGHT_BUFFER_BIT       0x00000008
 
129
#define GLX_DEPTH_BUFFER_BIT            0x00000020
 
130
#define GLX_STENCIL_BUFFER_BIT          0x00000040
 
131
#define GLX_ACCUM_BUFFER_BIT            0x00000080
 
132
#define GLX_NONE                        0x8000
 
133
#define GLX_SLOW_CONFIG                 0x8001
 
134
#define GLX_TRUE_COLOR                  0x8002
 
135
#define GLX_DIRECT_COLOR                0x8003
 
136
#define GLX_PSEUDO_COLOR                0x8004
 
137
#define GLX_STATIC_COLOR                0x8005
 
138
#define GLX_GRAY_SCALE                  0x8006
 
139
#define GLX_STATIC_GRAY                 0x8007
 
140
#define GLX_TRANSPARENT_RGB             0x8008
 
141
#define GLX_TRANSPARENT_INDEX           0x8009
 
142
#define GLX_VISUAL_ID                   0x800B
 
143
#define GLX_SCREEN                      0x800C
 
144
#define GLX_NON_CONFORMANT_CONFIG       0x800D
 
145
#define GLX_DRAWABLE_TYPE               0x8010
 
146
#define GLX_RENDER_TYPE                 0x8011
 
147
#define GLX_X_RENDERABLE                0x8012
 
148
#define GLX_FBCONFIG_ID                 0x8013
 
149
#define GLX_RGBA_TYPE                   0x8014
 
150
#define GLX_COLOR_INDEX_TYPE            0x8015
 
151
#define GLX_MAX_PBUFFER_WIDTH           0x8016
 
152
#define GLX_MAX_PBUFFER_HEIGHT          0x8017
 
153
#define GLX_MAX_PBUFFER_PIXELS          0x8018
 
154
#define GLX_PRESERVED_CONTENTS          0x801B
 
155
#define GLX_LARGEST_PBUFFER             0x801C
 
156
#define GLX_WIDTH                       0x801D
 
157
#define GLX_HEIGHT                      0x801E
 
158
#define GLX_EVENT_MASK                  0x801F
 
159
#define GLX_DAMAGED                     0x8020
 
160
#define GLX_SAVED                       0x8021
 
161
#define GLX_WINDOW                      0x8022
 
162
#define GLX_PBUFFER                     0x8023
 
163
#define GLX_PBUFFER_HEIGHT              0x8040
 
164
#define GLX_PBUFFER_WIDTH               0x8041
 
165
#define GLX_RGBA_BIT                    0x00000001
 
166
#define GLX_COLOR_INDEX_BIT             0x00000002
 
167
#define GLX_PBUFFER_CLOBBER_MASK        0x08000000
 
168
 
 
169
 
 
170
/*
 
171
 * GLX 1.4 and later:
 
172
 */
 
173
#define GLX_SAMPLE_BUFFERS              0x186a0 /*100000*/
 
174
#define GLX_SAMPLES                     0x186a1 /*100001*/
 
175
 
 
176
 
 
177
 
 
178
typedef struct __GLXcontextRec *GLXContext;
 
179
typedef XID GLXPixmap;
 
180
typedef XID GLXDrawable;
 
181
/* GLX 1.3 and later */
 
182
typedef struct __GLXFBConfigRec *GLXFBConfig;
 
183
typedef XID GLXFBConfigID;
 
184
typedef XID GLXContextID;
 
185
typedef XID GLXWindow;
 
186
typedef XID GLXPbuffer;
 
187
 
 
188
 
 
189
/*
 
190
** Events.
 
191
** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
 
192
**  event - this helps initialization if the server supports the pbuffer
 
193
**  extension and the client doesn't.
 
194
*/
 
195
#define GLX_PbufferClobber      0
 
196
#define GLX_BufferSwapComplete  1
 
197
 
 
198
#define __GLX_NUMBER_EVENTS 17
 
199
 
 
200
extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
 
201
                                     int *attribList );
 
202
 
 
203
extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
 
204
                                    GLXContext shareList, Bool direct );
 
205
 
 
206
extern void glXDestroyContext( Display *dpy, GLXContext ctx );
 
207
 
 
208
extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
 
209
                            GLXContext ctx);
 
210
 
 
211
extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
 
212
                            unsigned long mask );
 
213
 
 
214
extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
 
215
 
 
216
extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
 
217
                                     Pixmap pixmap );
 
218
 
 
219
extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
 
220
 
 
221
extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
 
222
 
 
223
extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
 
224
 
 
225
extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
 
226
 
 
227
extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
 
228
                         int attrib, int *value );
 
229
 
 
230
extern GLXContext glXGetCurrentContext( void );
 
231
 
 
232
extern GLXDrawable glXGetCurrentDrawable( void );
 
233
 
 
234
extern void glXWaitGL( void );
 
235
 
 
236
extern void glXWaitX( void );
 
237
 
 
238
extern void glXUseXFont( Font font, int first, int count, int list );
 
239
 
 
240
 
 
241
 
 
242
/* GLX 1.1 and later */
 
243
extern const char *glXQueryExtensionsString( Display *dpy, int screen );
 
244
 
 
245
extern const char *glXQueryServerString( Display *dpy, int screen, int name );
 
246
 
 
247
extern const char *glXGetClientString( Display *dpy, int name );
 
248
 
 
249
 
 
250
/* GLX 1.2 and later */
 
251
extern Display *glXGetCurrentDisplay( void );
 
252
 
 
253
 
 
254
/* GLX 1.3 and later */
 
255
extern GLXFBConfig *glXChooseFBConfig( Display *dpy, int screen,
 
256
                                       const int *attribList, int *nitems );
 
257
 
 
258
extern int glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config,
 
259
                                 int attribute, int *value );
 
260
 
 
261
extern GLXFBConfig *glXGetFBConfigs( Display *dpy, int screen,
 
262
                                     int *nelements );
 
263
 
 
264
extern XVisualInfo *glXGetVisualFromFBConfig( Display *dpy,
 
265
                                              GLXFBConfig config );
 
266
 
 
267
extern GLXWindow glXCreateWindow( Display *dpy, GLXFBConfig config,
 
268
                                  Window win, const int *attribList );
 
269
 
 
270
extern void glXDestroyWindow( Display *dpy, GLXWindow window );
 
271
 
 
272
extern GLXPixmap glXCreatePixmap( Display *dpy, GLXFBConfig config,
 
273
                                  Pixmap pixmap, const int *attribList );
 
274
 
 
275
extern void glXDestroyPixmap( Display *dpy, GLXPixmap pixmap );
 
276
 
 
277
extern GLXPbuffer glXCreatePbuffer( Display *dpy, GLXFBConfig config,
 
278
                                    const int *attribList );
 
279
 
 
280
extern void glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf );
 
281
 
 
282
extern void glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute,
 
283
                              unsigned int *value );
 
284
 
 
285
extern GLXContext glXCreateNewContext( Display *dpy, GLXFBConfig config,
 
286
                                       int renderType, GLXContext shareList,
 
287
                                       Bool direct );
 
288
 
 
289
extern Bool glXMakeContextCurrent( Display *dpy, GLXDrawable draw,
 
290
                                   GLXDrawable read, GLXContext ctx );
 
291
 
 
292
extern GLXDrawable glXGetCurrentReadDrawable( void );
 
293
 
 
294
extern int glXQueryContext( Display *dpy, GLXContext ctx, int attribute,
 
295
                            int *value );
 
296
 
 
297
extern void glXSelectEvent( Display *dpy, GLXDrawable drawable,
 
298
                            unsigned long mask );
 
299
 
 
300
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
 
301
                                 unsigned long *mask );
 
302
 
 
303
/* GLX 1.3 function pointer typedefs */
 
304
typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
 
305
typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
 
306
typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
 
307
typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
 
308
typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
 
309
typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
 
310
typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
 
311
typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
 
312
typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
 
313
typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
 
314
typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
 
315
typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
 
316
typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
 
317
typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
 
318
typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void);
 
319
typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
 
320
typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
 
321
typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
 
322
 
 
323
 
 
324
/*
 
325
 * ARB 2. GLX_ARB_get_proc_address
 
326
 */
 
327
#ifndef GLX_ARB_get_proc_address
 
328
#define GLX_ARB_get_proc_address 1
 
329
 
 
330
typedef void (*__GLXextFuncPtr)(void);
 
331
extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
 
332
 
 
333
#endif /* GLX_ARB_get_proc_address */
 
334
 
 
335
 
 
336
 
 
337
/* GLX 1.4 and later */
 
338
extern void (*glXGetProcAddress(const GLubyte *procname))( void );
 
339
 
 
340
/* GLX 1.4 function pointer typedefs */
 
341
typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
 
342
 
 
343
 
 
344
#ifndef GLX_GLXEXT_LEGACY
 
345
 
 
346
#include <GL/glxext.h>
 
347
 
 
348
#endif /* GLX_GLXEXT_LEGACY */
 
349
 
 
350
 
 
351
/**
 
352
 ** The following aren't in glxext.h yet.
 
353
 **/
 
354
 
 
355
 
 
356
/*
 
357
 * ???. GLX_NV_vertex_array_range
 
358
 */
 
359
#ifndef GLX_NV_vertex_array_range
 
360
#define GLX_NV_vertex_array_range
 
361
 
 
362
extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
 
363
extern void glXFreeMemoryNV(GLvoid *pointer);
 
364
typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
 
365
typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
 
366
 
 
367
#endif /* GLX_NV_vertex_array_range */
 
368
 
 
369
 
 
370
/*
 
371
 * ARB ?. GLX_ARB_render_texture
 
372
 * XXX This was never finalized!
 
373
 */
 
374
#ifndef GLX_ARB_render_texture
 
375
#define GLX_ARB_render_texture 1
 
376
 
 
377
extern Bool glXBindTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
 
378
extern Bool glXReleaseTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
 
379
extern Bool glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attribList);
 
380
 
 
381
#endif /* GLX_ARB_render_texture */
 
382
 
 
383
 
 
384
/*
 
385
 * Remove this when glxext.h is updated.
 
386
 */
 
387
#ifndef GLX_NV_float_buffer
 
388
#define GLX_NV_float_buffer 1
 
389
 
 
390
#define GLX_FLOAT_COMPONENTS_NV         0x20B0
 
391
 
 
392
#endif /* GLX_NV_float_buffer */
 
393
 
 
394
 
 
395
 
 
396
/*
 
397
 * #?. GLX_MESA_swap_frame_usage
 
398
 */
 
399
#ifndef GLX_MESA_swap_frame_usage
 
400
#define GLX_MESA_swap_frame_usage 1
 
401
 
 
402
extern int glXGetFrameUsageMESA(Display *dpy, GLXDrawable drawable, float *usage);
 
403
extern int glXBeginFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
 
404
extern int glXEndFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
 
405
extern int glXQueryFrameTrackingMESA(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
 
406
 
 
407
typedef int (*PFNGLXGETFRAMEUSAGEMESAPROC) (Display *dpy, GLXDrawable drawable, float *usage);
 
408
typedef int (*PFNGLXBEGINFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
 
409
typedef int (*PFNGLXENDFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
 
410
typedef int (*PFNGLXQUERYFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
 
411
 
 
412
#endif /* GLX_MESA_swap_frame_usage */
 
413
 
 
414
 
 
415
 
 
416
/*
 
417
 * #?. GLX_MESA_swap_control
 
418
 */
 
419
#ifndef GLX_MESA_swap_control
 
420
#define GLX_MESA_swap_control 1
 
421
 
 
422
extern int glXSwapIntervalMESA(unsigned int interval);
 
423
extern int glXGetSwapIntervalMESA(void);
 
424
 
 
425
typedef int (*PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
 
426
typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
 
427
 
 
428
#endif /* GLX_MESA_swap_control */
 
429
 
 
430
 
 
431
 
 
432
/*
 
433
 * #?. GLX_EXT_texture_from_pixmap
 
434
 * XXX not finished?
 
435
 */
 
436
#ifndef GLX_EXT_texture_from_pixmap
 
437
#define GLX_EXT_texture_from_pixmap 1
 
438
 
 
439
#define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
 
440
#define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
 
441
#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
 
442
#define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
 
443
#define GLX_Y_INVERTED_EXT                 0x20D4
 
444
 
 
445
#define GLX_TEXTURE_FORMAT_EXT             0x20D5
 
446
#define GLX_TEXTURE_TARGET_EXT             0x20D6
 
447
#define GLX_MIPMAP_TEXTURE_EXT             0x20D7
 
448
 
 
449
#define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
 
450
#define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
 
451
#define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
 
452
 
 
453
#define GLX_TEXTURE_1D_BIT_EXT             0x00000001
 
454
#define GLX_TEXTURE_2D_BIT_EXT             0x00000002
 
455
#define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
 
456
 
 
457
#define GLX_TEXTURE_1D_EXT                 0x20DB
 
458
#define GLX_TEXTURE_2D_EXT                 0x20DC
 
459
#define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
 
460
 
 
461
#define GLX_FRONT_LEFT_EXT                 0x20DE
 
462
#define GLX_FRONT_RIGHT_EXT                0x20DF
 
463
#define GLX_BACK_LEFT_EXT                  0x20E0
 
464
#define GLX_BACK_RIGHT_EXT                 0x20E1
 
465
#define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
 
466
#define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
 
467
#define GLX_AUX0_EXT                       0x20E2
 
468
#define GLX_AUX1_EXT                       0x20E3 
 
469
#define GLX_AUX2_EXT                       0x20E4 
 
470
#define GLX_AUX3_EXT                       0x20E5 
 
471
#define GLX_AUX4_EXT                       0x20E6 
 
472
#define GLX_AUX5_EXT                       0x20E7 
 
473
#define GLX_AUX6_EXT                       0x20E8
 
474
#define GLX_AUX7_EXT                       0x20E9 
 
475
#define GLX_AUX8_EXT                       0x20EA 
 
476
#define GLX_AUX9_EXT                       0x20EB
 
477
 
 
478
extern void glXBindTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
 
479
extern void glXReleaseTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer);
 
480
 
 
481
#endif /* GLX_EXT_texture_from_pixmap */
 
482
 
 
483
 
 
484
 
 
485
 
 
486
/*** Should these go here, or in another header? */
 
487
/*
 
488
** GLX Events
 
489
*/
 
490
typedef struct {
 
491
    int event_type;             /* GLX_DAMAGED or GLX_SAVED */
 
492
    int draw_type;              /* GLX_WINDOW or GLX_PBUFFER */
 
493
    unsigned long serial;       /* # of last request processed by server */
 
494
    Bool send_event;            /* true if this came for SendEvent request */
 
495
    Display *display;           /* display the event was read from */
 
496
    GLXDrawable drawable;       /* XID of Drawable */
 
497
    unsigned int buffer_mask;   /* mask indicating which buffers are affected */
 
498
    unsigned int aux_buffer;    /* which aux buffer was affected */
 
499
    int x, y;
 
500
    int width, height;
 
501
    int count;                  /* if nonzero, at least this many more */
 
502
} GLXPbufferClobberEvent;
 
503
 
 
504
typedef struct {
 
505
    int type;
 
506
    unsigned long serial;       /* # of last request processed by server */
 
507
    Bool send_event;            /* true if this came from a SendEvent request */
 
508
    Display *display;           /* Display the event was read from */
 
509
    GLXDrawable drawable;       /* drawable on which event was requested in event mask */
 
510
    int event_type;
 
511
    int64_t ust;
 
512
    int64_t msc;
 
513
    int64_t sbc;
 
514
} GLXBufferSwapComplete;
 
515
 
 
516
typedef union __GLXEvent {
 
517
    GLXPbufferClobberEvent glxpbufferclobber;
 
518
    GLXBufferSwapComplete glxbufferswapcomplete;
 
519
    long pad[24];
 
520
} GLXEvent;
 
521
 
 
522
#ifdef __cplusplus
 
523
}
 
524
#endif
 
525
 
 
526
#endif