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