1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Mesa 3-D graphics library 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Version: 7.6 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright (C) 2009 VMware, Inc. All Rights Reserved. 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * copy of this software and associated documentation files (the "Software"), 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * to deal in the Software without restriction, including without limitation 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the rights to use, copy, modify, merge, publish, distribute, sublicense, 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * and/or sell copies of the Software, and to permit persons to whom the 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Software is furnished to do so, subject to the following conditions: 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * The above copyright notice and this permission notice shall be included 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * in all copies or substantial portions of the Software. 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * glXGetProcAddress() 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define GLX_GLXEXT_PROTOTYPES 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <string.h> 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "GL/glx.h" 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "glapi/glapi.h" 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct name_address_pair { 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const char *Name; 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org __GLXextFuncPtr Address; 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic struct name_address_pair GLX_functions[] = { 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_VERSION_1_0 ***/ 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXChooseVisual", (__GLXextFuncPtr) glXChooseVisual }, 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCopyContext", (__GLXextFuncPtr) glXCopyContext }, 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateContext", (__GLXextFuncPtr) glXCreateContext }, 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateGLXPixmap", (__GLXextFuncPtr) glXCreateGLXPixmap }, 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyContext", (__GLXextFuncPtr) glXDestroyContext }, 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyGLXPixmap", (__GLXextFuncPtr) glXDestroyGLXPixmap }, 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetConfig", (__GLXextFuncPtr) glXGetConfig }, 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetCurrentContext", (__GLXextFuncPtr) glXGetCurrentContext }, 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetCurrentDrawable", (__GLXextFuncPtr) glXGetCurrentDrawable }, 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXIsDirect", (__GLXextFuncPtr) glXIsDirect }, 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXMakeCurrent", (__GLXextFuncPtr) glXMakeCurrent }, 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryExtension", (__GLXextFuncPtr) glXQueryExtension }, 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryVersion", (__GLXextFuncPtr) glXQueryVersion }, 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXSwapBuffers", (__GLXextFuncPtr) glXSwapBuffers }, 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXUseXFont", (__GLXextFuncPtr) glXUseXFont }, 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXWaitGL", (__GLXextFuncPtr) glXWaitGL }, 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXWaitX", (__GLXextFuncPtr) glXWaitX }, 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_VERSION_1_1 ***/ 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetClientString", (__GLXextFuncPtr) glXGetClientString }, 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryExtensionsString", (__GLXextFuncPtr) glXQueryExtensionsString }, 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryServerString", (__GLXextFuncPtr) glXQueryServerString }, 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_VERSION_1_2 ***/ 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetCurrentDisplay", (__GLXextFuncPtr) glXGetCurrentDisplay }, 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_VERSION_1_3 ***/ 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXChooseFBConfig", (__GLXextFuncPtr) glXChooseFBConfig }, 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateNewContext", (__GLXextFuncPtr) glXCreateNewContext }, 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreatePbuffer", (__GLXextFuncPtr) glXCreatePbuffer }, 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreatePixmap", (__GLXextFuncPtr) glXCreatePixmap }, 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateWindow", (__GLXextFuncPtr) glXCreateWindow }, 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyPbuffer", (__GLXextFuncPtr) glXDestroyPbuffer }, 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyPixmap", (__GLXextFuncPtr) glXDestroyPixmap }, 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyWindow", (__GLXextFuncPtr) glXDestroyWindow }, 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetCurrentReadDrawable", (__GLXextFuncPtr) glXGetCurrentReadDrawable }, 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetFBConfigAttrib", (__GLXextFuncPtr) glXGetFBConfigAttrib }, 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetFBConfigs", (__GLXextFuncPtr) glXGetFBConfigs }, 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetSelectedEvent", (__GLXextFuncPtr) glXGetSelectedEvent }, 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetVisualFromFBConfig", (__GLXextFuncPtr) glXGetVisualFromFBConfig }, 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXMakeContextCurrent", (__GLXextFuncPtr) glXMakeContextCurrent }, 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryContext", (__GLXextFuncPtr) glXQueryContext }, 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryDrawable", (__GLXextFuncPtr) glXQueryDrawable }, 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXSelectEvent", (__GLXextFuncPtr) glXSelectEvent }, 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_VERSION_1_4 ***/ 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetProcAddress", (__GLXextFuncPtr) glXGetProcAddress }, 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGI_swap_control ***/ 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXSwapIntervalSGI", (__GLXextFuncPtr) glXSwapIntervalSGI }, 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGI_video_sync ***/ 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetVideoSyncSGI", (__GLXextFuncPtr) glXGetVideoSyncSGI }, 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXWaitVideoSyncSGI", (__GLXextFuncPtr) glXWaitVideoSyncSGI }, 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGI_make_current_read ***/ 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXMakeCurrentReadSGI", (__GLXextFuncPtr) glXMakeCurrentReadSGI }, 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetCurrentReadDrawableSGI", (__GLXextFuncPtr) glXGetCurrentReadDrawableSGI }, 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_video_source ***/ 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if defined(_VL_H) 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateGLXVideoSourceSGIX", (__GLXextFuncPtr) glXCreateGLXVideoSourceSGIX }, 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyGLXVideoSourceSGIX", (__GLXextFuncPtr) glXDestroyGLXVideoSourceSGIX }, 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_EXT_import_context ***/ 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXFreeContextEXT", (__GLXextFuncPtr) glXFreeContextEXT }, 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetContextIDEXT", (__GLXextFuncPtr) glXGetContextIDEXT }, 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetCurrentDisplayEXT", (__GLXextFuncPtr) glXGetCurrentDisplayEXT }, 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXImportContextEXT", (__GLXextFuncPtr) glXImportContextEXT }, 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryContextInfoEXT", (__GLXextFuncPtr) glXQueryContextInfoEXT }, 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_fbconfig ***/ 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetFBConfigAttribSGIX", (__GLXextFuncPtr) glXGetFBConfigAttribSGIX }, 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXChooseFBConfigSGIX", (__GLXextFuncPtr) glXChooseFBConfigSGIX }, 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateGLXPixmapWithConfigSGIX", (__GLXextFuncPtr) glXCreateGLXPixmapWithConfigSGIX }, 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateContextWithConfigSGIX", (__GLXextFuncPtr) glXCreateContextWithConfigSGIX }, 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetVisualFromFBConfigSGIX", (__GLXextFuncPtr) glXGetVisualFromFBConfigSGIX }, 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetFBConfigFromVisualSGIX", (__GLXextFuncPtr) glXGetFBConfigFromVisualSGIX }, 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_pbuffer ***/ 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateGLXPbufferSGIX", (__GLXextFuncPtr) glXCreateGLXPbufferSGIX }, 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXDestroyGLXPbufferSGIX", (__GLXextFuncPtr) glXDestroyGLXPbufferSGIX }, 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryGLXPbufferSGIX", (__GLXextFuncPtr) glXQueryGLXPbufferSGIX }, 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXSelectEventSGIX", (__GLXextFuncPtr) glXSelectEventSGIX }, 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetSelectedEventSGIX", (__GLXextFuncPtr) glXGetSelectedEventSGIX }, 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGI_cushion ***/ 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCushionSGI", (__GLXextFuncPtr) glXCushionSGI }, 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_video_resize ***/ 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXBindChannelToWindowSGIX", (__GLXextFuncPtr) glXBindChannelToWindowSGIX }, 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXChannelRectSGIX", (__GLXextFuncPtr) glXChannelRectSGIX }, 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryChannelRectSGIX", (__GLXextFuncPtr) glXQueryChannelRectSGIX }, 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryChannelDeltasSGIX", (__GLXextFuncPtr) glXQueryChannelDeltasSGIX }, 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXChannelRectSyncSGIX", (__GLXextFuncPtr) glXChannelRectSyncSGIX }, 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_dmbuffer **/ 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if defined(_DM_BUFFER_H_) 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXAssociateDMPbufferSGIX", (__GLXextFuncPtr) glXAssociateDMPbufferSGIX }, 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_swap_group ***/ 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXJoinSwapGroupSGIX", (__GLXextFuncPtr) glXJoinSwapGroupSGIX }, 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SGIX_swap_barrier ***/ 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXBindSwapBarrierSGIX", (__GLXextFuncPtr) glXBindSwapBarrierSGIX }, 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXQueryMaxSwapBarriersSGIX", (__GLXextFuncPtr) glXQueryMaxSwapBarriersSGIX }, 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_SUN_get_transparent_index ***/ 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetTransparentIndexSUN", (__GLXextFuncPtr) glXGetTransparentIndexSUN }, 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_MESA_copy_sub_buffer ***/ 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCopySubBufferMESA", (__GLXextFuncPtr) glXCopySubBufferMESA }, 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_MESA_pixmap_colormap ***/ 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateGLXPixmapMESA", (__GLXextFuncPtr) glXCreateGLXPixmapMESA }, 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_MESA_release_buffers ***/ 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXReleaseBuffersMESA", (__GLXextFuncPtr) glXReleaseBuffersMESA }, 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_ARB_get_proc_address ***/ 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXGetProcAddressARB", (__GLXextFuncPtr) glXGetProcAddressARB }, 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_ARB_create_context ***/ 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXCreateContextAttribsARB", (__GLXextFuncPtr) glXCreateContextAttribsARB }, 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org /*** GLX_EXT_texture_from_pixmap ***/ 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXBindTexImageEXT", (__GLXextFuncPtr) glXBindTexImageEXT }, 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { "glXReleaseTexImageEXT", (__GLXextFuncPtr) glXReleaseTexImageEXT }, 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org { NULL, NULL } /* end of list */ 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/** 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Return address of named glX function, or NULL if not found. 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstatic __GLXextFuncPtr 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_glxapi_get_proc_address(const char *funcName) 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLuint i; 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; GLX_functions[i].Name; i++) { 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (strcmp(GLX_functions[i].Name, funcName) == 0) 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return GLX_functions[i].Address; 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return NULL; 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC __GLXextFuncPtr 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgglXGetProcAddressARB(const GLubyte *procName) 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org __GLXextFuncPtr f; 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org f = _glxapi_get_proc_address((const char *) procName); 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (f) { 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return f; 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org f = (__GLXextFuncPtr) _glapi_get_proc_address((const char *) procName); 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return f; 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* GLX 1.4 */ 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgPUBLIC 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid (*glXGetProcAddress(const GLubyte *procName))() 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return glXGetProcAddressARB(procName); 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 219