Cell: use mem_dup()
[mesa.git] / src / egl / main / eglconfig.h
1 #ifndef EGLCONFIG_INCLUDED
2 #define EGLCONFIG_INCLUDED
3
4
5 #include "egltypedefs.h"
6 #include "GL/internal/glcore.h"
7
8
9 #define MAX_ATTRIBS 100
10 #define FIRST_ATTRIB EGL_BUFFER_SIZE
11
12
13 struct _egl_config
14 {
15 EGLConfig Handle; /* the public/opaque handle which names this config */
16 EGLint Attrib[MAX_ATTRIBS];
17 };
18
19
20 #define SET_CONFIG_ATTRIB(CONF, ATTR, VAL) ((CONF)->Attrib[(ATTR) - FIRST_ATTRIB] = VAL)
21 #define GET_CONFIG_ATTRIB(CONF, ATTR) ((CONF)->Attrib[(ATTR) - FIRST_ATTRIB])
22
23
24 extern void
25 _eglInitConfig(_EGLConfig *config, EGLint id);
26
27
28 extern _EGLConfig *
29 _eglLookupConfig(_EGLDriver *drv, EGLDisplay dpy, EGLConfig config);
30
31
32 extern _EGLConfig *
33 _eglAddConfig(_EGLDisplay *display, const _EGLConfig *config);
34
35
36 extern EGLBoolean
37 _eglParseConfigAttribs(_EGLConfig *config, const EGLint *attrib_list);
38
39
40 extern EGLBoolean
41 _eglChooseConfig(_EGLDriver *drv, EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
42
43
44 extern EGLBoolean
45 _eglGetConfigAttrib(_EGLDriver *drv, EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
46
47
48 extern EGLBoolean
49 _eglGetConfigs(_EGLDriver *drv, EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
50
51
52 extern void
53 _eglSetConfigAttrib(_EGLConfig *config, EGLint attr, EGLint val);
54
55 extern GLboolean
56 _eglFillInConfigs( _EGLConfig *configs,
57 GLenum fb_format, GLenum fb_type,
58 const u_int8_t * depth_bits, const u_int8_t * stencil_bits,
59 unsigned num_depth_stencil_bits,
60 const GLenum * db_modes, unsigned num_db_modes,
61 int visType );
62
63 extern void
64 _eglConfigToContextModesRec(const _EGLConfig *config, __GLcontextModes *mode);
65
66
67 #endif /* EGLCONFIG_INCLUDED */