Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/mapi/glapi/glapi_priv.h
4560 views
1
/*
2
* Mesa 3-D graphics library
3
*
4
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a
7
* copy of this software and associated documentation files (the "Software"),
8
* to deal in the Software without restriction, including without limitation
9
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
* and/or sell copies of the Software, and to permit persons to whom the
11
* Software is furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included
14
* in all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
* OTHER DEALINGS IN THE SOFTWARE.
23
*/
24
25
26
#ifndef _GLAPI_PRIV_H
27
#define _GLAPI_PRIV_H
28
29
30
#define GL_GLEXT_PROTOTYPES
31
#include "GL/gl.h"
32
#include "GL/glext.h"
33
34
typedef int GLclampx;
35
36
#include "glapi/glapi.h"
37
38
39
#ifdef __cplusplus
40
extern "C" {
41
#endif
42
43
/* entrypoint */
44
45
extern void
46
init_glapi_relocs_once(void);
47
48
49
extern _glapi_proc
50
generate_entrypoint(unsigned int functionOffset);
51
52
53
extern void
54
fill_in_entrypoint_offset(_glapi_proc entrypoint, unsigned int offset);
55
56
57
extern _glapi_proc
58
get_entrypoint_address(unsigned int functionOffset);
59
60
61
/**
62
* Size (in bytes) of dispatch function (entrypoint).
63
*/
64
#if defined(USE_X86_ASM)
65
# if defined(USE_ELF_TLS)
66
# define DISPATCH_FUNCTION_SIZE 16
67
# else
68
# define DISPATCH_FUNCTION_SIZE 32
69
# endif
70
#endif
71
72
#if defined(USE_X64_64_ASM)
73
# if defined(USE_ELF_TLS)
74
# define DISPATCH_FUNCTION_SIZE 16
75
# endif
76
#endif
77
78
79
/**
80
* Number of extension functions which we can dynamically add at runtime.
81
*
82
* Number of extension functions is also subject to the size of backing exec
83
* mem we allocate. For the common case of dispatch stubs with size 16 bytes,
84
* the two limits will be hit simultaneously. For larger dispatch function
85
* sizes, MAX_EXTENSION_FUNCS is effectively reduced.
86
*/
87
#define MAX_EXTENSION_FUNCS 256
88
89
90
#ifdef __cplusplus
91
}
92
#endif
93
94
#endif
95
96