[Xcb] [PATCH xcb-proto 4/4] DRI3: Add multi-planar, modifier and dma-fence support
Daniel Stone
daniels at collabora.com
Thu Jun 8 18:41:11 UTC 2017
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 <daniels at collabora.com>
---
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
More information about the Xcb
mailing list