Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/**************************************************************************
2
 *
3
 * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
4
 * Copyright 2009-2010 Chia-I Wu 
5
 * Copyright 2010 LunarG, Inc.
6
 * All Rights Reserved.
7
 *
8
 * Permission is hereby granted, free of charge, to any person obtaining a
9
 * copy of this software and associated documentation files (the
10
 * "Software"), to deal in the Software without restriction, including
11
 * without limitation the rights to use, copy, modify, merge, publish,
12
 * distribute, sub license, and/or sell copies of the Software, and to
13
 * permit persons to whom the Software is furnished to do so, subject to
14
 * the following conditions:
15
 *
16
 * The above copyright notice and this permission notice (including the
17
 * next paragraph) shall be included in all copies or substantial portions
18
 * of the Software.
19
 *
20
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
23
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
 * DEALINGS IN THE SOFTWARE.
27
 *
28
 **************************************************************************/
29
 
30
 
31
#ifndef EGLMODE_INCLUDED
32
#define EGLMODE_INCLUDED
33
 
34
#include "egltypedefs.h"
35
 
36
 
37
#ifdef EGL_MESA_screen_surface
38
 
39
 
40
#define EGL_NO_MODE_MESA 0
41
 
42
 
43
/**
44
 * Data structure which corresponds to an EGLModeMESA.
45
 */
46
struct _egl_mode
47
{
48
   EGLModeMESA Handle;     /* the public/opaque handle which names this mode */
49
   EGLint Width, Height;   /* size in pixels */
50
   EGLint RefreshRate;     /* rate * 1000.0 */
51
   EGLint Optimal;
52
   EGLint Interlaced;
53
   const char *Name;
54
 
55
   /* Other possible attributes */
56
   /* interlaced */
57
   /* external sync */
58
};
59
 
60
 
61
extern _EGLMode *
62
_eglLookupMode(EGLModeMESA mode, _EGLDisplay *dpy);
63
 
64
 
65
extern EGLBoolean
66
_eglChooseModeMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn,
67
                   const EGLint *attrib_list, EGLModeMESA *modes,
68
                   EGLint modes_size, EGLint *num_modes);
69
 
70
 
71
extern EGLBoolean
72
_eglGetModesMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn,
73
                 EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
74
 
75
 
76
extern EGLBoolean
77
_eglGetModeAttribMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *m,
78
                      EGLint attribute, EGLint *value);
79
 
80
 
81
extern const char *
82
_eglQueryModeStringMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLMode *m);
83
 
84
 
85
#endif /* EGL_MESA_screen_surface */
86
 
87
 
88
#endif /* EGLMODE_INCLUDED */