• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    KHR_platform_wayland
4
5Name Strings
6
7    EGL_KHR_platform_wayland
8
9Contributors
10
11    Chad Versace <chad.versace@intel.com>
12    Jon Leech (oddhack 'at' sonic.net)
13
14Contacts
15
16    Chad Versace <chad.versace@intel.com>
17
18Status
19
20    Complete.
21    Approved by the EGL Working Group on January 31, 2014.
22    Ratified by the Khronos Board of Promoters on March 14, 2014.
23
24Version
25
26    Version 2, 2014/02/18
27
28Number
29
30    EGL Extension #70
31
32Extension Type
33
34    EGL client extension
35
36Dependencies
37
38    EGL 1.5 is required.
39
40    This extension is written against the EGL 1.5 Specification (draft
41    20140122).
42
43Overview
44
45    This extension defines how to create EGL resources from native Wayland
46    resources using the EGL 1.5 platform functionality.
47
48New Types
49
50    None
51
52New Procedures and Functions
53
54    None
55
56New Tokens
57
58    Accepted as the <platform> argument of eglGetPlatformDisplay:
59
60        EGL_PLATFORM_WAYLAND_KHR                0x31D8
61
62Additions to the EGL Specification
63
64    None.
65
66New Behavior
67
68    To determine if the EGL implementation supports this extension, clients
69    should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY.
70
71    To obtain an EGLDisplay backed by a Wayland display, call
72    eglGetPlatformDisplay with <platform> set to EGL_PLATFORM_WAYLAND_KHR.  The
73    <native_display> parameter specifies the Wayland display  to use and must
74    either point to a `struct wl_display` or be EGL_DEFAULT_DISPLAY. If
75    <native_display> is EGL_DEFAULT_DISPLAY, then EGL will create a new
76    wl_display structure by connecting to the default Wayland socket.  The
77    manual page wl_display_connect(3) defines the location of the default
78    Wayland socket.
79
80    To obtain an on-screen rendering surface from a Wayland window, call
81    eglCreatePlatformWindowSurface with a <dpy> that belongs to Wayland and
82    a <native_window> that points to a `struct wl_egl_surface`.
83
84    It is not valid to call eglCreatePlatformPixmapSurface with a <dpy> that
85    belongs to Wayland. Any such call fails and generates an
86    EGL_BAD_PARAMETER error.
87
88Issues
89
90    1. Should this extension permit EGL_DEFAULT_DISPLAY as input to
91       eglGetPlatformDisplay()?
92
93       RESOLUTION: Yes. When given EGL_DEFAULT_DISPLAY, eglGetPlatformDisplay
94       returns a display backed by the default Wayland display.
95
96    2. Should this extension support creation of EGLPixmap resources from
97       Wayland pixmaps?
98
99       RESOLVED. No. Wayland has no pixmap type.
100
101Revision History
102
103    Version 2, 2014/02/18 (Chad Versace)
104        - Change resolution of issue #1 from "no" to "yes". Now
105          eglGetPlatformDisplay accepts EGL_DEFAULT_DISPLAY for Wayland.
106        - Explain in more detail how EGL connects to the default Wayland
107          display.
108
109    Version 1, 2014/01/22 (Jon Leech)
110        - Promote EGL_EXT_platform_wayland to KHR to go with EGL 1.5.
111