summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <lfrb@collabora.com>2017-09-22 03:09:49 -0400
committerDaniel Stone <daniels@collabora.com>2018-02-28 01:47:02 +0000
commit4bc3f832afb99ab6ecffeb67206453fe14ceb636 (patch)
treecf0cfa17242fdde44ec516cf21ce7a29999ba0f5
parentf0ce90df0eb6e2ca2a72976e4ac0bf22dd3e2163 (diff)
downloadxcb-proto-4bc3f832afb99ab6ecffeb67206453fe14ceb636.tar.gz
DRI3: Add multi-planar and modifier support
Bumping to version 1.2, add support for: - querying formats and modifiers supported by the server - creating (and receiving) multi-planar buffers - creating (and receiving) buffers with modifiers v2: Fix alignment v3: Bump to version 1.2 rather than 1.1. The old dri3proto had a '1.1' release for non-functional changes, so we avoid that version and skip directly to 1.2. Signed-off-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
-rw-r--r--src/dri3.xml71
1 files changed, 70 insertions, 1 deletions
diff --git a/src/dri3.xml b/src/dri3.xml
index 608af31..895d12a 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="2">
<import>xproto</import>
<!-- Types -->
@@ -94,4 +94,73 @@ OF THIS SOFTWARE.
</reply>
</request>
+ <!-- v1.2 -->
+ <request name="GetSupportedModifiers" opcode="6">
+ <field type="CARD32" name="window" />
+ <field type="CARD8" name="depth"/>
+ <field type="CARD8" name="bpp"/>
+ <pad bytes="2"/>
+ <reply>
+ <required_start_align align="8" />
+ <pad bytes="1" />
+ <field type="CARD32" name="num_window_modifiers" />
+ <field type="CARD32" name="num_screen_modifiers" />
+ <pad bytes="16" />
+ <list type="CARD64" name="window_modifiers">
+ <fieldref>num_window_modifiers</fieldref>
+ </list>
+ <list type="CARD64" name="screen_modifiers">
+ <fieldref>num_screen_modifiers</fieldref>
+ </list>
+ </reply>
+ </request>
+
+ <request name="PixmapFromBuffers" opcode="7">
+ <required_start_align align="8" />
+ <field type="PIXMAP" name="pixmap" />
+ <field type="WINDOW" name="window" />
+ <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="CARD8" name="depth" />
+ <field type="CARD8" name="bpp" />
+ <pad bytes="2" />
+ <field type="CARD64" name="modifier" />
+ <list type="fd" name="buffers">
+ <fieldref>num_buffers</fieldref>
+ </list>
+ </request>
+
+ <request name="BuffersFromPixmap" opcode="8">
+ <field type="PIXMAP" name="pixmap" />
+ <reply>
+ <required_start_align align="8" />
+ <field type="CARD8" name="nfd"/>
+ <field type="CARD16" name="width" />
+ <field type="CARD16" name="height" />
+ <pad bytes="4"/>
+ <field type="CARD64" name="modifier" />
+ <field type="CARD8" name="depth" />
+ <field type="CARD8" name="bpp" />
+ <pad bytes="6"/>
+ <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>
</xcb>