1f591e195Smrg<?xml version="1.0" encoding="utf-8"?> 2f591e195Smrg<!-- 3f591e195Smrg 4f591e195SmrgCopyright © 2013 Keith Packard 5f591e195Smrg 6f591e195SmrgPermission to use, copy, modify, distribute, and sell this software and its 7f591e195Smrgdocumentation for any purpose is hereby granted without fee, provided that 8f591e195Smrgthe above copyright notice appear in all copies and that both that copyright 9f591e195Smrgnotice and this permission notice appear in supporting documentation, and 10f591e195Smrgthat the name of the copyright holders not be used in advertising or 11f591e195Smrgpublicity pertaining to distribution of the software without specific, 12f591e195Smrgwritten prior permission. The copyright holders make no representations 13f591e195Smrgabout the suitability of this software for any purpose. It is provided "as 14f591e195Smrgis" without express or implied warranty. 15f591e195Smrg 16f591e195SmrgTHE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 17f591e195SmrgINCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 18f591e195SmrgEVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 19f591e195SmrgCONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20f591e195SmrgDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21f591e195SmrgTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 22f591e195SmrgOF THIS SOFTWARE. 23f591e195Smrg--> 24f591e195Smrg 25f591e195Smrg<xcb header="present" extension-xname="Present" extension-name="Present" 2618ea056eSmrg major-version="1" minor-version="4"> 27f591e195Smrg <import>xproto</import> 28f591e195Smrg <import>randr</import> 29f591e195Smrg <import>xfixes</import> 30f591e195Smrg <import>sync</import> 3118ea056eSmrg <import>dri3</import> 32f591e195Smrg 33f591e195Smrg <!-- Types --> 34f591e195Smrg 35f591e195Smrg <enum name="Event"> 36f591e195Smrg <item name="ConfigureNotify"><value>0</value></item> 37f591e195Smrg <item name="CompleteNotify"><value>1</value></item> 38f591e195Smrg <item name="IdleNotify"><value>2</value></item> 39f591e195Smrg <item name="RedirectNotify"><value>3</value></item> 40f591e195Smrg </enum> 41f591e195Smrg 42f591e195Smrg <enum name="EventMask"> 43f591e195Smrg <item name="NoEvent"><value>0</value></item> 44f591e195Smrg <item name="ConfigureNotify"><bit>0</bit></item> 45f591e195Smrg <item name="CompleteNotify"><bit>1</bit></item> 46f591e195Smrg <item name="IdleNotify"><bit>2</bit></item> 47f591e195Smrg <item name="RedirectNotify"><bit>3</bit></item> 48f591e195Smrg </enum> 49f591e195Smrg 50f591e195Smrg <enum name="Option"> 51f591e195Smrg <item name="None"><value>0</value></item> 52f591e195Smrg <item name="Async"><bit>0</bit></item> 53f591e195Smrg <item name="Copy"><bit>1</bit></item> 54f591e195Smrg <item name="UST"><bit>2</bit></item> 55a27842ffSmrg <item name="Suboptimal"><bit>3</bit></item> 5618ea056eSmrg <item name="AsyncMayTear"><bit>4</bit></item> 57f591e195Smrg </enum> 58f591e195Smrg 59f591e195Smrg <enum name="Capability"> 60f591e195Smrg <item name="None"><value>0</value></item> 61f591e195Smrg <item name="Async"><bit>0</bit></item> 62f591e195Smrg <item name="Fence"><bit>1</bit></item> 63f591e195Smrg <item name="UST"><bit>2</bit></item> 6418ea056eSmrg <item name="AsyncMayTear"><bit>3</bit></item> 6518ea056eSmrg <!-- PresentCapabilitySyncobj is new in version 1.4 --> 6618ea056eSmrg <item name="Syncobj"><bit>4</bit></item> 67f591e195Smrg </enum> 68f591e195Smrg 69f591e195Smrg <enum name="CompleteKind"> 70f591e195Smrg <item name="Pixmap"><value>0</value></item> 71f591e195Smrg <item name="NotifyMSC"><value>1</value></item> 72f591e195Smrg </enum> 73f591e195Smrg 74f591e195Smrg <enum name="CompleteMode"> 75f591e195Smrg <item name="Copy"><value>0</value></item> 76f591e195Smrg <item name="Flip"><value>1</value></item> 77f591e195Smrg <item name="Skip"><value>2</value></item> 78a27842ffSmrg <item name="SuboptimalCopy"><value>3</value></item> 79f591e195Smrg </enum> 80f591e195Smrg 81f591e195Smrg <struct name="Notify"> 82f591e195Smrg <field type="WINDOW" name="window" /> 83f591e195Smrg <field type="CARD32" name="serial" /> 84f591e195Smrg </struct> 85f591e195Smrg 86f591e195Smrg <!-- Requests --> 87f591e195Smrg <request name="QueryVersion" opcode="0"> 88f591e195Smrg <field type="CARD32" name="major_version" /> 89f591e195Smrg <field type="CARD32" name="minor_version" /> 90f591e195Smrg <reply> 91f591e195Smrg <pad bytes="1" /> 92f591e195Smrg <field type="CARD32" name="major_version" /> 93f591e195Smrg <field type="CARD32" name="minor_version" /> 94f591e195Smrg </reply> 95f591e195Smrg </request> 96f591e195Smrg 97f591e195Smrg <request name="Pixmap" opcode="1"> 98891601f5Smrg <required_start_align align="8" /> 99f591e195Smrg <field type="WINDOW" name="window" /> 100f591e195Smrg <field type="PIXMAP" name="pixmap" /> 101f591e195Smrg <field type="CARD32" name="serial" /> 102f591e195Smrg <field type="REGION" name="valid" /> 103f591e195Smrg <field type="REGION" name="update" /> 104f591e195Smrg <field type="INT16" name="x_off" /> 105f591e195Smrg <field type="INT16" name="y_off" /> 106f591e195Smrg <field type="CRTC" name="target_crtc" /> 107f591e195Smrg <field type="FENCE" name="wait_fence" /> 108f591e195Smrg <field type="FENCE" name="idle_fence" /> 109f591e195Smrg <field type="CARD32" name="options" /> 110f591e195Smrg <pad bytes="4"/> 111f591e195Smrg <field type="CARD64" name="target_msc" /> 112f591e195Smrg <field type="CARD64" name="divisor" /> 113f591e195Smrg <field type="CARD64" name="remainder" /> 114f591e195Smrg <list type="Notify" name="notifies"/> 115f591e195Smrg </request> 116f591e195Smrg 117f591e195Smrg <request name="NotifyMSC" opcode="2"> 118891601f5Smrg <required_start_align align="8" /> 119f591e195Smrg <field type="WINDOW" name="window" /> 120f591e195Smrg <field type="CARD32" name="serial" /> 121f591e195Smrg <pad bytes="4"/> 122f591e195Smrg <field type="CARD64" name="target_msc" /> 123f591e195Smrg <field type="CARD64" name="divisor" /> 124f591e195Smrg <field type="CARD64" name="remainder" /> 125f591e195Smrg </request> 126f591e195Smrg 127f591e195Smrg <xidtype name="EVENT"/> 128f591e195Smrg 129f591e195Smrg <request name="SelectInput" opcode="3"> 130f591e195Smrg <field type="EVENT" name="eid"/> 131f591e195Smrg <field type="WINDOW" name="window" /> 132f591e195Smrg <field type="CARD32" name="event_mask" mask="EventMask" /> 133f591e195Smrg </request> 134f591e195Smrg 135f591e195Smrg <request name="QueryCapabilities" opcode="4"> 136f591e195Smrg <field type="CARD32" name="target" /> 137f591e195Smrg <reply> 138f591e195Smrg <pad bytes="1" /> 139f591e195Smrg <field type="CARD32" name="capabilities" /> 140f591e195Smrg </reply> 141f591e195Smrg </request> 142f591e195Smrg 14318ea056eSmrg <!-- PresentPixmapSynced is new in version 1.4 --> 14418ea056eSmrg <request name="PixmapSynced" opcode="5"> 14518ea056eSmrg <required_start_align align="8" /> 14618ea056eSmrg <field type="WINDOW" name="window" /> 14718ea056eSmrg <field type="PIXMAP" name="pixmap" /> 14818ea056eSmrg <field type="CARD32" name="serial" /> 14918ea056eSmrg <field type="REGION" name="valid" /> 15018ea056eSmrg <field type="REGION" name="update" /> 15118ea056eSmrg <field type="INT16" name="x_off" /> 15218ea056eSmrg <field type="INT16" name="y_off" /> 15318ea056eSmrg <field type="CRTC" name="target_crtc" /> 15418ea056eSmrg <field type="SYNCOBJ" name="acquire_syncobj" /> 15518ea056eSmrg <field type="SYNCOBJ" name="release_syncobj" /> 15618ea056eSmrg <field type="CARD64" name="acquire_point" /> 15718ea056eSmrg <field type="CARD64" name="release_point" /> 15818ea056eSmrg <field type="CARD32" name="options" /> 15918ea056eSmrg <pad bytes="4"/> 16018ea056eSmrg <field type="CARD64" name="target_msc" /> 16118ea056eSmrg <field type="CARD64" name="divisor" /> 16218ea056eSmrg <field type="CARD64" name="remainder" /> 16318ea056eSmrg <list type="Notify" name="notifies"/> 16418ea056eSmrg </request> 16518ea056eSmrg 166f591e195Smrg <!-- Events --> 167f591e195Smrg 168f591e195Smrg <event name="Generic" number="0"> 169f591e195Smrg <field type="CARD8" name="extension" /> 170f591e195Smrg <field type="CARD32" name="length" /> 171f591e195Smrg <field type="CARD16" name="evtype" /> 172f591e195Smrg <pad bytes="2" /> 173f591e195Smrg <field type="EVENT" name="event" /> 174f591e195Smrg </event> 175f591e195Smrg 176f591e195Smrg <event name="ConfigureNotify" number="0" xge="true"> 177f591e195Smrg <pad bytes="2" /> 178f591e195Smrg <field type="EVENT" name="event" /> 179f591e195Smrg <field type="WINDOW" name="window" /> 180f591e195Smrg <field type="INT16" name="x" /> 181f591e195Smrg <field type="INT16" name="y" /> 182f591e195Smrg <field type="CARD16" name="width" /> 183f591e195Smrg <field type="CARD16" name="height" /> 184f591e195Smrg <field type="INT16" name="off_x" /> 185f591e195Smrg <field type="INT16" name="off_y" /> 186f591e195Smrg <field type="CARD16" name="pixmap_width" /> 187f591e195Smrg <field type="CARD16" name="pixmap_height" /> 188f591e195Smrg <field type="CARD32" name="pixmap_flags" /> 189f591e195Smrg </event> 190f591e195Smrg 191f591e195Smrg <event name="CompleteNotify" number="1" xge="true"> 192891601f5Smrg <required_start_align align="8" /> 193f591e195Smrg <field type="CARD8" name="kind" enum="CompleteKind" /> 194f591e195Smrg <field type="CARD8" name="mode" enum="CompleteMode" /> 195f591e195Smrg <field type="EVENT" name="event" /> 196f591e195Smrg <field type="WINDOW" name="window" /> 197f591e195Smrg <field type="CARD32" name="serial" /> 198f591e195Smrg <field type="CARD64" name="ust" /> 199f591e195Smrg <field type="CARD64" name="msc" /> 200f591e195Smrg </event> 201f591e195Smrg 202f591e195Smrg <event name="IdleNotify" number="2" xge="true"> 203f591e195Smrg <pad bytes="2"/> 204f591e195Smrg <field type="EVENT" name="event" /> 205f591e195Smrg <field type="WINDOW" name="window" /> 206f591e195Smrg <field type="CARD32" name="serial" /> 207f591e195Smrg <field type="PIXMAP" name="pixmap" /> 208f591e195Smrg <field type="FENCE" name="idle_fence" /> 209f591e195Smrg </event> 210f591e195Smrg 211f591e195Smrg <event name="RedirectNotify" number="3" xge="true"> 212891601f5Smrg <required_start_align align="8" /> 213f591e195Smrg <field type="BOOL" name="update_window"/> 214f591e195Smrg <pad bytes="1"/> 215f591e195Smrg <field type="EVENT" name="event" /> 216f591e195Smrg <field type="WINDOW" name="event_window" /> 217f591e195Smrg <field type="WINDOW" name="window" /> 218f591e195Smrg <field type="PIXMAP" name="pixmap" /> 219f591e195Smrg <field type="CARD32" name="serial" /> 220f591e195Smrg 221f591e195Smrg <field type="REGION" name="valid_region" /> 222f591e195Smrg <field type="REGION" name="update_region" /> 223f591e195Smrg <field type="RECTANGLE" name="valid_rect" /> 224f591e195Smrg <field type="RECTANGLE" name="update_rect" /> 225f591e195Smrg 226f591e195Smrg <field type="INT16" name="x_off" /> 227f591e195Smrg <field type="INT16" name="y_off" /> 228f591e195Smrg <field type="CRTC" name="target_crtc" /> 229f591e195Smrg <field type="FENCE" name="wait_fence" /> 230f591e195Smrg <field type="FENCE" name="idle_fence" /> 231f591e195Smrg <field type="CARD32" name="options" /> 232f591e195Smrg <pad bytes="4"/> 233f591e195Smrg <field type="CARD64" name="target_msc" /> 234f591e195Smrg <field type="CARD64" name="divisor" /> 235f591e195Smrg <field type="CARD64" name="remainder" /> 236891601f5Smrg <list type="Notify" name="notifies" /> 237f591e195Smrg </event> 238f591e195Smrg 239f591e195Smrg</xcb> 240