glxext.h revision 4eb803975d5c724f0c5c3c6aad4d6afa3d30571b
1fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef __glxext_h_ 2fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define __glxext_h_ 3fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 4fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus 5fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern "C" { 6fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 7fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 8fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* 9f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick** Copyright (c) 2007-2010 The Khronos Group Inc. 10fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul** 11344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** Permission is hereby granted, free of charge, to any person obtaining a 12344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** copy of this software and/or associated documentation files (the 13344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** "Materials"), to deal in the Materials without restriction, including 14344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** without limitation the rights to use, copy, modify, merge, publish, 15344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** distribute, sublicense, and/or sell copies of the Materials, and to 16344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** permit persons to whom the Materials are furnished to do so, subject to 17344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** the following conditions: 18fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul** 19344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** The above copyright notice and this permission notice shall be included 20344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** in all copies or substantial portions of the Materials. 21fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul** 22344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 25344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 26344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 27344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul*/ 30fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 3139bf48f281a81fc24a6de00cec243672df2be653Brian Paul/* Function declaration macros - to move into glplatform.h */ 3239bf48f281a81fc24a6de00cec243672df2be653Brian Paul 336ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) 34fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define WIN32_LEAN_AND_MEAN 1 35fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#include <windows.h> 36fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 37fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 38fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef APIENTRY 39fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define APIENTRY 40fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef APIENTRYP 426ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define APIENTRYP APIENTRY * 436ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 44e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLAPI 45e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLAPI extern 46e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif 47fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 48fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/ 49fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 50fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* Header file version number, required by OpenGL ABI for Linux */ 51f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick/* glxext.h last updated 2010/02/10 */ 523cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Current version at http://www.opengl.org/registry/ */ 53f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_GLXEXT_VERSION 27 54fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 55fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3 56fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT 0x00000001 57fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT 0x00000002 58fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT 0x00000004 59fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT 0x00000001 60fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT 0x00000002 61fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_CLOBBER_MASK 0x08000000 62fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 63fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 64fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 65fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 66fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT 0x00000010 67fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT 0x00000020 68fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT 0x00000040 69fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT 0x00000080 70fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_CONFIG_CAVEAT 0x20 71fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE 0x22 72fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE 0x23 73fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE 0x24 74fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE 0x25 75fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE 0x26 76fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE 0x27 77fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 78fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DONT_CARE 0xFFFFFFFF 79fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE 0x8000 80fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_CONFIG 0x8001 81fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR 0x8002 82fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR 0x8003 83fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR 0x8004 84fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR 0x8005 85fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE 0x8006 86fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY 0x8007 87fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB 0x8008 88fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX 0x8009 89fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID 0x800B 90fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN 0x800C 91fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_CONFIG 0x800D 92fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE 0x8010 93fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE 0x8011 94fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE 0x8012 95fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID 0x8013 96fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE 0x8014 97fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE 0x8015 98fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH 0x8016 99fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT 0x8017 100fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS 0x8018 101fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS 0x801B 102fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER 0x801C 103fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH 0x801D 104fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT 0x801E 105fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK 0x801F 106fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED 0x8020 107fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED 0x8021 108fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW 0x8022 109fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER 0x8023 110fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_HEIGHT 0x8040 111fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_WIDTH 0x8041 112fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 113fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 1143d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_VERSION_1_4 1153d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLE_BUFFERS 100000 1163d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLES 100001 1173d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 1183d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 119e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_get_proc_address 120e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif 121e3af5354a6090666a03586693865fd0d51d994d0Brian Paul 1223d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_ARB_multisample 1233d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLE_BUFFERS_ARB 100000 1243d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLES_ARB 100001 1253d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 1263d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 1274eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul#ifndef GLX_ARB_vertex_buffer_object 1284eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 1294eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul#endif 1304eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul 1313cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float 1323cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9 1333cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004 1343cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 1353cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 136f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context 137f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001 138f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 139f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 140f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 141f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FLAGS_ARB 0x2094 142f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif 143f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul 14439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile 14539bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 14639bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 14739bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 14839bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif 14939bf48f281a81fc24a6de00cec243672df2be653Brian Paul 1502a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#ifndef GLX_SGIS_multisample 1512a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLE_BUFFERS_SGIS 100000 1522a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLES_SGIS 100001 1532a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#endif 1542a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul 155fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info 156fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE_EXT 0x22 157fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE_EXT 0x23 158fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 159fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 160fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 161fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 162fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 163fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE_EXT 0x8000 164fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR_EXT 0x8002 165fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR_EXT 0x8003 166fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR_EXT 0x8004 167fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR_EXT 0x8005 168fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE_EXT 0x8006 169fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY_EXT 0x8007 170fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB_EXT 0x8008 171fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_EXT 0x8009 172fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 173fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 174fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control 175fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 176fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 177fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync 178fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 179fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 180fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read 181fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 182fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 183fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source 184fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 185fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 186fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating 187fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_CAVEAT_EXT 0x20 188fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_VISUAL_EXT 0x8001 189fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D 190fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_NONE_EXT */ 191fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 192fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 193fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context 194fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SHARE_CONTEXT_EXT 0x800A 195fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID_EXT 0x800B 196fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN_EXT 0x800C 197fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 198fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 199fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig 200fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT_SGIX 0x00000001 201fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT_SGIX 0x00000002 202fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT_SGIX 0x00000001 203fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 204fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE_SGIX 0x8010 205fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE_SGIX 0x8011 206fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE_SGIX 0x8012 207fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID_SGIX 0x8013 208fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE_SGIX 0x8014 209fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 210fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_SCREEN_EXT */ 211fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 212fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 213fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer 214fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT_SGIX 0x00000004 215fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 216fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 217fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 218fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 219fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 220fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 221fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 222fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 223fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 224fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 225fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 226fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 227fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 228fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 229fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A 230fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS_SGIX 0x801B 231fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER_SGIX 0x801C 232fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH_SGIX 0x801D 233fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT_SGIX 0x801E 234fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK_SGIX 0x801F 235fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED_SGIX 0x8020 236fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED_SGIX 0x8021 237fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_SGIX 0x8022 238fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_SGIX 0x8023 239fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 240fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 241fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion 242fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 243fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 244fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize 245fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_FRAME_SGIX 0x00000000 246fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_SWAP_SGIX 0x00000001 247fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 248fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 249fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer 250fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX 0x8024 251fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 252fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 253fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group 254fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 255fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 256fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier 257fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 258fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 259fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_blended_overlay 260fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BLENDED_RGBA_SGIS 0x8025 261fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 262fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 263fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_shared_multisample 264fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 265fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 266fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 267fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 268fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index 269fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 270fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 271fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_3DFX_multisample 272fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 273fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLES_3DFX 0x8051 274fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 275fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 276fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer 277fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 278fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 279fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap 280fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 281fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 282fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers 283fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 284fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 285fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode 286fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_WINDOW_MODE_MESA 0x1 287fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 288fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 289fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 2903d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group 2913d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 2923d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 2933d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 2943d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_swap_method 2953d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_METHOD_OML 0x8060 2963d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_EXCHANGE_OML 0x8061 2973d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_COPY_OML 0x8062 2983d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_UNDEFINED_OML 0x8063 2993d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 3003d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 3013d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_sync_control 3023d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 3033d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 3043cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer 3053cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_FLOAT_COMPONENTS_NV 0x20B0 3063cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 3073cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 3083cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe 3096ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 3106ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 3116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_SGIX 92 3126ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 3136ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 3146ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_SGIX 0x00000001 3156ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 3166ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 3176ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 3186ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_ID_SGIX 0x8030 3196ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 3206ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 3216ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset 3226ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 3236ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 32445b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float 32545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 32645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 32745b1f169b420dee39700d0337c2bc451158618e7Brian#endif 32845b1f169b420dee39700d0337c2bc451158618e7Brian 32945b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB 33045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 33145b1f169b420dee39700d0337c2bc451158618e7Brian#endif 33245b1f169b420dee39700d0337c2bc451158618e7Brian 33345b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap 33445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 33545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 33645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 33745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 33845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 33945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 34045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 34145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_Y_INVERTED_EXT 0x20D4 34245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_EXT 0x20D5 34345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_TARGET_EXT 0x20D6 34445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 34545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 34645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 34745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA 34845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_EXT 0x20DB 34945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_EXT 0x20DC 35045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD 35145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_LEFT_EXT 0x20DE 35245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_RIGHT_EXT 0x20DF 35345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_LEFT_EXT 0x20E0 35445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_RIGHT_EXT 0x20E1 35545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT 35645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_EXT GLX_BACK_LEFT_EXT 35745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX0_EXT 0x20E2 35845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX1_EXT 0x20E3 35945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX2_EXT 0x20E4 36045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX3_EXT 0x20E5 36145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX4_EXT 0x20E6 36245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX5_EXT 0x20E7 36345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX6_EXT 0x20E8 36445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX7_EXT 0x20E9 36545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX8_EXT 0x20EA 36645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX9_EXT 0x20EB 36745b1f169b420dee39700d0337c2bc451158618e7Brian#endif 36845b1f169b420dee39700d0337c2bc451158618e7Brian 369d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video 3703efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 371d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 372d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 373d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_video_out 3743efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 3753efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 3763efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 3773efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 3783efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 3793efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 3803efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 3813efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA 3823efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB 3833efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC 384d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 385d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 386d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group 387d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 388d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 389559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture 390559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_DEVICE_ID_NV 0x20CD 391559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_UNIQUE_ID_NV 0x20CE 392559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF 393559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 394559da98c2be577d918a847080b78033947a1767aBrian Paul 395559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control 396559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_SWAP_INTERVAL_EXT 0x20F1 397559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 398559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 399559da98c2be577d918a847080b78033947a1767aBrian Paul 400559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image 401559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 402559da98c2be577d918a847080b78033947a1767aBrian Paul 403f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event 404f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000 405f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180 406f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_COPY_COMPLETE_INTEL 0x8181 407f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_FLIP_COMPLETE_INTEL 0x8182 408f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif 409f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick 410fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 411fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/ 412fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 413fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address 414b95884c53de33bdd6ec843a8ddd7243cfb93a208Brian Paultypedef void (*__GLXextFuncPtr)(void); 415fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 416fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 417fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source 418fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXVideoSourceSGIX; 419fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 420fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 421fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig 422fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXFBConfigIDSGIX; 423fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfigSGIX; 424fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 425fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 426fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer 427fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXPbufferSGIX; 428fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct { 429fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int type; 430fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul unsigned long serial; /* # of last request processed by server */ 431fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul Bool send_event; /* true if this came for SendEvent request */ 432fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul Display *display; /* display the event was read from */ 433fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul GLXDrawable drawable; /* i.d. of Drawable */ 434fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ 435fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ 436fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul unsigned int mask; /* mask indicating which buffers are affected*/ 437fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int x, y; 438fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int width, height; 439fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int count; /* if nonzero, at least this many more */ 440fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} GLXBufferClobberEventSGIX; 441fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 442fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 443559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output 444559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int GLXVideoDeviceNV; 445559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 446559da98c2be577d918a847080b78033947a1767aBrian Paul 447559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture 448559da98c2be577d918a847080b78033947a1767aBrian Paultypedef XID GLXVideoCaptureDeviceNV; 449559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 450559da98c2be577d918a847080b78033947a1767aBrian Paul 4513cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLEXT_64_TYPES_DEFINED 452b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz/* This code block is duplicated in glext.h, so must be protected */ 4533cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLEXT_64_TYPES_DEFINED 4543cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ 4553cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* (as used in the GLX_OML_sync_control extension). */ 4563cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 4573cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h> 458967c1056d5e86231e4a545a748973e1123cd19c1Brian#elif defined(__sun__) || defined(__digital__) 4599f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#include <inttypes.h> 4609f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#if defined(__STDC__) 461b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#if defined(__arch64__) || defined(_LP64) 4629f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanicktypedef long int int64_t; 4633cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long int uint64_t; 4649f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#else 4653cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t; 4663cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t; 4679f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __arch64__ */ 4689f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __STDC__ */ 469b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#elif defined( __VMS ) || defined(__sgi) 470538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#include <inttypes.h> 471538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#elif defined(__SCO__) || defined(__USLC__) 47238b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#include <stdint.h> 4733cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#elif defined(__UNIXOS2__) || defined(__SOL64__) 4743cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long int int32_t; 4753cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t; 4763cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t; 47745b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) && defined(__GNUC__) 478160b3284dd3cdad106ad9aebf5fed7e9ff7b142bBrian Paul#include <stdint.h> 47945b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) 48045b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int32 int32_t; 48145b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int64 int64_t; 48245b1f169b420dee39700d0337c2bc451158618e7Briantypedef unsigned __int64 uint64_t; 4833cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#else 4843cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h> /* Fallback option */ 4853cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 48638b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#endif 48738b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane 488fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3 489fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VERSION_1_3 1 490fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 491f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXGetFBConfigs (Display *dpy, int screen, int *nelements); 492f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXChooseFBConfig (Display *dpy, int screen, const int *attrib_list, int *nelements); 493f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttrib (Display *dpy, GLXFBConfig config, int attribute, int *value); 494f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfig (Display *dpy, GLXFBConfig config); 495f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXWindow glXCreateWindow (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 496f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyWindow (Display *dpy, GLXWindow win); 497f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreatePixmap (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 498f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPixmap (Display *dpy, GLXPixmap pixmap); 499f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbuffer glXCreatePbuffer (Display *dpy, GLXFBConfig config, const int *attrib_list); 500f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPbuffer (Display *dpy, GLXPbuffer pbuf); 501f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXQueryDrawable (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 502f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateNewContext (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 503f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 504fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawable (void); 505fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplay (void); 506f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContext (Display *dpy, GLXContext ctx, int attribute, int *value); 507f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEvent (Display *dpy, GLXDrawable draw, unsigned long event_mask); 508f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEvent (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 509fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 510fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); 511fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); 512fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); 513fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); 514fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 515fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); 516fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 517fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); 518fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); 519fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); 520fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 521fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 522fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 523fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); 524fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void); 525fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); 526fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); 527fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 528fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 529fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 530e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_VERSION_1_4 531e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_VERSION_1_4 1 532e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 533f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName); 534e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 535e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName); 536e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif 537e3af5354a6090666a03586693865fd0d51d994d0Brian Paul 538fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address 539fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ARB_get_proc_address 1 540fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 541f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName); 542fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 543fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName); 544fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 545fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 546e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_multisample 547e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_ARB_multisample 1 548e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif 549e3af5354a6090666a03586693865fd0d51d994d0Brian Paul 5503cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float 5513cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_ARB_fbconfig_float 1 5523cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 5533cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 554f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context 555f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_ARB_create_context 1 556f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 557f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextAttribsARB (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); 558f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 559f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); 560f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif 561f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul 56239bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile 56339bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_ARB_create_context_profile 1 56439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif 56539bf48f281a81fc24a6de00cec243672df2be653Brian Paul 566fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_multisample 567fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIS_multisample 1 568fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 569fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 570fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info 571fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_info 1 572fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 573fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 574fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control 575fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_swap_control 1 576fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 577f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSwapIntervalSGI (int interval); 578fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 579fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); 580fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 581fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 582fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync 583fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_video_sync 1 584fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 585f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoSyncSGI (unsigned int *count); 586f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int *count); 587fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 588fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count); 589fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count); 590fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 591fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 592fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read 593fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_make_current_read 1 594fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 595f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 596fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawableSGI (void); 597fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 598fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 599fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); 600fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 601fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 602fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source 603fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_source 1 6046ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _VL_H 605fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 606f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); 607f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXVideoSourceSGIX (Display *dpy, GLXVideoSourceSGIX glxvideosource); 608fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 609fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); 610fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource); 6116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _VL_H */ 612fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 613fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 614fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating 615fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_rating 1 616fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 617fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 618fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context 619fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_import_context 1 620fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 621fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplayEXT (void); 622f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContextInfoEXT (Display *dpy, GLXContext context, int attribute, int *value); 623f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContextID glXGetContextIDEXT (const GLXContext context); 624f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID); 625f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXFreeContextEXT (Display *dpy, GLXContext context); 626fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 627fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void); 628fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value); 629e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); 630fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID); 631fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context); 632fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 633fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 634fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig 635fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_fbconfig 1 636fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 637f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttribSGIX (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); 638f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *dpy, int screen, int *attrib_list, int *nelements); 639f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); 640f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); 641f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *dpy, GLXFBConfigSGIX config); 642f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *dpy, XVisualInfo *vis); 643fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 644fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); 645fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements); 646fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); 647fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); 648fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config); 649fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis); 650fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 651fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 652fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer 653fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_pbuffer 1 654fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 655f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); 656f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf); 657f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); 658f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long mask); 659f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long *mask); 660fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 661fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); 662fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf); 663fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); 664fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask); 665fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask); 666fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 667fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 668fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion 669fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_cushion 1 670fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 671f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCushionSGI (Display *dpy, Window window, float cushion); 672fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 673fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion); 674fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 675fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 676fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize 677fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_resize 1 678fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 679f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindChannelToWindowSGIX (Display *display, int screen, int channel, Window window); 680f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSGIX (Display *display, int screen, int channel, int x, int y, int w, int h); 681f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelRectSGIX (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 682f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelDeltasSGIX (Display *display, int screen, int channel, int *x, int *y, int *w, int *h); 683f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSyncSGIX (Display *display, int screen, int channel, GLenum synctype); 684fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 685fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window); 686fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h); 687fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 688fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h); 689fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype); 690fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 691fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 692fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer 693fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_dmbuffer 1 6946ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _DM_BUFFER_H_ 695fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 696f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXAssociateDMPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); 697fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 698fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); 6996ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _DM_BUFFER_H_ */ 700fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 701fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 702fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group 703fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_group 1 704fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 705f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member); 706fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 707fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); 708fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 709fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 710fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier 711fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_barrier 1 712fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 713f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier); 714f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max); 715fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 716fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); 717fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); 718fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 719fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 720fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index 721fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SUN_get_transparent_index 1 722fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 723f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Status glXGetTransparentIndexSUN (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex); 724fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 725fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex); 726fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 727fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 728fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer 729fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_copy_sub_buffer 1 730fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 731f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCopySubBufferMESA (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); 732fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 733fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); 734fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 735fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 736fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap 737fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_pixmap_colormap 1 738fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 739f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); 740fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 741fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); 742fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 743fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 744fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers 745fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_release_buffers 1 746fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 747f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXReleaseBuffersMESA (Display *dpy, GLXDrawable drawable); 748fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 749fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable); 750fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 751fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 752fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode 753fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_set_3dfx_mode 1 754fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 755f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXSet3DfxModeMESA (int mode); 756fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 757fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode); 758fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 759fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 7603d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group 7613d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SGIX_visual_select_group 1 7623d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 7633d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 764e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_OML_swap_method 765e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_OML_swap_method 1 7663d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 7673d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 7686ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_OML_sync_control 7696ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_OML_sync_control 1 770e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 771f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetSyncValuesOML (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc); 772f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetMscRateOML (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator); 773f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int64_t glXSwapBuffersMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); 774f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXWaitForMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc); 775f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXWaitForSbcOML (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc); 776e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 777e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc); 778e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator); 779e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); 780e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc); 781e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc); 7826ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 7836ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 7843cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer 7853cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_NV_float_buffer 1 7863cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 7873cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 7883cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe 7893cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_SGIX_hyperpipe 1 7906ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 7916ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 7926ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 7936ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int networkId; 7946ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeNetworkSGIX; 7956ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 7966ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 7976ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 7986ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int channel; 7996ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul unsigned int 8006ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul participationType; 8016ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int timeSlice; 8026ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeConfigSGIX; 8036ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8046ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 8056ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 8066ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int srcXOrigin, srcYOrigin, srcWidth, srcHeight; 8076ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int destXOrigin, destYOrigin, destWidth, destHeight; 8086ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRect; 8096ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8106ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 8116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 8126ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int XOrigin, YOrigin, maxHeight, maxWidth; 8136ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRectLimits; 8146ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8156ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 816f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeNetworkSGIX * glXQueryHyperpipeNetworkSGIX (Display *dpy, int *npipes); 817f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeConfigSGIX (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); 818f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeConfigSGIX * glXQueryHyperpipeConfigSGIX (Display *dpy, int hpId, int *npipes); 819f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXDestroyHyperpipeConfigSGIX (Display *dpy, int hpId); 820f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindHyperpipeSGIX (Display *dpy, int hpId); 821f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeBestAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); 822f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList); 823f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); 8246ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 8256ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes); 8266ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); 8276ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes); 8286ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId); 8296ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId); 8306ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); 8316ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList); 8326ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); 8336ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 8346ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8356ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset 8366ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_MESA_agp_offset 1 8376ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 838f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int glXGetAGPOffsetMESA (const void *pointer); 8396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 8406ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer); 8416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 8426ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 84345b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float 84445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_fbconfig_packed_float 1 84545b1f169b420dee39700d0337c2bc451158618e7Brian#endif 84645b1f169b420dee39700d0337c2bc451158618e7Brian 84745b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB 84845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_framebuffer_sRGB 1 84945b1f169b420dee39700d0337c2bc451158618e7Brian#endif 85045b1f169b420dee39700d0337c2bc451158618e7Brian 85145b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap 85245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_texture_from_pixmap 1 85345b1f169b420dee39700d0337c2bc451158618e7Brian#ifdef GLX_GLXEXT_PROTOTYPES 854f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list); 855f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer); 85645b1f169b420dee39700d0337c2bc451158618e7Brian#endif /* GLX_GLXEXT_PROTOTYPES */ 85745b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list); 85845b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer); 85945b1f169b420dee39700d0337c2bc451158618e7Brian#endif 86045b1f169b420dee39700d0337c2bc451158618e7Brian 861d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video 862d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_present_video 1 863559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 864f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int * glXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements); 865f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); 866559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 867559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements); 868559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); 869d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 870d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 871559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output 872559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_output 1 873559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 874f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoDeviceNV (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); 875f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoDeviceNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice); 876f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoImageNV (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); 877f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoImageNV (Display *dpy, GLXPbuffer pbuf); 878f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSendPbufferToVideoNV (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); 879f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoInfoNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 880559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 881559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); 882559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice); 883559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); 884559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf); 885559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); 886559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 887d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 888d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 889d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group 890d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_swap_group 1 891559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 892f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXJoinSwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint group); 893f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXBindSwapBarrierNV (Display *dpy, GLuint group, GLuint barrier); 894f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQuerySwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); 895f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapGroupsNV (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); 896f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryFrameCountNV (Display *dpy, int screen, GLuint *count); 897f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXResetFrameCountNV (Display *dpy, int screen); 898559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 899559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group); 900559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier); 901559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); 902559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); 903559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count); 904559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen); 905559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 906559da98c2be577d918a847080b78033947a1767aBrian Paul 907559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture 908559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_capture 1 909559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 910f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); 911f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoCaptureDeviceNV * glXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements); 912f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device); 913f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value); 914f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device); 915559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 916559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); 917559da98c2be577d918a847080b78033947a1767aBrian Paultypedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements); 918559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device); 919559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value); 920559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device); 921559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 922559da98c2be577d918a847080b78033947a1767aBrian Paul 923559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control 924559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_EXT_swap_control 1 925559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 926f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSwapIntervalEXT (Display *dpy, GLXDrawable drawable, int interval); 927559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 928559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval); 929559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 930559da98c2be577d918a847080b78033947a1767aBrian Paul 931559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image 932559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_copy_image 1 933559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 934f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); 935559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 936559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); 937d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 938d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 939f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event 940f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_INTEL_swap_event 1 941f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif 942f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick 9433cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 944fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus 945fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} 946fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 947fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 948fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 949