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

Reply via email to