1 /****************************************************************************
3 * Mesa 3-D graphics library
4 * Direct3D Driver Interface
6 * ========================================================================
8 * Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved.
10 * Permission is hereby granted, free of charge, to any person obtaining a
11 * copy of this software and associated documentation files (the "Software"),
12 * to deal in the Software without restriction, including without limitation
13 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 * and/or sell copies of the Software, and to permit persons to whom the
15 * Software is furnished to do so, subject to the following conditions:
17 * The above copyright notice and this permission notice shall be included
18 * in all copies or substantial portions of the Software.
20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23 * SCITECH SOFTWARE INC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
25 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28 * ======================================================================
31 * Environment: Windows 9x/2000/XP/XBox (Win32)
33 * Description: Thread-aware dispatch table.
35 ****************************************************************************/
39 #include "glapitable.h"
44 #define KEYWORD2 GLAPIENTRY
45 #if defined(USE_MGL_NAMESPACE)
46 #define NAME(func) mgl##func
48 #define NAME(func) gl##func
52 // Altered these to get the dispatch table from
53 // the current context of the calling thread.
54 #define DISPATCH(FUNC, ARGS, MESSAGE) \
55 GET_CURRENT_CONTEXT(gc); \
56 (gc->CurrentDispatch->FUNC) ARGS
57 #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
58 GET_CURRENT_CONTEXT(gc); \
59 return (gc->CurrentDispatch->FUNC) ARGS
61 #define DISPATCH(FUNC, ARGS, MESSAGE) \
62 GET_CURRENT_CONTEXT(gc); \
63 (_glapi_Dispatch->FUNC) ARGS
64 #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
65 GET_CURRENT_CONTEXT(gc); \
66 return (_glapi_Dispatch->FUNC) ARGS
73 #include "glapitemp.h"