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
openSUSE Build Service is sponsored by