File xcb-proto-dri2.diff of Package xorg-x11-proto-devel

commit ae06ddd86a3c050f403eeee849b9a1357aac097d
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Oct 15 13:12:50 2009 -0700

    Add DRI2 protocol, based off of dri2proto.h and the server code. (v2)
    
    v2: Incorporate comments from jcristau, and convert to 2-space indents to
    match the dominant style.

diff --git a/src/Makefile.am b/src/Makefile.am
index 3caaed2..0f0dfbc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -5,6 +5,7 @@ xcbinclude_HEADERS = \
 	composite.xml \
 	damage.xml \
 	dpms.xml \
+	dri2.xml \
 	glx.xml \
 	randr.xml \
 	record.xml \
diff --git a/src/dri2.xml b/src/dri2.xml
new file mode 100644
index 0000000..7fea948
--- /dev/null
+++ b/src/dri2.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright (C) 2005 Jeremy Kolb.
+Copyright © 2009 Intel Corporation
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the names of the authors or their
+institutions shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from the authors.
+-->
+
+<xcb header="dri2" extension-xname="DRI2" extension-name="DRI2"
+  major-version="1" minor-version="1">
+  <import>xproto</import>
+
+  <enum name="Attachment">
+    <item name="BufferFrontLeft" />
+    <item name="BufferBackLeft" />
+    <item name="BufferFrontRight" />
+    <item name="BufferBackRight" />
+    <item name="BufferDepth" />
+    <item name="BufferStencil" />
+    <item name="BufferAccum" />
+    <item name="BufferFakeFrontLeft" />
+    <item name="BufferFakeFrontRight" />
+    <item name="BufferDepthStencil" />
+  </enum>
+
+  <enum name="DriverType">
+    <item name="DRI" />
+  </enum>
+
+  <!-- Types -->
+
+  <struct name="DRI2Buffer">
+    <field type="CARD32" name="attachment" enum="Attachment" />
+    <field type="CARD32" name="name" />
+    <field type="CARD32" name="pitch" />
+    <field type="CARD32" name="cpp" />
+    <field type="CARD32" name="flags" />
+  </struct>
+
+  <struct name="AttachFormat">
+    <field type="CARD32" name="attachment" enum="Attachment" />
+    <field type="CARD32" name="format" />
+  </struct>
+
+  <!-- Requests -->
+  <request name="QueryVersion" opcode="0">
+    <field type="CARD32" name="major_version" />
+    <field type="CARD32" name="minor_version" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="major_version" />
+      <field type="CARD32" name="minor_version" />
+    </reply>
+  </request>
+
+  <request name="Connect" opcode="1">
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="driver_type" enum="DriverType" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="driver_name_length" />
+      <field type="CARD32" name="device_name_length" />
+      <pad bytes="16" />
+      <list type="char" name="driver_name">
+        <fieldref>driver_name_length</fieldref>
+      </list>
+      <list type="char" name="device_name">
+        <fieldref>device_name_length</fieldref>
+      </list>
+    </reply>
+  </request>
+
+  <request name="Authenticate" opcode="2">
+    <field type="WINDOW" name="window" />
+    <field type="CARD32" name="magic" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="authenticated" />
+    </reply>
+  </request>
+
+  <request name="CreateDrawable" opcode="3">
+    <field type="DRAWABLE" name="drawable" />
+  </request>
+
+  <request name="DestroyDrawable" opcode="4">
+    <field type="DRAWABLE" name="drawable" />
+  </request>
+
+  <request name="GetBuffers" opcode="5">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="count" />
+    <list type="CARD32" name="attachments" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="width" />
+      <field type="CARD32" name="height" />
+      <field type="CARD32" name="count" />
+      <pad bytes="12" />
+      <list type="DRI2Buffer" name="buffers">
+        <fieldref>count</fieldref>
+      </list>
+    </reply>
+  </request>
+
+  <request name="CopyRegion" opcode="6">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="region" />
+    <field type="CARD32" name="dest" />
+    <field type="CARD32" name="src" />
+    <reply>
+      <pad bytes="1" />
+    </reply>
+  </request>
+
+  <request name="GetBuffersWithFormat" opcode="7">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="count" />
+    <list type="AttachFormat" name="attachments" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="width" />
+      <field type="CARD32" name="height" />
+      <field type="CARD32" name="count" />
+      <pad bytes="12" />
+      <list type="DRI2Buffer" name="buffers">
+        <fieldref>count</fieldref>
+      </list>
+    </reply>
+  </request>
+</xcb>