WL_bind_wayland_display.spec revision 6b369c4c7cd8a52f99bbff2a57fb316b33a87495
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    Reguires 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 a implementation specific wayland interface, allows the
44    EGL implementation to define specific wayland requests and events,
45    needed for buffer sharing in a 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    and an empty attribute_list.
86
87Issues
88
89Revision History
90
91    Version 1, March 1, 2011
92        Initial draft (Benjamin Franzke)
93