diff options
author | Louis-Francis Ratté-Boulianne <lfrb@collabora.com> | 2017-09-22 03:09:49 -0400 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2018-02-28 01:47:02 +0000 |
commit | 4bc3f832afb99ab6ecffeb67206453fe14ceb636 (patch) | |
tree | cf0cfa17242fdde44ec516cf21ce7a29999ba0f5 | |
parent | f0ce90df0eb6e2ca2a72976e4ac0bf22dd3e2163 (diff) | |
download | xcb-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.xml | 71 |
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> |