File n_presentproto-1.2-2018.4.patch of Package presentproto.34744
diff -u -r presentproto-1.1/presentproto.pc.in presentproto-1.2/presentproto.pc.in
--- presentproto-1.1/presentproto.pc.in 2013-11-14 20:56:43.000000000 +0100
+++ presentproto-1.2/presentproto.pc.in 2018-05-22 21:46:36.660066000 +0200
@@ -5,5 +5,5 @@
Name: PresentProto
Description: Present extension headers
-Version: @PACKAGE_VERSION@
+Version: 1.2
Cflags: -I${includedir}
diff -u -r presentproto-1.1/presentproto.txt presentproto-1.2/presentproto.txt
--- presentproto-1.1/presentproto.txt 2017-01-26 08:47:12.000000000 +0100
+++ presentproto-1.2/presentproto.txt 2018-05-22 21:45:49.186193000 +0200
@@ -1,6 +1,6 @@
The Present Extension
- Version 1.0
- 2013-6-6
+ Version 1.2
+ 2018-02-26
Keith Packard
keithp@keithp.com
@@ -24,6 +24,7 @@
Eric Anholt <eric@anholt.net>
Owen Taylor <otaylor@redhat.com>
James Jones <jajones@nvidia.com>
+Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
❄ ❄ ❄ ❄ ❄ ❄ ❄
@@ -55,7 +56,8 @@
PRESENTOPTION { PresentOptionAsync,
PresentOptionCopy,
- PresentOptionUST }
+ PresentOptionUST,
+ PresentOptionSuboptimal }
PRESENTCAPABILITY { PresentCapabilityAsync,
PresentCapabilityFence,
@@ -66,7 +68,8 @@
PRESENTCOMPLETEMODE { PresentCompleteModeCopy,
PresentCompleteModeFlip,
- PresentCompleteModeSkip }
+ PresentCompleteModeSkip,
+ PresentCompleteModeSuboptimalCopy }
The Present extension also uses the Sync extension Fence data type to
provide synchronization for pixmaps.
@@ -226,6 +229,10 @@
server will take the target UST time and convert it to a
suitable target MSC value.
+ If 'options' contains PresentOptionSuboptimal, then the
+ PresentCompleteNotify event can have mode
+ PresentCompleteModeSuboptimalCopy as the client supports it.
+
After the presentation occurs, a PresentCompleteNotify event
with kind PresentCompleteKindPixmap will be generated, both to
'window' as well as all members of 'notifies'.
@@ -318,7 +325,7 @@
PresentCapabilityFence means that the target device can take
advantage of SyncFences in the Present operations to improve
GPU throughput. The driver must operate correctly in the
- absense of fences, but may have reduced performance. Using
+ absence of fences, but may have reduced performance. Using
fences for drivers not advertising this capability should have
no performance impact.
@@ -408,12 +415,16 @@
'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
- 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
- window by any client completes. If the presentation operation
- was skipped because some later operation made it irrelevant,
- then 'mode' will be PresentCompleteModeSkip.
+ PresentCompleteModeSuboptimalCopy when the source pixmap
+ contents are copied but it would be possible to flip the
+ pixmap if the buffer format/modifier was different (options
+ given to PresentPixmap must contain PresentOptionSuboptimal).
+ '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 window by any client completes. If the presentation
+ operation was skipped because some later operation made it
+ irrelevant, then 'mode' will be PresentCompleteModeSkip.
'serial' is the value provided in the generating PresentPixmap
request.
@@ -505,6 +516,9 @@
1.0: First published version
+ 1.2: Added PresentCompleteModeSuboptimalCopy flag and
+ PresentOptionSuboptimal option
+
❄ ❄ ❄ ❄ ❄ ❄ ❄
@@ -569,6 +583,7 @@
1 PresentOptionAsync
2 PresentOptionCopy;
4 PresentOptionUST
+ 8 PresentOptionSuboptimal
└───
┌───
@@ -589,6 +604,7 @@
0 PresentCompleteModeCopy
1 PresentCompleteModeFlip
2 PresentCompleteModeSkip
+ 3 PresentCompleteModeSuboptimalCopy
└───
┌───
diff -u -r presentproto-1.1/presenttokens.h presentproto-1.2/presenttokens.h
--- presentproto-1.1/presenttokens.h 2017-01-26 08:47:12.000000000 +0100
+++ presentproto-1.2/presenttokens.h 2018-05-22 21:46:48.816289000 +0200
@@ -25,7 +25,7 @@
#define PRESENT_NAME "Present"
#define PRESENT_MAJOR 1
-#define PRESENT_MINOR 0
+#define PRESENT_MINOR 2
#define PresentNumberErrors 0
#define PresentNumberEvents 0
@@ -44,10 +44,12 @@
#define PresentOptionAsync (1 << 0)
#define PresentOptionCopy (1 << 1)
#define PresentOptionUST (1 << 2)
+#define PresentOptionSuboptimal (1 << 3)
#define PresentAllOptions (PresentOptionAsync | \
PresentOptionCopy | \
- PresentOptionUST)
+ PresentOptionUST | \
+ PresentOptionSuboptimal)
/* Present capabilities */
@@ -94,8 +96,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