[RFC presentproto v4 02/14] Add PresentCompleteModeSuboptimalCopy flag for Complete event
Louis-Francis Ratté-Boulianne
lfrb at collabora.com
Mon Oct 16 05:02:49 UTC 2017
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 <lfrb at 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
keithp at keithp.com
@@ -24,6 +24,7 @@ change and is provided only as an aid to further Present development.
Eric Anholt <eric at anholt.net>
Owen Taylor <otaylor at redhat.com>
James Jones <jajones at nvidia.com>
+Louis-Francis Ratté-Boulianne <lfrb at 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
More information about the xorg-devel
mailing list