Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / mesa / drivers / windows / gldirect / gld_dispatch.c
1 /****************************************************************************
2 *
3 *                        Mesa 3-D graphics library
4 *                        Direct3D Driver Interface
5 *
6 *  ========================================================================
7 *
8 *   Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved.
9 *
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:
16 *
17 *   The above copyright notice and this permission notice shall be included
18 *   in all copies or substantial portions of the Software.
19 *
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
26 *   SOFTWARE.
27 *
28 *  ======================================================================
29 *
30 * Language:     ANSI C
31 * Environment:  Windows 9x/2000/XP/XBox (Win32)
32 *
33 * Description:  Thread-aware dispatch table.
34 *
35 ****************************************************************************/
36
37 #include "glheader.h"
38 #include "glapi.h"
39 #include "glapitable.h"
40 #include "mtypes.h"
41 #include "context.h"
42
43 #define KEYWORD1
44 #define KEYWORD2 GLAPIENTRY
45 #if defined(USE_MGL_NAMESPACE)
46         #define NAME(func)  mgl##func
47 #else
48         #define NAME(func)  gl##func
49 #endif
50
51 #if 0
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
60 #else // #if 0
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
67 #endif // #if 0
68
69 #ifndef GLAPIENTRY
70 #define GLAPIENTRY
71 #endif
72
73 #include "glapitemp.h"