xref: /aosp_15_r20/external/mesa3d/src/egl/wayland/wayland-drm/wayland-drm.xml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?>
2*61046927SAndroid Build Coastguard Worker<protocol name="drm">
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Worker  <copyright>
5*61046927SAndroid Build Coastguard Worker    Copyright © 2008-2011 Kristian Høgsberg
6*61046927SAndroid Build Coastguard Worker    Copyright © 2010-2011 Intel Corporation
7*61046927SAndroid Build Coastguard Worker
8*61046927SAndroid Build Coastguard Worker    Permission to use, copy, modify, distribute, and sell this
9*61046927SAndroid Build Coastguard Worker    software and its documentation for any purpose is hereby granted
10*61046927SAndroid Build Coastguard Worker    without fee, provided that\n the above copyright notice appear in
11*61046927SAndroid Build Coastguard Worker    all copies and that both that copyright notice and this permission
12*61046927SAndroid Build Coastguard Worker    notice appear in supporting documentation, and that the name of
13*61046927SAndroid Build Coastguard Worker    the copyright holders not be used in advertising or publicity
14*61046927SAndroid Build Coastguard Worker    pertaining to distribution of the software without specific,
15*61046927SAndroid Build Coastguard Worker    written prior permission.  The copyright holders make no
16*61046927SAndroid Build Coastguard Worker    representations about the suitability of this software for any
17*61046927SAndroid Build Coastguard Worker    purpose.  It is provided "as is" without express or implied
18*61046927SAndroid Build Coastguard Worker    warranty.
19*61046927SAndroid Build Coastguard Worker
20*61046927SAndroid Build Coastguard Worker    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
21*61046927SAndroid Build Coastguard Worker    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
22*61046927SAndroid Build Coastguard Worker    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
23*61046927SAndroid Build Coastguard Worker    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24*61046927SAndroid Build Coastguard Worker    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
25*61046927SAndroid Build Coastguard Worker    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
26*61046927SAndroid Build Coastguard Worker    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27*61046927SAndroid Build Coastguard Worker    THIS SOFTWARE.
28*61046927SAndroid Build Coastguard Worker  </copyright>
29*61046927SAndroid Build Coastguard Worker
30*61046927SAndroid Build Coastguard Worker  <!-- drm support. This object is created by the server and published
31*61046927SAndroid Build Coastguard Worker       using the display's global event. -->
32*61046927SAndroid Build Coastguard Worker  <interface name="wl_drm" version="2">
33*61046927SAndroid Build Coastguard Worker    <enum name="error">
34*61046927SAndroid Build Coastguard Worker      <entry name="authenticate_fail" value="0"/>
35*61046927SAndroid Build Coastguard Worker      <entry name="invalid_format" value="1"/>
36*61046927SAndroid Build Coastguard Worker      <entry name="invalid_name" value="2"/>
37*61046927SAndroid Build Coastguard Worker    </enum>
38*61046927SAndroid Build Coastguard Worker
39*61046927SAndroid Build Coastguard Worker    <enum name="format">
40*61046927SAndroid Build Coastguard Worker      <!-- The drm format codes match the #defines in drm_fourcc.h.
41*61046927SAndroid Build Coastguard Worker           The formats actually supported by the compositor will be
42*61046927SAndroid Build Coastguard Worker           reported by the format event. New codes must not be added,
43*61046927SAndroid Build Coastguard Worker           unless directly taken from drm_fourcc.h. -->
44*61046927SAndroid Build Coastguard Worker      <entry name="c8" value="0x20203843"/>
45*61046927SAndroid Build Coastguard Worker      <entry name="rgb332" value="0x38424752"/>
46*61046927SAndroid Build Coastguard Worker      <entry name="bgr233" value="0x38524742"/>
47*61046927SAndroid Build Coastguard Worker      <entry name="xrgb4444" value="0x32315258"/>
48*61046927SAndroid Build Coastguard Worker      <entry name="xbgr4444" value="0x32314258"/>
49*61046927SAndroid Build Coastguard Worker      <entry name="rgbx4444" value="0x32315852"/>
50*61046927SAndroid Build Coastguard Worker      <entry name="bgrx4444" value="0x32315842"/>
51*61046927SAndroid Build Coastguard Worker      <entry name="argb4444" value="0x32315241"/>
52*61046927SAndroid Build Coastguard Worker      <entry name="abgr4444" value="0x32314241"/>
53*61046927SAndroid Build Coastguard Worker      <entry name="rgba4444" value="0x32314152"/>
54*61046927SAndroid Build Coastguard Worker      <entry name="bgra4444" value="0x32314142"/>
55*61046927SAndroid Build Coastguard Worker      <entry name="xrgb1555" value="0x35315258"/>
56*61046927SAndroid Build Coastguard Worker      <entry name="xbgr1555" value="0x35314258"/>
57*61046927SAndroid Build Coastguard Worker      <entry name="rgbx5551" value="0x35315852"/>
58*61046927SAndroid Build Coastguard Worker      <entry name="bgrx5551" value="0x35315842"/>
59*61046927SAndroid Build Coastguard Worker      <entry name="argb1555" value="0x35315241"/>
60*61046927SAndroid Build Coastguard Worker      <entry name="abgr1555" value="0x35314241"/>
61*61046927SAndroid Build Coastguard Worker      <entry name="rgba5551" value="0x35314152"/>
62*61046927SAndroid Build Coastguard Worker      <entry name="bgra5551" value="0x35314142"/>
63*61046927SAndroid Build Coastguard Worker      <entry name="rgb565" value="0x36314752"/>
64*61046927SAndroid Build Coastguard Worker      <entry name="bgr565" value="0x36314742"/>
65*61046927SAndroid Build Coastguard Worker      <entry name="rgb888" value="0x34324752"/>
66*61046927SAndroid Build Coastguard Worker      <entry name="bgr888" value="0x34324742"/>
67*61046927SAndroid Build Coastguard Worker      <entry name="xrgb8888" value="0x34325258"/>
68*61046927SAndroid Build Coastguard Worker      <entry name="xbgr8888" value="0x34324258"/>
69*61046927SAndroid Build Coastguard Worker      <entry name="rgbx8888" value="0x34325852"/>
70*61046927SAndroid Build Coastguard Worker      <entry name="bgrx8888" value="0x34325842"/>
71*61046927SAndroid Build Coastguard Worker      <entry name="argb8888" value="0x34325241"/>
72*61046927SAndroid Build Coastguard Worker      <entry name="abgr8888" value="0x34324241"/>
73*61046927SAndroid Build Coastguard Worker      <entry name="rgba8888" value="0x34324152"/>
74*61046927SAndroid Build Coastguard Worker      <entry name="bgra8888" value="0x34324142"/>
75*61046927SAndroid Build Coastguard Worker      <entry name="xrgb2101010" value="0x30335258"/>
76*61046927SAndroid Build Coastguard Worker      <entry name="xbgr2101010" value="0x30334258"/>
77*61046927SAndroid Build Coastguard Worker      <entry name="rgbx1010102" value="0x30335852"/>
78*61046927SAndroid Build Coastguard Worker      <entry name="bgrx1010102" value="0x30335842"/>
79*61046927SAndroid Build Coastguard Worker      <entry name="argb2101010" value="0x30335241"/>
80*61046927SAndroid Build Coastguard Worker      <entry name="abgr2101010" value="0x30334241"/>
81*61046927SAndroid Build Coastguard Worker      <entry name="rgba1010102" value="0x30334152"/>
82*61046927SAndroid Build Coastguard Worker      <entry name="bgra1010102" value="0x30334142"/>
83*61046927SAndroid Build Coastguard Worker      <entry name="yuyv" value="0x56595559"/>
84*61046927SAndroid Build Coastguard Worker      <entry name="yvyu" value="0x55595659"/>
85*61046927SAndroid Build Coastguard Worker      <entry name="uyvy" value="0x59565955"/>
86*61046927SAndroid Build Coastguard Worker      <entry name="vyuy" value="0x59555956"/>
87*61046927SAndroid Build Coastguard Worker      <entry name="ayuv" value="0x56555941"/>
88*61046927SAndroid Build Coastguard Worker      <entry name="xyuv8888" value="0x56555958"/>
89*61046927SAndroid Build Coastguard Worker      <entry name="nv12" value="0x3231564e"/>
90*61046927SAndroid Build Coastguard Worker      <entry name="nv21" value="0x3132564e"/>
91*61046927SAndroid Build Coastguard Worker      <entry name="nv16" value="0x3631564e"/>
92*61046927SAndroid Build Coastguard Worker      <entry name="nv61" value="0x3136564e"/>
93*61046927SAndroid Build Coastguard Worker      <entry name="yuv410" value="0x39565559"/>
94*61046927SAndroid Build Coastguard Worker      <entry name="yvu410" value="0x39555659"/>
95*61046927SAndroid Build Coastguard Worker      <entry name="yuv411" value="0x31315559"/>
96*61046927SAndroid Build Coastguard Worker      <entry name="yvu411" value="0x31315659"/>
97*61046927SAndroid Build Coastguard Worker      <entry name="yuv420" value="0x32315559"/>
98*61046927SAndroid Build Coastguard Worker      <entry name="yvu420" value="0x32315659"/>
99*61046927SAndroid Build Coastguard Worker      <entry name="yuv422" value="0x36315559"/>
100*61046927SAndroid Build Coastguard Worker      <entry name="yvu422" value="0x36315659"/>
101*61046927SAndroid Build Coastguard Worker      <entry name="yuv444" value="0x34325559"/>
102*61046927SAndroid Build Coastguard Worker      <entry name="yvu444" value="0x34325659"/>
103*61046927SAndroid Build Coastguard Worker      <entry name="abgr16f" value="0x48344241"/>
104*61046927SAndroid Build Coastguard Worker      <entry name="xbgr16f" value="0x48344258"/>
105*61046927SAndroid Build Coastguard Worker    </enum>
106*61046927SAndroid Build Coastguard Worker
107*61046927SAndroid Build Coastguard Worker    <!-- Call this request with the magic received from drmGetMagic().
108*61046927SAndroid Build Coastguard Worker         It will be passed on to the drmAuthMagic() or
109*61046927SAndroid Build Coastguard Worker         DRIAuthConnection() call.  This authentication must be
110*61046927SAndroid Build Coastguard Worker         completed before create_buffer could be used. -->
111*61046927SAndroid Build Coastguard Worker    <request name="authenticate">
112*61046927SAndroid Build Coastguard Worker      <arg name="id" type="uint"/>
113*61046927SAndroid Build Coastguard Worker    </request>
114*61046927SAndroid Build Coastguard Worker
115*61046927SAndroid Build Coastguard Worker    <!-- Create a wayland buffer for the named DRM buffer.  The DRM
116*61046927SAndroid Build Coastguard Worker         surface must have a name using the flink ioctl -->
117*61046927SAndroid Build Coastguard Worker    <request name="create_buffer">
118*61046927SAndroid Build Coastguard Worker      <arg name="id" type="new_id" interface="wl_buffer"/>
119*61046927SAndroid Build Coastguard Worker      <arg name="name" type="uint"/>
120*61046927SAndroid Build Coastguard Worker      <arg name="width" type="int"/>
121*61046927SAndroid Build Coastguard Worker      <arg name="height" type="int"/>
122*61046927SAndroid Build Coastguard Worker      <arg name="stride" type="uint"/>
123*61046927SAndroid Build Coastguard Worker      <arg name="format" type="uint"/>
124*61046927SAndroid Build Coastguard Worker    </request>
125*61046927SAndroid Build Coastguard Worker
126*61046927SAndroid Build Coastguard Worker    <!-- Create a wayland buffer for the named DRM buffer.  The DRM
127*61046927SAndroid Build Coastguard Worker         surface must have a name using the flink ioctl -->
128*61046927SAndroid Build Coastguard Worker    <request name="create_planar_buffer">
129*61046927SAndroid Build Coastguard Worker      <arg name="id" type="new_id" interface="wl_buffer"/>
130*61046927SAndroid Build Coastguard Worker      <arg name="name" type="uint"/>
131*61046927SAndroid Build Coastguard Worker      <arg name="width" type="int"/>
132*61046927SAndroid Build Coastguard Worker      <arg name="height" type="int"/>
133*61046927SAndroid Build Coastguard Worker      <arg name="format" type="uint"/>
134*61046927SAndroid Build Coastguard Worker      <arg name="offset0" type="int"/>
135*61046927SAndroid Build Coastguard Worker      <arg name="stride0" type="int"/>
136*61046927SAndroid Build Coastguard Worker      <arg name="offset1" type="int"/>
137*61046927SAndroid Build Coastguard Worker      <arg name="stride1" type="int"/>
138*61046927SAndroid Build Coastguard Worker      <arg name="offset2" type="int"/>
139*61046927SAndroid Build Coastguard Worker      <arg name="stride2" type="int"/>
140*61046927SAndroid Build Coastguard Worker    </request>
141*61046927SAndroid Build Coastguard Worker
142*61046927SAndroid Build Coastguard Worker    <!-- Notification of the path of the drm device which is used by
143*61046927SAndroid Build Coastguard Worker         the server.  The client should use this device for creating
144*61046927SAndroid Build Coastguard Worker         local buffers.  Only buffers created from this device should
145*61046927SAndroid Build Coastguard Worker         be be passed to the server using this drm object's
146*61046927SAndroid Build Coastguard Worker         create_buffer request. -->
147*61046927SAndroid Build Coastguard Worker    <event name="device">
148*61046927SAndroid Build Coastguard Worker      <arg name="name" type="string"/>
149*61046927SAndroid Build Coastguard Worker    </event>
150*61046927SAndroid Build Coastguard Worker
151*61046927SAndroid Build Coastguard Worker    <event name="format">
152*61046927SAndroid Build Coastguard Worker      <arg name="format" type="uint"/>
153*61046927SAndroid Build Coastguard Worker    </event>
154*61046927SAndroid Build Coastguard Worker
155*61046927SAndroid Build Coastguard Worker    <!-- Raised if the authenticate request succeeded -->
156*61046927SAndroid Build Coastguard Worker    <event name="authenticated"/>
157*61046927SAndroid Build Coastguard Worker
158*61046927SAndroid Build Coastguard Worker    <enum name="capability" since="2">
159*61046927SAndroid Build Coastguard Worker      <description summary="wl_drm capability bitmask">
160*61046927SAndroid Build Coastguard Worker        Bitmask of capabilities.
161*61046927SAndroid Build Coastguard Worker      </description>
162*61046927SAndroid Build Coastguard Worker      <entry name="prime" value="1" summary="wl_drm prime available"/>
163*61046927SAndroid Build Coastguard Worker    </enum>
164*61046927SAndroid Build Coastguard Worker
165*61046927SAndroid Build Coastguard Worker    <event name="capabilities">
166*61046927SAndroid Build Coastguard Worker      <arg name="value" type="uint"/>
167*61046927SAndroid Build Coastguard Worker    </event>
168*61046927SAndroid Build Coastguard Worker
169*61046927SAndroid Build Coastguard Worker    <!-- Version 2 additions -->
170*61046927SAndroid Build Coastguard Worker
171*61046927SAndroid Build Coastguard Worker    <!-- Create a wayland buffer for the prime fd.  Use for regular and planar
172*61046927SAndroid Build Coastguard Worker         buffers.  Pass 0 for offset and stride for unused planes. -->
173*61046927SAndroid Build Coastguard Worker    <request name="create_prime_buffer" since="2">
174*61046927SAndroid Build Coastguard Worker      <arg name="id" type="new_id" interface="wl_buffer"/>
175*61046927SAndroid Build Coastguard Worker      <arg name="name" type="fd"/>
176*61046927SAndroid Build Coastguard Worker      <arg name="width" type="int"/>
177*61046927SAndroid Build Coastguard Worker      <arg name="height" type="int"/>
178*61046927SAndroid Build Coastguard Worker      <arg name="format" type="uint"/>
179*61046927SAndroid Build Coastguard Worker      <arg name="offset0" type="int"/>
180*61046927SAndroid Build Coastguard Worker      <arg name="stride0" type="int"/>
181*61046927SAndroid Build Coastguard Worker      <arg name="offset1" type="int"/>
182*61046927SAndroid Build Coastguard Worker      <arg name="stride1" type="int"/>
183*61046927SAndroid Build Coastguard Worker      <arg name="offset2" type="int"/>
184*61046927SAndroid Build Coastguard Worker      <arg name="stride2" type="int"/>
185*61046927SAndroid Build Coastguard Worker    </request>
186*61046927SAndroid Build Coastguard Worker
187*61046927SAndroid Build Coastguard Worker  </interface>
188*61046927SAndroid Build Coastguard Worker
189*61046927SAndroid Build Coastguard Worker</protocol>
190