[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