WL_bind_wayland_display.spec revision 7142a67473b4fc77bdd58baf7cced9bfc54ccb73
1Name
2
3    WL_bind_wayland_display
4
5Name Strings
6
7    EGL_WL_bind_wayland_display
8
9Contact
10
11    Kristiangsberg <krh@bitplanet.net>
12    Benjamin Franzke <benjaminfranzke@googlemail.com>
13
14Status
15
16    Proposal
17
18Version
19
20    Version 1, March 1, 2011
21
22Number
23
24    EGL Extension #not assigned
25
26Dependencies
27
28    Requires EGL 1.4 or later.  This extension is written against the
29    wording of the EGL 1.4 specification.
30
31    EGL_KHR_base_image is required.
32
33Overview
34
35    This extension provides entry points for binding and unbinding the
36    wl_display of a Wayland compositor to an EGLDisplay.  Binding a
37    wl_display means that the EGL implementation should provide one or
38    more interfaces in the Wayland protocol to allow clients to create
39    wl_buffer objects.  On the server side, this extension also
40    provides a new target for eglCreateImageKHR, to create an EGLImage
41    from a wl_buffer
42
43    Adding an implementation specific wayland interface, allows the
44    EGL implementation to define specific wayland requests and events,
45    needed for buffer sharing in an EGL wayland platform.
46
47IP Status
48
49    Open-source; freely implementable.
50
51New Procedures and Functions
52
53    EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy,
54                                       struct wl_display *display);
55
56    EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy,
57                                         struct wl_display *display);
58
59New Tokens
60
61    Accepted as <target> in eglCreateImageKHR
62
63        EGL_WAYLAND_BUFFER_WL                   0x31D5
64
65Additions to the EGL 1.4 Specification:
66
67    To bind a server side wl_display to an EGLDisplay, call
68
69        EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy,
70                                           struct wl_display *display);
71
72    To unbind a server side wl_display from an EGLDisplay, call
73    
74        EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy,
75                                             struct wl_display *display);
76
77    eglBindWaylandDisplayWL returns EGL_FALSE when there is already a
78    wl_display bound to EGLDisplay otherwise EGL_TRUE.
79
80    eglUnbindWaylandDisplayWL returns EGL_FALSE when there is no
81    wl_display bound to the EGLDisplay currently otherwise EGL_TRUE.
82
83    Import a wl_buffer by calling eglCreateImageKHR with
84    wl_buffer as EGLClientBuffer, EGL_WAYLAND_BUFFER_WL as the target,
85    NULL context and an empty attribute_list.
86
87Issues
88
89Revision History
90
91    Version 1, March 1, 2011
92        Initial draft (Benjamin Franzke)
93