[PATCH xcb-proto 4/4] DRI3: Add multi-planar, modifier and dma-fence support

Daniel Stone <daniels-ZGY8ohtN/[email protected]>
Newsgroups gmane.comp.freedesktop.xcb
Message-ID <[email protected]>
Bumping to version 1.1, add support for:
  - querying formats and modifiers supported by the server
  - creating (and receiving) multi-planar buffers
  - creating (and receiving) buffers with modifiers
  - mapping between dma-fence FDs and Present fences

Signed-off-by: Daniel Stone <[email protected]>
---
 src/dri3.xml | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 91 insertions(+), 1 deletion(-)

diff --git a/src/dri3.xml b/src/dri3.xml
index 608af31..7b09284 100644
--- a/src/dri3.xml
+++ b/src/dri3.xml
@@ -23,7 +23,7 @@ OF THIS SOFTWARE.
 -->
 
 <xcb header="dri3" extension-xname="DRI3" extension-name="DRI3"
-  major-version="1" minor-version="0">
+  major-version="1" minor-version="1">
   <import>xproto</import>
 
   <!-- Types -->
@@ -94,4 +94,94 @@ OF THIS SOFTWARE.
     </reply>
   </request>
 
+  <!-- v1.1 -->
+  <request name="GetSupportedFormats" opcode="6">
+    <field type="CARD32" name="window" />
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="num_formats" />
+      <pad bytes="20" />
+      <list type="CARD32" name="formats">
+        <fieldref>num_formats</fieldref>
+      </list>
+    </reply>
+  </request>
+
+  <request name="GetSupportedModifiers" opcode="7">
+    <field type="CARD32" name="window" />
+    <field type="CARD32" name="format"/>
+    <reply>
+      <pad bytes="1" />
+      <field type="CARD32" name="format" />
+      <field type="CARD32" name="num_modifiers" />
+      <pad bytes="16" />
+      <list type="CARD32" name="modifiers"> <!-- CARD32 hi followed by lo -->
+        <op op="*">
+          <fieldref>num_modifiers</fieldref>
+          <value>2</value>
+        </op>
+      </list>
+    </reply>
+  </request>
+
+  <request name="PixmapFromBuffers" opcode="8">
+    <field type="PIXMAP" name="pixmap" />
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD8" name="num_buffers" />
+    <pad bytes="3" />
+    <field type="CARD16" name="width" />
+    <field type="CARD16" name="height" />
+    <field type="CARD32" name="stride0" />
+    <field type="CARD32" name="offset0" />
+    <field type="CARD32" name="stride1" />
+    <field type="CARD32" name="offset1" />
+    <field type="CARD32" name="stride2" />
+    <field type="CARD32" name="offset2" />
+    <field type="CARD32" name="stride3" />
+    <field type="CARD32" name="offset3" />
+    <field type="CARD32" name="format" />
+    <field type="CARD32" name="modifier_hi" />
+    <field type="CARD32" name="modifier_lo" />
+    <list type="fd" name="buffers">
+      <fieldref>num_buffers</fieldref>
+    </list>
+  </request>
+
+  <request name="BuffersFromPixmap" opcode="9">
+    <field type="PIXMAP" name="pixmap" />
+    <reply>
+      <field type="CARD8" name="nfd"/>
+      <field type="CARD16" name="width" />
+      <field type="CARD16" name="height" />
+      <field type="CARD32" name="format" />
+      <field type="CARD32" name="modifier_hi" />
+      <field type="CARD32" name="modifier_lo" />
+      <pad bytes="8"/>
+      <list type="CARD32" name="strides">
+        <fieldref>nfd</fieldref>
+      </list>
+      <list type="CARD32" name="offsets">
+        <fieldref>nfd</fieldref>
+      </list>
+      <list type="fd" name="buffers">
+        <fieldref>nfd</fieldref>
+      </list>
+    </reply>
+  </request>
+
+  <request name="FenceFromDMAFenceFD" opcode="10">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="fence"/>
+    <fd name="fence_fd"/>
+  </request>
+
+  <request name="DMAFenceFDFromFence" opcode="11">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="CARD32" name="fence"/>
+    <reply>
+      <field type="CARD8" name="nfd"/>
+      <fd name="fence_fd" />
+      <pad bytes="24"/>
+    </reply>
+  </request>
 </xcb>
-- 
2.13.0

_______________________________________________
Xcb mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/xcb
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.