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/* 952dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul** Copyright (c) 2007-2012 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 */ 5152dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul/* glxext.h last updated 2012/02/29 */ 523cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Current version at http://www.opengl.org/registry/ */ 5352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#define GLX_GLXEXT_VERSION 33 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 136b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_framebuffer_sRGB 137b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2 138b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 139b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 140f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context 141f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001 142f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 143f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 144f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 145f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FLAGS_ARB 0x2094 146f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif 147f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul 14839bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile 14939bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 15039bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 15139bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 15239bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif 15339bf48f281a81fc24a6de00cec243672df2be653Brian Paul 154b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_create_context_robustness 155b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 156b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252 157b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 158b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261 159b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 160b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 1612a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#ifndef GLX_SGIS_multisample 1622a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLE_BUFFERS_SGIS 100000 1632a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLES_SGIS 100001 1642a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#endif 1652a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul 166fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info 167fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE_EXT 0x22 168fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE_EXT 0x23 169fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 170fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 171fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 172fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 173fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 174fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE_EXT 0x8000 175fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR_EXT 0x8002 176fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR_EXT 0x8003 177fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR_EXT 0x8004 178fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR_EXT 0x8005 179fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE_EXT 0x8006 180fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY_EXT 0x8007 181fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB_EXT 0x8008 182fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_EXT 0x8009 183fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 184fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 185fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control 186fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 187fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 188fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync 189fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 190fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 191fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read 192fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 193fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 194fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source 195fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 196fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 197fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating 198fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_CAVEAT_EXT 0x20 199fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_VISUAL_EXT 0x8001 200fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D 201fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_NONE_EXT */ 202fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 203fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 204fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context 205fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SHARE_CONTEXT_EXT 0x800A 206fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID_EXT 0x800B 207fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN_EXT 0x800C 208fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 209fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 210fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig 211fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT_SGIX 0x00000001 212fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT_SGIX 0x00000002 213fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT_SGIX 0x00000001 214fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 215fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE_SGIX 0x8010 216fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE_SGIX 0x8011 217fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE_SGIX 0x8012 218fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID_SGIX 0x8013 219fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE_SGIX 0x8014 220fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 221fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_SCREEN_EXT */ 222fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 223fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 224fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer 225fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT_SGIX 0x00000004 226fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 227fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 228fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 229fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 230fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 231fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 232fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 233fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 234fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 235fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 236fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 237fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 238fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 239fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 240fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A 241fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS_SGIX 0x801B 242fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER_SGIX 0x801C 243fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH_SGIX 0x801D 244fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT_SGIX 0x801E 245fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK_SGIX 0x801F 246fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED_SGIX 0x8020 247fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED_SGIX 0x8021 248fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_SGIX 0x8022 249fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_SGIX 0x8023 250fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 251fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 252fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion 253fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 254fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 255fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize 256fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_FRAME_SGIX 0x00000000 257fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_SWAP_SGIX 0x00000001 258fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 259fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 260fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer 261fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX 0x8024 262fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 263fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 264fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group 265fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 266fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 267fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier 268fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 269fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 270fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_blended_overlay 271fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BLENDED_RGBA_SGIS 0x8025 272fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 273fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 274fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_shared_multisample 275fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 276fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 277fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 278fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 279fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index 280fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 281fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 282fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_3DFX_multisample 283fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 284fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLES_3DFX 0x8051 285fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 286fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 287fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer 288fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 289fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 290fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap 291fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 292fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 293fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers 294fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 295fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 296fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode 297fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_WINDOW_MODE_MESA 0x1 298fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 299fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 300fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 3013d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group 3023d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 3033d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 3043d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 3053d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_swap_method 3063d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_METHOD_OML 0x8060 3073d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_EXCHANGE_OML 0x8061 3083d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_COPY_OML 0x8062 3093d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_UNDEFINED_OML 0x8063 3103d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 3113d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 3123d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_sync_control 3133d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 3143d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 3153cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer 3163cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_FLOAT_COMPONENTS_NV 0x20B0 3173cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 3183cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 3193cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe 3206ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 3216ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 3226ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_SGIX 92 3236ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 3246ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 3256ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_SGIX 0x00000001 3266ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 3276ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 3286ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 3296ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_ID_SGIX 0x8030 3306ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 3316ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 3326ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset 3336ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 3346ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 33545b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float 33645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 33745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 33845b1f169b420dee39700d0337c2bc451158618e7Brian#endif 33945b1f169b420dee39700d0337c2bc451158618e7Brian 34045b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB 34145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 34245b1f169b420dee39700d0337c2bc451158618e7Brian#endif 34345b1f169b420dee39700d0337c2bc451158618e7Brian 34445b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap 34545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 34645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 34745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 34845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 34945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 35045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 35145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 35245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_Y_INVERTED_EXT 0x20D4 35345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_EXT 0x20D5 35445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_TARGET_EXT 0x20D6 35545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 35645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 35745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 35845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA 35945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_EXT 0x20DB 36045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_EXT 0x20DC 36145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD 36245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_LEFT_EXT 0x20DE 36345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_RIGHT_EXT 0x20DF 36445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_LEFT_EXT 0x20E0 36545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_RIGHT_EXT 0x20E1 36645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT 36745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_EXT GLX_BACK_LEFT_EXT 36845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX0_EXT 0x20E2 36945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX1_EXT 0x20E3 37045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX2_EXT 0x20E4 37145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX3_EXT 0x20E5 37245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX4_EXT 0x20E6 37345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX5_EXT 0x20E7 37445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX6_EXT 0x20E8 37545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX7_EXT 0x20E9 37645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX8_EXT 0x20EA 37745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX9_EXT 0x20EB 37845b1f169b420dee39700d0337c2bc451158618e7Brian#endif 37945b1f169b420dee39700d0337c2bc451158618e7Brian 380d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video 3813efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 382d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 383d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 384d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_video_out 3853efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 3863efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 3873efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 3883efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 3893efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 3903efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 3913efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 3923efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA 3933efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB 3943efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC 395d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 396d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 397d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group 398d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 399d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 400559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture 401559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_DEVICE_ID_NV 0x20CD 402559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_UNIQUE_ID_NV 0x20CE 403559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF 404559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 405559da98c2be577d918a847080b78033947a1767aBrian Paul 406559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control 407559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_SWAP_INTERVAL_EXT 0x20F1 408559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 409559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 410559da98c2be577d918a847080b78033947a1767aBrian Paul 411559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image 412559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 413559da98c2be577d918a847080b78033947a1767aBrian Paul 414f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event 415f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000 416f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180 417f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_COPY_COMPLETE_INTEL 0x8181 418f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_FLIP_COMPLETE_INTEL 0x8182 419f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif 420f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick 421b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_NV_multisample_coverage 422b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_COVERAGE_SAMPLES_NV 100001 423b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_COLOR_SAMPLES_NV 0x20B3 424b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 425b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 426b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_AMD_gpu_association 427b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_VENDOR_AMD 0x1F00 428b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_RENDERER_STRING_AMD 0x1F01 429b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 430b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 431b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_RAM_AMD 0x21A3 432b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_CLOCK_AMD 0x21A4 433b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_PIPES_AMD 0x21A5 434b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_SIMD_AMD 0x21A6 435b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_RB_AMD 0x21A7 436b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_SPI_AMD 0x21A8 437b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 438b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 439b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_EXT_create_context_es2_profile 440b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 441b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 442b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 44352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#ifndef GLX_EXT_swap_control_tear 44452dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#define GLX_LATE_SWAPS_TEAR_EXT 0x20F3 44552dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#endif 44652dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul 447fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 448fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/ 449fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 450fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address 451b95884c53de33bdd6ec843a8ddd7243cfb93a208Brian Paultypedef void (*__GLXextFuncPtr)(void); 452fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 453fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 454fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source 455fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXVideoSourceSGIX; 456fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 457fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 458fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig 459fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXFBConfigIDSGIX; 460fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfigSGIX; 461fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 462fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 463fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer 464fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXPbufferSGIX; 465fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct { 466fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int type; 467fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul unsigned long serial; /* # of last request processed by server */ 468fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul Bool send_event; /* true if this came for SendEvent request */ 469fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul Display *display; /* display the event was read from */ 470fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul GLXDrawable drawable; /* i.d. of Drawable */ 471fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ 472fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ 473fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul unsigned int mask; /* mask indicating which buffers are affected*/ 474fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int x, y; 475fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int width, height; 476fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul int count; /* if nonzero, at least this many more */ 477fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} GLXBufferClobberEventSGIX; 478fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 479fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 480559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output 481559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int GLXVideoDeviceNV; 482559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 483559da98c2be577d918a847080b78033947a1767aBrian Paul 484559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture 485559da98c2be577d918a847080b78033947a1767aBrian Paultypedef XID GLXVideoCaptureDeviceNV; 486559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 487559da98c2be577d918a847080b78033947a1767aBrian Paul 4883cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLEXT_64_TYPES_DEFINED 489b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz/* This code block is duplicated in glext.h, so must be protected */ 4903cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLEXT_64_TYPES_DEFINED 4913cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ 4923cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* (as used in the GLX_OML_sync_control extension). */ 4933cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 4943cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h> 495967c1056d5e86231e4a545a748973e1123cd19c1Brian#elif defined(__sun__) || defined(__digital__) 4969f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#include <inttypes.h> 4979f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#if defined(__STDC__) 498b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#if defined(__arch64__) || defined(_LP64) 4999f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanicktypedef long int int64_t; 5003cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long int uint64_t; 5019f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#else 5023cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t; 5033cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t; 5049f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __arch64__ */ 5059f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __STDC__ */ 506b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#elif defined( __VMS ) || defined(__sgi) 507538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#include <inttypes.h> 508538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#elif defined(__SCO__) || defined(__USLC__) 50938b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#include <stdint.h> 5103cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#elif defined(__UNIXOS2__) || defined(__SOL64__) 5113cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long int int32_t; 5123cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t; 5133cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t; 51445b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) && defined(__GNUC__) 515160b3284dd3cdad106ad9aebf5fed7e9ff7b142bBrian Paul#include <stdint.h> 51645b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) 51745b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int32 int32_t; 51845b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int64 int64_t; 51945b1f169b420dee39700d0337c2bc451158618e7Briantypedef unsigned __int64 uint64_t; 5203cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#else 5213cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h> /* Fallback option */ 5223cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 52338b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#endif 52438b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane 525fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3 526fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VERSION_1_3 1 527fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 528f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXGetFBConfigs (Display *dpy, int screen, int *nelements); 529f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXChooseFBConfig (Display *dpy, int screen, const int *attrib_list, int *nelements); 530f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttrib (Display *dpy, GLXFBConfig config, int attribute, int *value); 531f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfig (Display *dpy, GLXFBConfig config); 532f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXWindow glXCreateWindow (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 533f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyWindow (Display *dpy, GLXWindow win); 534f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreatePixmap (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 535f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPixmap (Display *dpy, GLXPixmap pixmap); 536f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbuffer glXCreatePbuffer (Display *dpy, GLXFBConfig config, const int *attrib_list); 537f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPbuffer (Display *dpy, GLXPbuffer pbuf); 538f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXQueryDrawable (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 539f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateNewContext (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 540f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 541fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawable (void); 542fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplay (void); 543f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContext (Display *dpy, GLXContext ctx, int attribute, int *value); 544f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEvent (Display *dpy, GLXDrawable draw, unsigned long event_mask); 545f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEvent (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 546fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 547fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); 548fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); 549fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); 550fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); 551fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 552fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); 553fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 554fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); 555fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); 556fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); 557fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 558fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 559fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 560fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); 561fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void); 562fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); 563fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); 564fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 565fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 566fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 567e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_VERSION_1_4 568e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_VERSION_1_4 1 569e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 570f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName); 571e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 572e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName); 573e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif 574e3af5354a6090666a03586693865fd0d51d994d0Brian Paul 575fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address 576fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ARB_get_proc_address 1 577fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 578f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName); 579fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 580fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName); 581fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 582fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 583e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_multisample 584e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_ARB_multisample 1 585e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif 586e3af5354a6090666a03586693865fd0d51d994d0Brian Paul 5873cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float 5883cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_ARB_fbconfig_float 1 5893cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 5903cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 591b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_framebuffer_sRGB 592b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_ARB_framebuffer_sRGB 1 593b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 594b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 595f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context 596f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_ARB_create_context 1 597f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 598f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextAttribsARB (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); 599f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 600f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); 601f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif 602f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul 60339bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile 60439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_ARB_create_context_profile 1 60539bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif 60639bf48f281a81fc24a6de00cec243672df2be653Brian Paul 607b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_create_context_robustness 608b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_ARB_create_context_robustness 1 609b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 610b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 611fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_multisample 612fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIS_multisample 1 613fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 614fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 615fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info 616fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_info 1 617fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 618fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 619fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control 620fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_swap_control 1 621fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 622f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSwapIntervalSGI (int interval); 623fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 624fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); 625fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 626fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 627fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync 628fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_video_sync 1 629fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 630f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoSyncSGI (unsigned int *count); 631f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int *count); 632fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 633fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count); 634fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count); 635fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 636fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 637fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read 638fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_make_current_read 1 639fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 640f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 641fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawableSGI (void); 642fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 643fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 644fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); 645fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 646fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 647fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source 648fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_source 1 6496ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _VL_H 650fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 651f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); 652f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXVideoSourceSGIX (Display *dpy, GLXVideoSourceSGIX glxvideosource); 653fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 654fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode); 655fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource); 6566ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _VL_H */ 657fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 658fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 659fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating 660fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_rating 1 661fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 662fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 663fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context 664fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_import_context 1 665fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 666fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplayEXT (void); 667f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContextInfoEXT (Display *dpy, GLXContext context, int attribute, int *value); 668f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContextID glXGetContextIDEXT (const GLXContext context); 669f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID); 670f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXFreeContextEXT (Display *dpy, GLXContext context); 671fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 672fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void); 673fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value); 674e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); 675fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID); 676fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context); 677fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 678fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 679fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig 680fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_fbconfig 1 681fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 682f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttribSGIX (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); 683f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *dpy, int screen, int *attrib_list, int *nelements); 684f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); 685f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); 686f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *dpy, GLXFBConfigSGIX config); 687f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *dpy, XVisualInfo *vis); 688fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 689fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value); 690fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements); 691fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap); 692fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); 693fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config); 694fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis); 695fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 696fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 697fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer 698fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_pbuffer 1 699fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 700f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); 701f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf); 702f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); 703f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long mask); 704f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long *mask); 705fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 706fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list); 707fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf); 708fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value); 709fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask); 710fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask); 711fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 712fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 713fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion 714fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_cushion 1 715fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 716f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCushionSGI (Display *dpy, Window window, float cushion); 717fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 718fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion); 719fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 720fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 721fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize 722fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_resize 1 723fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 724f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindChannelToWindowSGIX (Display *display, int screen, int channel, Window window); 725f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSGIX (Display *display, int screen, int channel, int x, int y, int w, int h); 726f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelRectSGIX (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 727f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelDeltasSGIX (Display *display, int screen, int channel, int *x, int *y, int *w, int *h); 728f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSyncSGIX (Display *display, int screen, int channel, GLenum synctype); 729fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 730fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window); 731fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h); 732fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); 733fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h); 734fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype); 735fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 736fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 737fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer 738fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_dmbuffer 1 7396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _DM_BUFFER_H_ 740fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 741f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXAssociateDMPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); 742fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 743fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer); 7446ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _DM_BUFFER_H_ */ 745fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 746fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 747fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group 748fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_group 1 749fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 750f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member); 751fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 752fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); 753fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 754fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 755fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier 756fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_barrier 1 757fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 758f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier); 759f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max); 760fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 761fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); 762fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); 763fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 764fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 765fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index 766fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SUN_get_transparent_index 1 767fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 768f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Status glXGetTransparentIndexSUN (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex); 769fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 770fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex); 771fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 772fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 773fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer 774fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_copy_sub_buffer 1 775fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 776f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCopySubBufferMESA (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); 777fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 778fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); 779fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 780fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 781fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap 782fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_pixmap_colormap 1 783fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 784f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); 785fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 786fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); 787fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 788fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 789fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers 790fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_release_buffers 1 791fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 792f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXReleaseBuffersMESA (Display *dpy, GLXDrawable drawable); 793fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 794fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable); 795fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 796fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 797fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode 798fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_set_3dfx_mode 1 799fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 800f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXSet3DfxModeMESA (int mode); 801fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 802fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode); 803fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 804fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 8053d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group 8063d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SGIX_visual_select_group 1 8073d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 8083d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 809e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_OML_swap_method 810e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_OML_swap_method 1 8113d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif 8123d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul 8136ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_OML_sync_control 8146ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_OML_sync_control 1 815e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 816f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetSyncValuesOML (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc); 817f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetMscRateOML (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator); 818f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int64_t glXSwapBuffersMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); 819f66733e0773b4ec794438dd2422aeb28a791addaIan 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); 820f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXWaitForSbcOML (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc); 821e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 822e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc); 823e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator); 824e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); 825e3af5354a6090666a03586693865fd0d51d994d0Brian 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); 826e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc); 8276ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 8286ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8293cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer 8303cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_NV_float_buffer 1 8313cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif 8323cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 8333cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe 8343cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_SGIX_hyperpipe 1 8356ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8366ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 8376ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 8386ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int networkId; 8396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeNetworkSGIX; 8406ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 8426ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 8436ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int channel; 8446ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul unsigned int 8456ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul participationType; 8466ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int timeSlice; 8476ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeConfigSGIX; 8486ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8496ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 8506ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 8516ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int srcXOrigin, srcYOrigin, srcWidth, srcHeight; 8526ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int destXOrigin, destYOrigin, destWidth, destHeight; 8536ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRect; 8546ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8556ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct { 8566ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; 8576ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul int XOrigin, YOrigin, maxHeight, maxWidth; 8586ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRectLimits; 8596ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8606ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 861f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeNetworkSGIX * glXQueryHyperpipeNetworkSGIX (Display *dpy, int *npipes); 862f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeConfigSGIX (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); 863f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeConfigSGIX * glXQueryHyperpipeConfigSGIX (Display *dpy, int hpId, int *npipes); 864f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXDestroyHyperpipeConfigSGIX (Display *dpy, int hpId); 865f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindHyperpipeSGIX (Display *dpy, int hpId); 866f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeBestAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); 867f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList); 868f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); 8696ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 8706ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes); 8716ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); 8726ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes); 8736ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId); 8746ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId); 8756ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); 8766ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList); 8776ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); 8786ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 8796ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 8806ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset 8816ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_MESA_agp_offset 1 8826ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES 883f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int glXGetAGPOffsetMESA (const void *pointer); 8846ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 8856ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer); 8866ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif 8876ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul 88845b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float 88945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_fbconfig_packed_float 1 89045b1f169b420dee39700d0337c2bc451158618e7Brian#endif 89145b1f169b420dee39700d0337c2bc451158618e7Brian 89245b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB 89345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_framebuffer_sRGB 1 89445b1f169b420dee39700d0337c2bc451158618e7Brian#endif 89545b1f169b420dee39700d0337c2bc451158618e7Brian 89645b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap 89745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_texture_from_pixmap 1 89845b1f169b420dee39700d0337c2bc451158618e7Brian#ifdef GLX_GLXEXT_PROTOTYPES 899f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list); 900f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer); 90145b1f169b420dee39700d0337c2bc451158618e7Brian#endif /* GLX_GLXEXT_PROTOTYPES */ 90245b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list); 90345b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer); 90445b1f169b420dee39700d0337c2bc451158618e7Brian#endif 90545b1f169b420dee39700d0337c2bc451158618e7Brian 906d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video 907d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_present_video 1 908559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 909f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int * glXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements); 910f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); 911559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 912559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements); 913559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); 914d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 915d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 916559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output 917559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_output 1 918559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 919f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoDeviceNV (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); 920f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoDeviceNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice); 921f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoImageNV (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); 922f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoImageNV (Display *dpy, GLXPbuffer pbuf); 923f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSendPbufferToVideoNV (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); 924f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoInfoNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 925559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 926559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); 927559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice); 928559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); 929559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf); 930559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); 931559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); 932d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 933d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 934d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group 935d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_swap_group 1 936559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 937f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXJoinSwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint group); 938f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXBindSwapBarrierNV (Display *dpy, GLuint group, GLuint barrier); 939f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQuerySwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); 940f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapGroupsNV (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); 941f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryFrameCountNV (Display *dpy, int screen, GLuint *count); 942f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXResetFrameCountNV (Display *dpy, int screen); 943559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 944559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group); 945559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier); 946559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); 947559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); 948559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count); 949559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen); 950559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 951559da98c2be577d918a847080b78033947a1767aBrian Paul 952559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture 953559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_capture 1 954559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 955f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); 956f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoCaptureDeviceNV * glXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements); 957f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device); 958f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value); 959f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device); 960559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 961559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); 962559da98c2be577d918a847080b78033947a1767aBrian Paultypedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements); 963559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device); 964559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value); 965559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device); 966559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 967559da98c2be577d918a847080b78033947a1767aBrian Paul 968559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control 969559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_EXT_swap_control 1 970559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 97152dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paulextern void glXSwapIntervalEXT (Display *dpy, GLXDrawable drawable, int interval); 972559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 97352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paultypedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval); 974559da98c2be577d918a847080b78033947a1767aBrian Paul#endif 975559da98c2be577d918a847080b78033947a1767aBrian Paul 976559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image 977559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_copy_image 1 978559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES 979f66733e0773b4ec794438dd2422aeb28a791addaIan 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); 980559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */ 981559da98c2be577d918a847080b78033947a1767aBrian 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); 982d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif 983d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul 984f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event 985f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_INTEL_swap_event 1 986f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif 987f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick 988b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_NV_multisample_coverage 989b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_NV_multisample_coverage 1 990b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif 991b106e6261a088c6ab97f774508940c2aa935204eBrian Paul 99252dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#ifndef GLX_EXT_swap_control_tear 99352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#define GLX_EXT_swap_control_tear 1 99452dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#endif 99552dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul 9963cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul 997fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus 998fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} 999fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 1000fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul 1001fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif 1002