Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5564 | serge | 1 | Name |
2 | |||
3 | MESA_screen_surface |
||
4 | |||
5 | Name Strings |
||
6 | |||
7 | EGL_MESA_screen_surface |
||
8 | |||
9 | Contact |
||
10 | |||
11 | Brian Paul |
||
12 | |||
13 | To discuss, join the dri-egl@lists.freedesktop.org list. |
||
14 | |||
15 | Status |
||
16 | |||
17 | Obsolete. |
||
18 | |||
19 | Version |
||
20 | |||
21 | 11 (27 January 2006) |
||
22 | |||
23 | Number |
||
24 | |||
25 | TBD |
||
26 | |||
27 | Dependencies |
||
28 | |||
29 | EGL 1.0 or later. |
||
30 | |||
31 | Overview |
||
32 | |||
33 | EGL 1.1 supports three types of drawing surfaces: |
||
34 | * Window surfaces |
||
35 | * Pixmap surfaces |
||
36 | * Pbuffer surfaces |
||
37 | This extension defines a fourth type of drawing surface: |
||
38 | * Screen surface |
||
39 | |||
40 | A screen surface is a surface for which the (front) color buffer can |
||
41 | be directly displayed (i.e. scanned out) on a monitor (such as a flat |
||
42 | panel or CRT). In particular the color buffer memory will be allocated |
||
43 | at a location in VRAM (and in a suitable format) which can be displayed |
||
44 | by the graphics hardware. |
||
45 | |||
46 | Note that the width and height of the screen surface need not exactly |
||
47 | match the monitor's current resolution. For example, while the monitor |
||
48 | may be configured to to show 1024x768 pixels, the associated screen |
||
49 | surface may be larger, such as 1200x1000. The "screen origin" attribute |
||
50 | will specify which region of the screen surface which is visible on the |
||
51 | monitor. The screen surface can be scrolled by changing this origin. |
||
52 | |||
53 | This extension also defines functions for controlling the monitor's |
||
54 | display mode (width, height, refresh rate, etc), and specifing which |
||
55 | screen surface is to be displayed on a monitor. |
||
56 | |||
57 | The new EGLModeMESA type and related functions are very similar to the |
||
58 | EGLConfig type and related functions. The user may get a list of |
||
59 | supported modes for a screen and specify the mode to be used when |
||
60 | displaying a screen surface. |
||
61 | |||
62 | |||
63 | Issues |
||
64 | |||
65 | 1. Should EGL_INTERLACE be a supported mode attribute? |
||
66 | |||
67 | Arguments against: |
||
68 | |||
69 | No, this should be provided by another extension which would |
||
70 | also provide the mechanisms needed to play back interlaced video |
||
71 | material correctly on hardware that supports it. |
||
72 | This extension should prefer non-interlaced modes. [M. Danzer] |
||
73 | |||
74 | Arguments for: |
||
75 | |||
76 | An interlaced display can be of use without considering video |
||
77 | material. Being able to query whether a screen is operating in |
||
78 | interlaced mode can be used by applications to control their |
||
79 | drawing. For example: avoid drawing 1-pixel-wide horizontal lines |
||
80 | if screen is interlaced. [B. Paul] |
||
81 | |||
82 | Resolution: Defer for future extension? |
||
83 | |||
84 | |||
85 | 2. Should EGL_REFRESH_RATE be a supported mode attribute? |
||
86 | |||
87 | Arguments for: |
||
88 | |||
89 | Yes, it's been shown that applications and/or users need to select |
||
90 | modes by this. [M. Danzer] |
||
91 | |||
92 | Many examples have been given in which it's desirable to let the |
||
93 | user choose from a variety of refresh rates without having to |
||
94 | restart/reconfigure. [B. Paul] |
||
95 | |||
96 | Arguments against: |
||
97 | |||
98 | TBD. |
||
99 | |||
100 | Resolution: Yes. |
||
101 | |||
102 | |||
103 | 3. Exactly how should the list of modes returned by eglChooseConfigMESA |
||
104 | be sorted? |
||
105 | |||
106 | Current method is described in the text below. Subject to change. |
||
107 | |||
108 | Alternately, leave the sorting order undefined so that each |
||
109 | implementation can return the modes in order of "most desirable" |
||
110 | to "least desirable" which may depend on the display technology |
||
111 | (CRT vs LCD, etc) or other factors. |
||
112 | |||
113 | |||
114 | 4. How should screen blanking be supported? Note that a screen can be |
||
115 | disabled or turned off by calling eglShowSurface(dpy, scrn, |
||
116 | EGL_NO_SURFACE, EGL_NO_MODE_MESA). But what about power-save mode? |
||
117 | |||
118 | I would defer this to other extensions that depend on this one. |
||
119 | I can imagine people wanting different semantics not just in |
||
120 | relation to the power management API being exposed (DPMS or whatever) |
||
121 | but also relating to what events can trigger EGL_CONTEXT_LOST. Also |
||
122 | I'm not sure whether power management commands are properly operations |
||
123 | on the Display or on a screen surface. [A. Jackson] |
||
124 | |||
125 | |||
126 | 5. Should the EGL_PHYSICAL_SIZE_EGL query be kept? The size information |
||
127 | isn't always reliable (consider video projectors) but can still be |
||
128 | used to determine the pixel aspect ratio. |
||
129 | |||
130 | Resolution: Omit. The EGL 1.2 specification includes queries for |
||
131 | the display resolution and pixel aspect ratio. |
||
132 | |||
133 | |||
134 | 6. Should detailed mode timing information be exposed by this API? |
||
135 | |||
136 | Probably not. Instead, offer that information in a layered extension. |
||
137 | |||
138 | |||
139 | 7. How should the notion of a screen's "native" mode be expressed? |
||
140 | For example, LCD panels have a native resolution and refresh rate |
||
141 | that looks best but other sub-optimal resolutions may be supported. |
||
142 | |||
143 | The mode attribute EGL_OPTIMAL_MESA will be set for modes which |
||
144 | best match the screen. [M. Danzer] |
||
145 | |||
146 | |||
147 | 8. Should eglQueryModeStringMESA() be included? This function returns |
||
148 | a human-readable string which corresponds to an EGLMode. |
||
149 | |||
150 | Arguments for: |
||
151 | |||
152 | A mode name such as "HDTV-720P" might mean more to users than |
||
153 | "1280x720@60Hz" if the later were generated via code. |
||
154 | |||
155 | Arguments against: |
||
156 | |||
157 | There's no standard syntax for the strings. May cause more |
||
158 | trouble than it's worth. |
||
159 | |||
160 | Postpone for future extension. [A. Jackson] |
||
161 | |||
162 | Latest discussion leaning toward omitting this function. |
||
163 | |||
164 | |||
165 | 9. Should we use "Get" or "Query" for functions which return state? |
||
166 | The EGL 1.x specification doesn't seem to be totally consistent |
||
167 | in this regard, but "Query" is used more often. |
||
168 | |||
169 | Use "Get" for mode-related queries (as for EGLConfigs) but "Query" |
||
170 | for everything else. |
||
171 | |||
172 | |||
173 | 10. What should be the default size for screen surfaces? |
||
174 | |||
175 | For Pbuffer surfaces the default width and height are zero. |
||
176 | We'll do the same for screen surfaces. Since there's no function |
||
177 | to resize surfaces it's useless to have a 0x0 screen, but this isn't |
||
178 | a situation that'll normally be encountered. |
||
179 | |||
180 | |||
181 | 11. Should there be a function for resizing a screen surface? |
||
182 | |||
183 | Suppose one wants to change the screen's size in the EGL application. |
||
184 | Also suppose there's a hardware restriction such that only one screen |
||
185 | surface can exist at a time (either for lack of memory or because of |
||
186 | memory layout restrictions). |
||
187 | |||
188 | The basic idea is that the currently displayed screen surface must |
||
189 | be deallocated before a new one can be created. Perhaps a resize |
||
190 | function would work better? |
||
191 | |||
192 | |||
193 | 12. How should sub-pixel LCD color information be made available? |
||
194 | What about the display's gamma value? |
||
195 | |||
196 | Perhaps expose as additional read-only mode attributes. |
||
197 | |||
198 | Perhaps postpone for a layered extension. |
||
199 | |||
200 | |||
201 | 13. What happens if the user attempts to delete a screen surface that |
||
202 | is currently being shown? |
||
203 | |||
204 | Spec currently says that's illegal and that an error (TBD) will be |
||
205 | generated. |
||
206 | |||
207 | |||
208 | 14. What if the physical screen size can't be determined? Should |
||
209 | a query of EGL_PHYSICAL_SIZE_MESA return [0,0]? |
||
210 | |||
211 | Obsolete: EGL_PHYSICAL_SIZE_MESA not used. |
||
212 | |||
213 | |||
214 | 15. Suppose the device's number of RAMDACs is different from the |
||
215 | number of output ports. For example, a graphics card with |
||
216 | two RAMDACs but three ports (VGA, DVI, TV). |
||
217 | |||
218 | Address this in a follow-on extension. [Matthias Hopf] |
||
219 | |||
220 | |||
221 | 16. How should we deal with on-the-fly device changes? For example, |
||
222 | the monitor being unplugged and replaced by another with different |
||
223 | characteristics? |
||
224 | |||
225 | A HAL event could be received via DBUS in the application [J. Smirl, |
||
226 | A. Jackson]. |
||
227 | |||
228 | Should there be an EGL mechanism for detecting this? Maybe an |
||
229 | EGL_SCREEN_LOST error (similar to EGL_CONTEXT_LOST) can be recorded |
||
230 | when there's a screen change. At least then the application can |
||
231 | poll to detect this situation. |
||
232 | |||
233 | Maybe leave that to a future extension. |
||
234 | |||
235 | See also the EGL_SCREEN_COUNT_MESA query. |
||
236 | |||
237 | |||
238 | 17. What if pixel-accurate panning is not supported (see |
||
239 | eglScreenPositionMESA)? [M. Danzer] |
||
240 | |||
241 | Is this a common problem? Can we ignore it for now? |
||
242 | |||
243 | |||
244 | 18. Should eglShowSurfaceMESA be renamed to eglShowScreenSurfaceMESA? |
||
245 | |||
246 | Probably. |
||
247 | |||
248 | |||
249 | |||
250 | New Procedures and Functions |
||
251 | |||
252 | EGLBoolean eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
253 | const EGLint *attrib_list, |
||
254 | EGLModeMESA *modes, EGLint modes_size, |
||
255 | EGLint *num_modes) |
||
256 | |||
257 | EGLBoolean eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
258 | EGLModeMESA *modes, EGLint modes_size, |
||
259 | EGLint *num_modes) |
||
260 | |||
261 | EGLBoolean eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, |
||
262 | EGLint attrib, EGLint *value) |
||
263 | |||
264 | |||
265 | EGLBoolean eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, |
||
266 | EGLint screens_size, EGLint *num_screens) |
||
267 | |||
268 | EGLSurface eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, |
||
269 | const EGLint *attrib_list) |
||
270 | |||
271 | EGLBoolean eglShowSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
272 | EGLSurface surface, EGLModeMESA mode) |
||
273 | |||
274 | EGLBoolean eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
275 | EGLint x, EGLint y) |
||
276 | |||
277 | |||
278 | EGLBoolean eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
279 | EGLint attrib, EGLint *value); |
||
280 | |||
281 | EGLBoolean eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
282 | EGLSurface *surface) |
||
283 | |||
284 | EGLBoolean eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
285 | EGLModeMESA *mode) |
||
286 | |||
287 | const char *eglQueryModeStringMESA(EGLDisplay dpy, EGLMode mode); |
||
288 | |||
289 | |||
290 | New Types |
||
291 | |||
292 | EGLModeMESA |
||
293 | EGLScreenMESA |
||
294 | |||
295 | New Tokens |
||
296 | |||
297 | New error codes: |
||
298 | |||
299 | EGL_BAD_SCREEN_MESA |
||
300 | EGL_BAD_MODE_MESA |
||
301 | |||
302 | Screen-related tokens: |
||
303 | |||
304 | EGL_SCREEN_COUNT_MESA |
||
305 | EGL_SCREEN_POSITION_MESA |
||
306 | EGL_SCREEN_BIT_MESA |
||
307 | EGL_SCREEN_POSITION_GRANULARITY_MESA |
||
308 | |||
309 | Mode-related tokens: |
||
310 | |||
311 | EGL_MODE_ID_MESA |
||
312 | EGL_REFRESH_RATE_MESA |
||
313 | EGL_INTERLACED_MESA |
||
314 | EGL_OPTIMAL_MESA |
||
315 | EGL_NO_MODE_MESA |
||
316 | |||
317 | |||
318 | Additions to Chapter X of the EGL 1.1 Specification |
||
319 | |||
320 | [XXX this all has to be rewritten to fit into the EGL specification |
||
321 | and match the conventions of an EGL extension. For now, just list |
||
322 | all the functions with brief descriptions.] |
||
323 | |||
324 | |||
325 | EGLBoolean eglChooseModeMESA(EGLDisplay dpy, const EGLScreenMESA screen, |
||
326 | EGLint *attrib_list, EGLModeMESA *modes, |
||
327 | EGLint modes_size, EGLint *num_modes) |
||
328 | |||
329 | Like eglChooseConfig, returns a list of EGLModes which match the given |
||
330 | attribute list. This does not set the screen's current display mode. |
||
331 | The attribute list is a list of token/value pairs terminated with |
||
332 | EGL_NONE. Supported attributes include: |
||
333 | |||
334 | Name Description |
||
335 | --------------------- --------------------------------------------- |
||
336 | EGL_WIDTH Mode width (resolution) |
||
337 | EGL_HEIGHT Mode height (resolution) |
||
338 | EGL_REFRESH_RATE_MESA The mode's refresh rate, multiplied by 1000 |
||
339 | EGL_INTERLACED_MESA 1 indicates an interlaced mode, 0 otherwise |
||
340 | EGL_OPTIMAL_MESA Set if the most is especially optimal for the |
||
341 | screen (ex. for particular LCD resolutions) |
||
342 | |||
343 | Any other token will generate the error EGL_BAD_ATTRIBUTE. |
||
344 | |||
345 | The list of modes returned by eglChooseModeMESA will be sorted |
||
346 | according to the following criteria. See the discussion of table 3.3 |
||
347 | in the EGL specification for more information. |
||
348 | |||
349 | Selection Sort Sort |
||
350 | Attribute Default Criteria Order Priority |
||
351 | -------------------- -------------- ----------- ------ -------- |
||
352 | EGL_OPTIMAL_MESA EGL_DONT_CARE Exact 1,0 1 |
||
353 | EGL_INTERLACED_MESA EGL_DONT_CARE Exact 0,1 2 |
||
354 | EGL_REFRESH_RATE EGL_DONT_CARE AtLeast Larger 3 |
||
355 | EGL_WIDTH EGL_DONT_CARE AtLeast Larger 4 |
||
356 | EGL_HEIGHT EGL_DONT_CARE AtLeast Larger 5 |
||
357 | EGL_MODE_ID_MESA EGL_DONT_CARE Exact Smaller 6 |
||
358 | |||
359 | |||
360 | EGLBoolean eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
361 | EGLModeMESA *modes, EGLint modes_size, |
||
362 | EGLint *num_modes) |
||
363 | |||
364 | Like eglGetConfigs, returns a list of all modes supported by the |
||
365 | given screen. The returned modes will be sorted in the same manner |
||
366 | as for eglChooseModeMESA(). |
||
367 | |||
368 | |||
369 | |||
370 | EGLBoolean eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, |
||
371 | EGLint attrib, EGLint *value) |
||
372 | |||
373 | Used to query mode attributes. The following attributes are supported: |
||
374 | |||
375 | Name Return value description |
||
376 | --------------------- ---------------------------------------------- |
||
377 | EGL_OPTIMAL_MESA 1 indicates an optimal mode, 0 otherwise |
||
378 | EGL_INTERLACED_MESA 1 indicates an interlaced mode, 0 otherwise |
||
379 | EGL_REFRESH_RATE_MESA The mode's refresh rate, multiplied by 1000 |
||
380 | EGL_WIDTH Mode width (resolution) |
||
381 | EGL_HEIGHT Mode height (resolution) |
||
382 | EGL_MODE_ID_MESA A unique small integer identifier for the mode |
||
383 | |||
384 | Any other token will generate the error EGL_BAD_ATTRIBUTE. |
||
385 | |||
386 | |||
387 | |||
388 | EGLBoolean eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, |
||
389 | EGLint screens_size, EGLint *num_screens) |
||
390 | |||
391 | This function returns an array of all available screen handles. |
||
392 |
|
||
393 |
|
||
394 | placed in the array, even if |
||
395 | |||
396 | The number of screens and the availability of each may change over |
||
397 | time (hot-plugging). Screen handles will not be reused. When a |
||
398 | screen handle becomes invalid, function calls which reference an |
||
399 | invalid handle will generate EGL_BAD_SCREEN_MESA. |
||
400 | |||
401 | The first screen handle returned will be considered to be the primary |
||
402 | one. |
||
403 | |||
404 | |||
405 | |||
406 | EGLSurface eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, |
||
407 | const EGLint *attrib_list) |
||
408 | |||
409 | Create a surface that can be displayed on a screen. |
||
410 | an array of token/value pairs terminated with EGL_NONE. Valid tokens |
||
411 | include: |
||
412 | |||
413 | Name Description |
||
414 | ---------------- -------------------------------- |
||
415 | EGL_WIDTH desired surface width in pixels |
||
416 | EGL_HEIGHT desired surface height in pixels |
||
417 | |||
418 | Any other token will generate the error EGL_BAD_ATTRIBUTE. |
||
419 | The default width and height are zero. |
||
420 | |||
421 | |||
422 | |||
423 | EGLBoolean eglShowSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
424 | EGLSurface surface, EGLModeMESA mode) |
||
425 | |||
426 | This function causes a screen to show the given surface (or more |
||
427 | precisely, the surface's front color buffer) with the given mode. |
||
428 | |||
429 | If the surface is in any way incompatible with the mode, the error |
||
430 | EGL_BAD_MATCH will be generated, EGL_FALSE will be returned, and the |
||
431 | previous screen state will remain in effect. This might occur when |
||
432 | the bandwidth of the video-out subsystem is exceeded, or if the mode |
||
433 | specifies a width or height that's greater than the width or height |
||
434 | of the surface. |
||
435 | |||
436 | To disable a screen, the values EGL_NO_SURFACE and EGL_NO_MODE_MESA |
||
437 | be passed as the |
||
438 | |||
439 | The values of EGL_SCREEN_POSITION_MESA are clamped to the new valid |
||
440 | range computed from the screen size and surface size. If the new |
||
441 | surface is EGL_NO_SURFACE, EGL_SCREEN_POSITION_MESA is set to [0, 0]. |
||
442 | |||
443 | |||
444 | Attempting to delete a screen surface which is currently being |
||
445 | displayed will result in the error EGL_BAD_ACCESS being generated. |
||
446 | |||
447 | |||
448 | |||
449 | EGLBoolean eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
450 | EGLint x, EGLint y) |
||
451 | |||
452 | Specifies the origin of the screen's view into the surface, if the |
||
453 | surface is larger than the screen. Valid values for x and y are |
||
454 | [0, surfaceWidth - screenWidth] and [0, surfaceHeight - screenHeight], |
||
455 | respectively. |
||
456 | |||
457 | The x and y values are also constrained to be integer multiples of the |
||
458 | EGL_SCREEN_POSITION_GRANULARITY_MESA values. |
||
459 | |||
460 | |||
461 | |||
462 | |||
463 | EGLBoolean eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
464 | EGLint attrib, EGLint *value); |
||
465 | |||
466 | Used to query screen attributes. |
||
467 | |||
468 | Name Return value description |
||
469 | ------------------------ --------------------------------------------- |
||
470 | EGL_SCREEN_POSITION_MESA x, y position of the screen's origin with |
||
471 | respect to the surface. If no surface is |
||
472 | attached to the screen, [0, 0] is returned. |
||
473 | EGL_SCREEN_POSITION_GRANULARITY_MESA |
||
474 | Returns the granularity, in pixels, for |
||
475 | which the screen position is constrained. |
||
476 | |||
477 | Any other token will generate the error EGL_BAD_ATTRIBUTE. |
||
478 | |||
479 | |||
480 | |||
481 | |||
482 | EGLBoolean eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
483 | EGLSurface *surface) |
||
484 | |||
485 | Returns the surface currently displayed on the given screen. |
||
486 | may be EGL_NO_SURFACE if the screen isn't currently showing any surface. |
||
487 | |||
488 | |||
489 | |||
490 | |||
491 | EGLBoolean eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, |
||
492 | EGLModeMESA *mode) |
||
493 | |||
494 | Returns the given screen's current display mode. The mode may be |
||
495 | EGL_NO_MODE_MESA if the screen is currently disabled. |
||
496 | |||
497 | |||
498 | |||
499 | const char *eglQueryModeStringMESA(EGLDisplay dpy, EGLModeMESA mode); |
||
500 | |||
501 | Returns a human-readable string for the given mode. The string is a |
||
502 | zero-terminated C string which the user should not attempt to free. |
||
503 | There is no standard syntax for mode strings. Applications should |
||
504 | not directly rely on mode strings. |
||
505 | |||
506 | |||
507 | |||
508 | Version History |
||
509 | |||
510 | 1. 15 March 2005 - BrianP |
||
511 | Initial version |
||
512 | |||
513 | 2. 16 March 2005 - BrianP |
||
514 | Removed EGL_DEPTH_MESA |
||
515 | Added EGL_PHYSICAL_WIDTH_MESA, EGL_PHYSICAL_HEIGHT_MESA queries |
||
516 | Added EGL_OPTIMAL_MESA for width/height/refresh rate selection |
||
517 | Added possible eglQueryModeStringMESA() function |
||
518 | More details of the new functions explained. |
||
519 | |||
520 | 3. 18 March 2005 - BrianP |
||
521 | Added screen_number to eglChooseModeMESA(). |
||
522 | Fix off by one mistake in value range for ORIGIN attributes |
||
523 | Added Issues section |
||
524 | |||
525 | 4. 21 March 2005 - BrianP |
||
526 | Removed eglScreenAttribsMESA(). |
||
527 | Added eglScreenPositionMESA() to set screen origin. |
||
528 | Replaced EGL_SCREEN_X/Y_OFFSET_MESA with EGL_SCREEN_POSITION_MESA. |
||
529 | Replaced EGL_PHYSICAL_WIDTH/HEIGHT_MESA with EGL_PHYSICAL_SIZE_MESA. |
||
530 | Use EGL_OPTIMAL_MESA as a new mode attribute. (Michel Danzer) |
||
531 | Added a few more issues. |
||
532 | |||
533 | 5. 6 April 2005 - BrianP |
||
534 | More language for eglGetModeStringMESA(). |
||
535 | Added issues 10, 11, 12, 13, 14. |
||
536 | Updated issue 3 discussion about mode sorting. |
||
537 | |||
538 | 6. 22 April 2005 - BrianP |
||
539 | Fixed "LDC" typo. |
||
540 | Added issues 15, 16. |
||
541 | Changed dependency on EGL 1.1 to EGL 1.0 |
||
542 | s/EGL_NUM_SCREENS_MESA/EGL_SCREEN_COUNT_MESA/ |
||
543 | Added eglQueryDisplayMESA() to New Functions section. |
||
544 | Clarified language for the EGL_SCREEN_COUNT_MESA query. |
||
545 | |||
546 | 7. 29 April 2005 - BrianP |
||
547 | Added EGLScreenMESA type and eglGetScreensMESA() function. [J. Smirl]. |
||
548 | Replaced EGLint screen_number parameters with EGLScreenMESA screen. |
||
549 | Added issue 17 (pixel-accurate panning) |
||
550 | |||
551 | 8. 2 May 2005 - BrianP |
||
552 | Removed eglQueryDisplayMESA. |
||
553 | Fixed a few more EGLint -> EGLScreenMESA changes. |
||
554 | |||
555 | 9. 20 May 2005 - BrianP |
||
556 | Fixed a few typos. |
||
557 | Updated some open issues text. |
||
558 | |||
559 | 10. 10 August 2005 - BrianP |
||
560 | Added EGL_SCREEN_POSITION_GRANULARITY_MESA. |
||
561 | |||
562 | 11. 27 January 2006 - BrianP |
||
563 | EGL_PHYSICAL_SIZE_MESA removed since EGL 1.2 has a similar feature. |
||
564 |