OSDN Git Service

Squashed commit of the following:
[android-x86/external-mesa.git] / docs / WL_bind_wayland_display.spec
1 Name
2
3     WL_bind_wayland_display
4
5 Name Strings
6
7     EGL_WL_bind_wayland_display
8
9 Contact
10
11     Kristian Høgsberg <krh@bitplanet.net>
12     Benjamin Franzke <benjaminfranzke@googlemail.com>
13
14 Status
15
16     Proposal
17
18 Version
19
20     Version 1, March 1, 2011
21
22 Number
23
24     EGL Extension #not assigned
25
26 Dependencies
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
33 Overview
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
47 IP Status
48
49     Open-source; freely implementable.
50
51 New 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
59 New Tokens
60
61     Accepted as <target> in eglCreateImageKHR
62
63         EGL_WAYLAND_BUFFER_WL                   0x31D5
64
65 Additions 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
87 Issues
88
89 Revision History
90
91     Version 1, March 1, 2011
92         Initial draft (Benjamin Franzke)