If the Complete event has this mode, the client is not using the more optimal format/modifier for the buffer allocation.
Its main usage as of now is to allow clients to re-fetch DRI3 format modifiers as some modifiers might allow direct scanout. Signed-off-by: Louis-Francis Ratté-Boulianne <l...@collabora.com> --- presentproto.txt | 14 +++++++++++--- presenttokens.h | 7 ++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/presentproto.txt b/presentproto.txt index fdaf658..1bba0ac 100644 --- a/presentproto.txt +++ b/presentproto.txt @@ -1,6 +1,6 @@ The Present Extension - Version 1.0 - 2013-6-6 + Version 1.1 + 2017-09-27 Keith Packard kei...@keithp.com @@ -24,6 +24,7 @@ change and is provided only as an aid to further Present development. Eric Anholt <e...@anholt.net> Owen Taylor <otay...@redhat.com> James Jones <jajo...@nvidia.com> +Louis-Francis Ratté-Boulianne <l...@collabora.com> ❄ ❄ ❄ ❄ ❄ ❄ ❄ @@ -66,7 +67,8 @@ PRESENTCOMPLETEKIND { PresentCompleteKindPixmap, PRESENTCOMPLETEMODE { PresentCompleteModeCopy, PresentCompleteModeFlip, - PresentCompleteModeSkip } + PresentCompleteModeSkip, + PresentCompleteModeSuboptimalCopy } The Present extension also uses the Sync extension Fence data type to provide synchronization for pixmaps. @@ -408,6 +410,9 @@ The name of this extension is "Present" 'mode' is PresentCompleteModeCopy when the source pixmap contents are taken from the pixmap and the pixmap is idle immediately after the presentation completes. 'mode' is + PresentCompleteModeSuboptimalCopy when the source pixmap + contents are copied but it would be possible to flip the + pixmap if the buffer format/modifier was different. 'mode' is PresentCompleteModeFlip when the pixmap remains in-use even after the presentation completes. It will become idle no later than when the next PresentPixmap operation targeting the same @@ -505,6 +510,8 @@ The name of this extension is "Present" 1.0: First published version + 1.1: Added PresentCompleteModeSuboptimalCopy flag + ❄ ❄ ❄ ❄ ❄ ❄ ❄ @@ -589,6 +596,7 @@ A.1 Common Types 0 PresentCompleteModeCopy 1 PresentCompleteModeFlip 2 PresentCompleteModeSkip + 3 PresentCompleteModeSuboptimalCopy └─── ┌─── diff --git a/presenttokens.h b/presenttokens.h index acb7576..3b0b02f 100644 --- a/presenttokens.h +++ b/presenttokens.h @@ -94,8 +94,9 @@ /* Complete Modes */ -#define PresentCompleteModeCopy 0 -#define PresentCompleteModeFlip 1 -#define PresentCompleteModeSkip 2 +#define PresentCompleteModeCopy 0 +#define PresentCompleteModeFlip 1 +#define PresentCompleteModeSkip 2 +#define PresentCompleteModeSuboptimalCopy 3 #endif -- 2.13.0 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel