Hello community,
here is the log from the commit of package plymouth for openSUSE:Factory checked in at 2018-12-10 12:27:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plymouth (Old)
and /work/SRC/openSUSE:Factory/.plymouth.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plymouth"
Mon Dec 10 12:27:23 2018 rev:67 rq:654615 version:0.9.4+git20181204.0cd0613
Changes:
--------
--- /work/SRC/openSUSE:Factory/plymouth/plymouth.changes 2018-12-05 09:36:55.357130055 +0100
+++ /work/SRC/openSUSE:Factory/.plymouth.new.19453/plymouth.changes 2018-12-10 12:27:29.142578087 +0100
@@ -1,0 +2,13 @@
+Wed Dec 5 06:59:56 UTC 2018 - qzhao@suse.com
+
+- Update to version 0.9.4+git20181204.0cd0613:
+ * drm: Pick a controller for unconfigured connectors
+ * drm: Drop crtcs for clones for which we've picked different
+ modes
+ * drm: More connector enumeration refactoring
+ * drm: Store tiled and rotation in ply_output_t
+ * drm: Refactor create_heads_for_active_connectors
+ * drm: Directly store the mode instead of the mode_index
+ * drm: Drop unused encoder_id
+
+-------------------------------------------------------------------
Old:
----
plymouth-0.9.4+git20181129.a7ec3e6.tar.xz
New:
----
plymouth-0.9.4+git20181204.0cd0613.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plymouth.spec ++++++
--- /var/tmp/diff_new_pack.23YzPf/_old 2018-12-10 12:27:29.790577440 +0100
+++ /var/tmp/diff_new_pack.23YzPf/_new 2018-12-10 12:27:29.794577436 +0100
@@ -22,7 +22,7 @@
%define plymouth_initrd_file /boot/initrd-plymouth.img
Name: plymouth
-Version: 0.9.4+git20181129.a7ec3e6
+Version: 0.9.4+git20181204.0cd0613
Release: 0
Summary: Graphical Boot Animation and Logger
License: GPL-2.0-or-later
++++++ plymouth-0.9.4+git20181129.a7ec3e6.tar.xz -> plymouth-0.9.4+git20181204.0cd0613.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/FETCH_HEAD new/plymouth-0.9.4+git20181204.0cd0613/.git/FETCH_HEAD
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/FETCH_HEAD 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/FETCH_HEAD 2018-12-05 09:56:21.000000000 +0100
@@ -1,4 +1,4 @@
-a7ec3e65ba3db78656883732feb9af7cf7362f77 branch 'master' of https://gitlab.freedesktop.org/plymouth/plymouth
+0cd061375963b5f416a25ed5d715c4446fb74d5b branch 'master' of https://gitlab.freedesktop.org/plymouth/plymouth
133ef6f14af0cebef182750784284c4249d5166c not-for-merge branch 'bitmap-label-control' of https://gitlab.freedesktop.org/plymouth/plymouth
cf766763f26ad0bb8e001a9ecf65b00f4c766e3c not-for-merge branch 'config-file' of https://gitlab.freedesktop.org/plymouth/plymouth
34ad039ed0816bd7372aca95dc0d25327320154d not-for-merge branch 'cothreads' of https://gitlab.freedesktop.org/plymouth/plymouth
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/ORIG_HEAD new/plymouth-0.9.4+git20181204.0cd0613/.git/ORIG_HEAD
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/ORIG_HEAD 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/ORIG_HEAD 2018-12-05 09:56:21.000000000 +0100
@@ -1 +1 @@
-aaa140b83867f3c5b147df21f878e42d36d21a65
+0cd061375963b5f416a25ed5d715c4446fb74d5b
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/index and new/plymouth-0.9.4+git20181204.0cd0613/.git/index differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/HEAD new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/HEAD
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/HEAD 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/HEAD 2018-12-05 05:11:02.000000000 +0100
@@ -6,3 +6,4 @@
f89858654353d9ab1ca9a2a2a9f758d40f868091 118c5ca1bc825ff5ff93029820e7badddb53dd6e ZhaoQiang 1541991173 +0800 pull: Fast-forward
118c5ca1bc825ff5ff93029820e7badddb53dd6e aaa140b83867f3c5b147df21f878e42d36d21a65 ZhaoQiang 1542974562 +0800 pull: Fast-forward
aaa140b83867f3c5b147df21f878e42d36d21a65 a7ec3e65ba3db78656883732feb9af7cf7362f77 ZhaoQiang 1543484997 +0800 pull: Fast-forward
+a7ec3e65ba3db78656883732feb9af7cf7362f77 0cd061375963b5f416a25ed5d715c4446fb74d5b ZhaoQiang 1543983062 +0800 pull: Fast-forward
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/heads/list new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/heads/list
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/heads/list 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/heads/list 2018-12-02 06:53:10.000000000 +0100
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 a7ec3e65ba3db78656883732feb9af7cf7362f77 ZhaoQiang 1543729990 +0800 branch: Created from master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/heads/master new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/heads/master
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/heads/master 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/heads/master 2018-12-05 05:11:02.000000000 +0100
@@ -6,3 +6,4 @@
f89858654353d9ab1ca9a2a2a9f758d40f868091 118c5ca1bc825ff5ff93029820e7badddb53dd6e ZhaoQiang 1541991173 +0800 pull: Fast-forward
118c5ca1bc825ff5ff93029820e7badddb53dd6e aaa140b83867f3c5b147df21f878e42d36d21a65 ZhaoQiang 1542974562 +0800 pull: Fast-forward
aaa140b83867f3c5b147df21f878e42d36d21a65 a7ec3e65ba3db78656883732feb9af7cf7362f77 ZhaoQiang 1543484997 +0800 pull: Fast-forward
+a7ec3e65ba3db78656883732feb9af7cf7362f77 0cd061375963b5f416a25ed5d715c4446fb74d5b ZhaoQiang 1543983062 +0800 pull: Fast-forward
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/heads/rm new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/heads/rm
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/heads/rm 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/heads/rm 2018-12-02 06:53:21.000000000 +0100
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 a7ec3e65ba3db78656883732feb9af7cf7362f77 ZhaoQiang 1543730001 +0800 branch: Created from list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/remotes/origin/master new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/remotes/origin/master
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/logs/refs/remotes/origin/master 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/logs/refs/remotes/origin/master 2018-12-05 05:11:02.000000000 +0100
@@ -5,3 +5,4 @@
f89858654353d9ab1ca9a2a2a9f758d40f868091 118c5ca1bc825ff5ff93029820e7badddb53dd6e ZhaoQiang 1541991173 +0800 pull: fast-forward
118c5ca1bc825ff5ff93029820e7badddb53dd6e aaa140b83867f3c5b147df21f878e42d36d21a65 ZhaoQiang 1542974562 +0800 pull: fast-forward
aaa140b83867f3c5b147df21f878e42d36d21a65 a7ec3e65ba3db78656883732feb9af7cf7362f77 ZhaoQiang 1543484997 +0800 pull: fast-forward
+a7ec3e65ba3db78656883732feb9af7cf7362f77 0cd061375963b5f416a25ed5d715c4446fb74d5b ZhaoQiang 1543983062 +0800 pull: fast-forward
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/0c/8ee618f33800eafb9b3049d623f23a0f616cbc new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/0c/8ee618f33800eafb9b3049d623f23a0f616cbc
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/0c/8ee618f33800eafb9b3049d623f23a0f616cbc 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/0c/8ee618f33800eafb9b3049d623f23a0f616cbc 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,4 @@
+x+)JMU041f040031QðMÌNMËÌIÕKÌe
+ß«ù¹:Ûê°xû¡v¿¹
+µ&@ WRSÌPWŸuó9}_>~NwYïùl±É#¢ÔŒÔ¢Ô¢b7
;BOœ
+¿E^Ü+=) hµÆ=5Å9źͧçŸô6Œ±_èCÌñ_*[=
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/0c/d061375963b5f416a25ed5d715c4446fb74d5b new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/0c/d061375963b5f416a25ed5d715c4446fb74d5b
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/0c/d061375963b5f416a25ed5d715c4446fb74d5b 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/0c/d061375963b5f416a25ed5d715c4446fb74d5b 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,2 @@
+x¥MN1
Yçf5Th~:I$X Á'pgÚB&C&âö€zŒ°ô¬ÏzŠó¡vúŠUf0[§¥±¬µaô^§@ Ù+o£2.F/#+Ï
2ŒKÚ¡Q)šh¹µR)Ž4¢£œîÇѲí$í%Ò€v0:éñ#õR4Rà©íK
7W¯
{<þÔÈÓY?'¥âRË©Ý:=Üí6ÒÀݶ KºÆÿåw®Cš8ÓXóf9Ðçj£uÃÜ
+×~iâ¥f8Ûp±
øèÍ@åï¯
¯ß\zÀ«žãØ|«
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/10/c499a3cc1c31f36a4c39c5d151b7a1e8de1ce3 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/10/c499a3cc1c31f36a4c39c5d151b7a1e8de1ce3 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/10/fddacd1e9a45c8f7345067d61974ef249a1deb and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/10/fddacd1e9a45c8f7345067d61974ef249a1deb differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/13/979a45f1da4042d927412e22ad2adb1c2f0844 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/13/979a45f1da4042d927412e22ad2adb1c2f0844 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/16/b8fc87bfbc4c13af33d2f0c9bd5bfccc47fdce and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/16/b8fc87bfbc4c13af33d2f0c9bd5bfccc47fdce differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/16/edc587c1c9bdcffde2eae0ba75af6b8e09bcfe and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/16/edc587c1c9bdcffde2eae0ba75af6b8e09bcfe differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/18/bff1f146e505e7cd5691050064ee6dc59db40b new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/18/bff1f146e505e7cd5691050064ee6dc59db40b
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/18/bff1f146e505e7cd5691050064ee6dc59db40b 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/18/bff1f146e505e7cd5691050064ee6dc59db40b 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,3 @@
+x+)JMU041f040031QðMÌNMËÌIÕKÌe
+ß«ù¹:Ûê°xû¡v¿¹
+µ&@ WRSÌPWŸuó9}_>~NwYïùl±É#¢ÔŒÔ¢Ô¢bo|¢î\ÌYÝüœýÃAËEÖ\&m5Å9źͧçŸô6Œ±_èCÌñ_*[TÐ=Û
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/20/543eaa3b162b897fa20585608114e8dffdde7b and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/20/543eaa3b162b897fa20585608114e8dffdde7b differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/28/17e18bdb131bc350c3de60fde54542896cd02f and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/28/17e18bdb131bc350c3de60fde54542896cd02f differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/2c/05f9e4cb5b57debd14329ba1070aec2df2e0af and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/2c/05f9e4cb5b57debd14329ba1070aec2df2e0af differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/2d/933723976de94b31d8a60f12e4405cc7fa24b5 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/2d/933723976de94b31d8a60f12e4405cc7fa24b5 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/3f/76c3475a4a5371687e2a3bc0b843fb175e447b and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/3f/76c3475a4a5371687e2a3bc0b843fb175e447b differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/40/83147e3816477b6993fbcfae9297d248dd91dc and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/40/83147e3816477b6993fbcfae9297d248dd91dc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/42/bbee8c3883507e51c722f75a80f19757ec5406 new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/42/bbee8c3883507e51c722f75a80f19757ec5406
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/42/bbee8c3883507e51c722f75a80f19757ec5406 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/42/bbee8c3883507e51c722f75a80f19757ec5406 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,2 @@
+xMOÃ09çWøòѬí$žÃ¹ÓF¢ J<ý{2
í[þzìWvy]#Cש.D`ÐP?ö£€~ŒڬC5j£ÖÚO,žÍwÒoGålqrœŽV¹.žÞì€TÔKŒä/*xçLÍß/æsôXÈ/È[×P¶3ÙmáV*)E«6LÿÀ6zøÁ
/ëb!Ç'š/knbªLè!kí=&O_BŒµrÄfza.}8ÃL|ï f\°Æ&³ð¿=.Î;]!d¥Ø
+ñçD~CØL§ý_þ%Ÿ~
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/46/20dc12e54a6271f659d1bd1b925072ab28e8bc and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/46/20dc12e54a6271f659d1bd1b925072ab28e8bc differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/47/7e45bf730d177d066e3c5ae462aad1d486deb6 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/47/7e45bf730d177d066e3c5ae462aad1d486deb6 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/4d/83a8dd6557f0d2b4ead9d9966a769693a95671 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/4d/83a8dd6557f0d2b4ead9d9966a769693a95671 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/52/bf6e3e950729e39b838c119284ced1aecc39a0 new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/52/bf6e3e950729e39b838c119284ced1aecc39a0
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/52/bf6e3e950729e39b838c119284ced1aecc39a0 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/52/bf6e3e950729e39b838c119284ced1aecc39a0 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,3 @@
+xAkÃ0
wö¯Ð}ŽÄIlÇeݺË`ÐÝË!±£lôßÏk·Ó.œ!ôŸ÷€!Ís hUû@€·ÒtÊpÍ
+×Ê
NXíëÆv[[WUl1#õ©±Ó
Zm£/Q:Tµ1\qTRº®cf£1ex5qpLXêÓèðüÓœdt£¡ýægà¢m!
TðXñªbeZBÞ/׌֌ú3ç(e
+:0ÑANd(€!Â2]úŽÑ²QO}aó[FEB 3M×Õr¹Ã¹R8pFêÿ}Á÷W#F_aÀ«[Nkú,ñÞÃ#Ò{NfºÀMçËÃ'[nãë±S8Gt»äýÎ^÷<}ºI¡À
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/52/f948e7d083cd543ee05e2404916e137776df73 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/52/f948e7d083cd543ee05e2404916e137776df73 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/53/4aa0cfd591c5f9abc70551c4fc736001e51c5e new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/53/4aa0cfd591c5f9abc70551c4fc736001e51c5e
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/53/4aa0cfd591c5f9abc70551c4fc736001e51c5e 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/53/4aa0cfd591c5f9abc70551c4fc736001e51c5e 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,2 @@
+xMNÄ0
YçÞ3å§iÂ!H°gÁ%±ÓfÑdŠ nO*ÍfaËzÖç÷ʺŠjҎ°œPÂ¥yPHHzÔ£ŽOS@.#»ºJ¹#隬eô
,ÆhÒs6hÃÜÞRáÃå
àœPïÏÒ|L¯pqíÊúBJV
+¹àuµlt?nµTÒÞpuœÀ[-WØóŸåPêwBÆŸAëu[ Oà÷¿~ºqÇ µl¶ÖHÊs×Î}Š9%ÆÁÿ]îùý=w
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/53/58a3e79790e7ba6c8ddf2d3be5ca192e092223 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/53/58a3e79790e7ba6c8ddf2d3be5ca192e092223 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/54/fcd7b35d9075d153b42cd38e0f8067e21d885b and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/54/fcd7b35d9075d153b42cd38e0f8067e21d885b differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/58/6df627800b5c941bff6ef3a76d3220f6a73783 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/58/6df627800b5c941bff6ef3a76d3220f6a73783 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/5d/772d3d46000ce8eee00128c6dd93f39f009efe new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/5d/772d3d46000ce8eee00128c6dd93f39f009efe
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/5d/772d3d46000ce8eee00128c6dd93f39f009efe 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/5d/772d3d46000ce8eee00128c6dd93f39f009efe 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,3 @@
+x+)JMU041f040031QðMÌNMËÌIÕKÌe
+ß«ù¹:Ûê°xû¡v¿¹
+µ&@ WRSÌPWŸuó9}_>~NwYïùl±É#¢ÔŒÔ¢Ô¢bÛ7MNþæžn5¥Ÿ¡ðúêÝ".V5Å9źͧçŸô6Œ±_èCÌñ_*[:ø=S
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/64/f9d12a3678c69198b89b253a1f25d13950de50 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/64/f9d12a3678c69198b89b253a1f25d13950de50 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/65/ad699db4e98020d977f713a498f8e646f9acc3 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/65/ad699db4e98020d977f713a498f8e646f9acc3 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/6f/b6a87a19130ed197f57ed5b9f23b85e4b20cb7 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/6f/b6a87a19130ed197f57ed5b9f23b85e4b20cb7 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/76/b37d50720b6c07c976789943fb2b02069b168d and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/76/b37d50720b6c07c976789943fb2b02069b168d differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/76/eb2028b1c079488e3fe229d33f3f623a1a1142 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/76/eb2028b1c079488e3fe229d33f3f623a1a1142 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/7a/58d5070a6a5e8f1e7d632ff4da9f27b30a78dc and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/7a/58d5070a6a5e8f1e7d632ff4da9f27b30a78dc differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/7b/326c6a7e206d30515cc9963199fdf8cc298a09 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/7b/326c6a7e206d30515cc9963199fdf8cc298a09 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/7c/90657cd3a5ff5c1fc180e2781bf86b7ae22fe1 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/7c/90657cd3a5ff5c1fc180e2781bf86b7ae22fe1 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/87/ecbfdc9ec2a87200796638d7aa6d52ff24f94a and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/87/ecbfdc9ec2a87200796638d7aa6d52ff24f94a differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/8b/df8aeb596f2449162b574d00e90b18d6e7307c and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/8b/df8aeb596f2449162b574d00e90b18d6e7307c differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/8d/5fb6af5d76a145ffdd19d18a36deb660dd46a5 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/8d/5fb6af5d76a145ffdd19d18a36deb660dd46a5 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/8d/8e583ee5924e56c54b05d47d992591cd7d1cfd and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/8d/8e583ee5924e56c54b05d47d992591cd7d1cfd differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/94/53a87162151785dd3f4895c5aaaff8786d54cd and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/94/53a87162151785dd3f4895c5aaaff8786d54cd differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/9e/fa10981295f2a6cd27af5de1d1f09188eea016 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/9e/fa10981295f2a6cd27af5de1d1f09188eea016 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/9f/fdb680932ead84e8387431356f19df15b08367 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/9f/fdb680932ead84e8387431356f19df15b08367 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/a1/2f48a671d7328520c089a9bc859bd95e1a2b2f and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/a1/2f48a671d7328520c089a9bc859bd95e1a2b2f differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/a8/ec4c5adcd16c5cab83f787f0c139a23b0a3486 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/a8/ec4c5adcd16c5cab83f787f0c139a23b0a3486 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/b2/4e5f38a42fb2d7ecfc8dff77122a7af3aa8c57 new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/b2/4e5f38a42fb2d7ecfc8dff77122a7af3aa8c57
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/b2/4e5f38a42fb2d7ecfc8dff77122a7af3aa8c57 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/b2/4e5f38a42fb2d7ecfc8dff77122a7af3aa8c57 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,2 @@
+x¥QËNÄ0ä¯0§P¡iÒ<BàÂ/p§Ûe4«
¿'¬Žw|°Fòxì±]Z¹ú«@
èµ~dM×wÞj4( TÁ¢s)@MNF~ÔF
Ê¡EhŽŽZš>h}áó.xÎs²(gj]Ò^q«%
^ZäFDzK^1nà ^Õü°?eOÓ/~
+äSÆ5§=¹ròô|Âœè8Üt5;»+ô_öFy"3F·ŠR»ZÛqÊ¥=®Ûì©õéÛ050Ç Y°RrÃØ
}Ï b*SÁRÕj3è>ŠÑÃŒ`ªé?°b€ÃÆØ{}ÎrÞ"Óç¶ëá{IõJwpÍõñd
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/b3/5182cb049a3776ee80bda508b0ab96c55e1d91 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/b3/5182cb049a3776ee80bda508b0ab96c55e1d91 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/b6/8265b733dbb37e32d8b2b0ce7491753dd45938 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/b6/8265b733dbb37e32d8b2b0ce7491753dd45938 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/b6/d2eee81d5f389d9e77a79c23a1fd2a6e452508 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/b6/d2eee81d5f389d9e77a79c23a1fd2a6e452508 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/bf/8a2e893eb99b373f6e6de72954aa171e766d88 new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/bf/8a2e893eb99b373f6e6de72954aa171e766d88
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/bf/8a2e893eb99b373f6e6de72954aa171e766d88 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/bf/8a2e893eb99b373f6e6de72954aa171e766d88 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,2 @@
+xÁnà D{æ+ö^%ªª·öÜ~@a-ÅÆ(_,åÐczYvçÍ®ÆÅy
+É¿|0ê»ÐHÙ®sô|ÆwÐ-×6a©`3q1âJ8Ý4A+kxœVNIÞ1{)cLôeLôQëÛèqÚº?Ú²wq~'¡dÛJÙµ-œrÁ9«ÓúdÁóx/ÓÎ|ô`]©/ž[pa}>u<]qtqY°)2cÿSŽ&lyPM²õ~ZNdY.Xé6¢®n ótZšÞ))ÏHycgá)^Êz)¹ÉGZb¡Ñ^ÁìèaSõw=c?Õ~CØ
÷Ã3³_8§Q
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/c3/5d1793c2eaa197a1edaab62790077024470b4a and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/c3/5d1793c2eaa197a1edaab62790077024470b4a differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/c3/9e34bea7a5291901de293152f3792fc7526529 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/c3/9e34bea7a5291901de293152f3792fc7526529 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/c9/fee5abfaaccaeae4c87de49dacede3779c7412 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/c9/fee5abfaaccaeae4c87de49dacede3779c7412 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/cf/3c040c294bdb879c990e434e063cc81afde185 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/cf/3c040c294bdb879c990e434e063cc81afde185 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/d6/7e729739f7cc3cb138bcad8182496c818bfd41 new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/d6/7e729739f7cc3cb138bcad8182496c818bfd41
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/d6/7e729739f7cc3cb138bcad8182496c818bfd41 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/d6/7e729739f7cc3cb138bcad8182496c818bfd41 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1,2 @@
+xÍn!
»æ)Œë¢IÄü\¢*Ê®]Vê0`fFw_ÉUÞŸ%Ýg9çø³ tÃÅßž š§¡-SgFkgãÜæ<ºÞÙØS®AÝ|ÁÌ`Í<ØxѶ׳ ÚgÅÕϺ×ÆÍ¢òW*ðÛç
+á¡?×Ëy{-WÏOè.ã0~ê
üÐÖJªÉøu»ëîÒÚU,Ç3üÙÂ<Ê\hß%, OËRHÛÒà|ËJUê/Aòîøý
aFÌPpßòW+;Èr€HŠaí~ßß×é.Ï·*+¬^"+ûÂÒ³Õ33bÂr"|ı¿"œ}"Š]ȱ$ù5±èÏ vÊ(OºŽÏ¶SV±ú£Ud)jè~RÿßE}·%c|€ç÷ç¯üúÓŸ}
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/db/41d934c9fb08d73a947f8071d7abbb1485443a and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/db/41d934c9fb08d73a947f8071d7abbb1485443a differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/ef/55ed99e74d15ae7b9a53b89450b6a7b4c297ca new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/ef/55ed99e74d15ae7b9a53b89450b6a7b4c297ca
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/ef/55ed99e74d15ae7b9a53b89450b6a7b4c297ca 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/ef/55ed99e74d15ae7b9a53b89450b6a7b4c297ca 2018-12-05 05:11:01.000000000 +0100
@@ -0,0 +1 @@
+xP±NÄ0eÎWxGwŠ×b
/H§PSü=.BñË~¶ßó³¯9§êÞ`¢
š/-Úiì¬v š7ךt0j#ibø¢,i;OzòVM§Œ×ÖIáöŸÖo®l^+q|Z-GöÒ(¬®}ÍÏfÐÚ0ã¥òî_·š,âïº-_áœ6_K!ßù*{ŠæzªEw©,B|ÔL÷ÖWÖû×^áÖèð
\<Ïìãh%ÿùS·î7qì
ÕbZvöö'ŒY"-
©Æx¿®÷üD|ž°Ð
\ No newline at end of file
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/f1/5b83d33196d6848d9473befe854276496bdd61 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/f1/5b83d33196d6848d9473befe854276496bdd61 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/f3/ef9343eabc320319b4ebd0ec353de08648e916 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/f3/ef9343eabc320319b4ebd0ec353de08648e916 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/f8/8d44537f7f6cba688c6f9445fd67a2802368e0 and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/f8/8d44537f7f6cba688c6f9445fd67a2802368e0 differ
Binary files old/plymouth-0.9.4+git20181129.a7ec3e6/.git/objects/f9/526f0a7e39f445a984ff49a4a4eae98550e66d and new/plymouth-0.9.4+git20181204.0cd0613/.git/objects/f9/526f0a7e39f445a984ff49a4a4eae98550e66d differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/heads/list new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/heads/list
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/heads/list 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/heads/list 2018-12-02 06:53:10.000000000 +0100
@@ -0,0 +1 @@
+a7ec3e65ba3db78656883732feb9af7cf7362f77
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/heads/master new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/heads/master
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/heads/master 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/heads/master 2018-12-05 05:11:02.000000000 +0100
@@ -1 +1 @@
-a7ec3e65ba3db78656883732feb9af7cf7362f77
+0cd061375963b5f416a25ed5d715c4446fb74d5b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/heads/rm new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/heads/rm
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/heads/rm 1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/heads/rm 2018-12-02 06:53:21.000000000 +0100
@@ -0,0 +1 @@
+a7ec3e65ba3db78656883732feb9af7cf7362f77
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/remotes/origin/master new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/remotes/origin/master
--- old/plymouth-0.9.4+git20181129.a7ec3e6/.git/refs/remotes/origin/master 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/.git/refs/remotes/origin/master 2018-12-05 05:11:02.000000000 +0100
@@ -1 +1 @@
-a7ec3e65ba3db78656883732feb9af7cf7362f77
+0cd061375963b5f416a25ed5d715c4446fb74d5b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/src/plugins/renderers/drm/plugin.c new/plymouth-0.9.4+git20181204.0cd0613/src/plugins/renderers/drm/plugin.c
--- old/plymouth-0.9.4+git20181129.a7ec3e6/src/plugins/renderers/drm/plugin.c 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/src/plugins/renderers/drm/plugin.c 2018-12-05 05:11:02.000000000 +0100
@@ -78,10 +78,9 @@
ply_array_t *connector_ids;
drmModeConnector *connector0;
- int connector0_mode_index;
+ drmModeModeInfo *connector0_mode;
uint32_t controller_id;
- uint32_t encoder_id;
uint32_t console_buffer_id;
uint32_t scan_out_buffer_id;
@@ -116,6 +115,16 @@
uint32_t added_fb : 1;
} ply_renderer_buffer_t;
+typedef struct
+{
+ drmModeConnector *connector;
+ drmModeModeInfo *mode;
+ uint32_t controller_id;
+ uint32_t possible_controllers;
+ ply_pixel_buffer_rotation_t rotation;
+ bool tiled;
+} ply_output_t;
+
struct _ply_renderer_backend
{
ply_event_loop_t *loop;
@@ -436,28 +445,26 @@
static void
ply_renderer_connector_get_rotation_and_tiled (ply_renderer_backend_t *backend,
- drmModeConnector *connector,
- ply_pixel_buffer_rotation_t *rotation,
- bool *tiled)
+ ply_output_t *output)
{
drmModePropertyPtr prop;
int i;
- *rotation = PLY_PIXEL_BUFFER_ROTATE_UPRIGHT;
- *tiled = false;
+ output->rotation = PLY_PIXEL_BUFFER_ROTATE_UPRIGHT;
+ output->tiled = false;
- for (i = 0; i < connector->count_props; i++) {
- prop = drmModeGetProperty (backend->device_fd, connector->props[i]);
+ for (i = 0; i < output->connector->count_props; i++) {
+ prop = drmModeGetProperty (backend->device_fd, output->connector->props[i]);
if (!prop)
continue;
if ((prop->flags & DRM_MODE_PROP_ENUM) &&
strcmp (prop->name, "panel orientation") == 0)
- *rotation = connector_orientation_prop_to_rotation (prop, connector->prop_values[i]);
+ output->rotation = connector_orientation_prop_to_rotation (prop, output->connector->prop_values[i]);
if ((prop->flags & DRM_MODE_PROP_BLOB) &&
strcmp (prop->name, "TILE") == 0)
- *tiled = true;
+ output->tiled = true;
drmModeFreeProperty (prop);
}
@@ -466,12 +473,8 @@
static bool
ply_renderer_head_add_connector (ply_renderer_head_t *head,
drmModeConnector *connector,
- int connector_mode_index)
+ drmModeModeInfo *mode)
{
- drmModeModeInfo *mode;
-
- mode = &connector->modes[connector_mode_index];
-
if (mode->hdisplay != head->area.width || mode->vdisplay != head->area.height) {
ply_trace ("Tried to add connector with resolution %dx%d to %dx%d head",
(int) mode->hdisplay, (int) mode->vdisplay,
@@ -491,30 +494,24 @@
static ply_renderer_head_t *
ply_renderer_head_new (ply_renderer_backend_t *backend,
drmModeConnector *connector,
- int connector_mode_index,
- uint32_t encoder_id,
+ drmModeModeInfo *mode,
uint32_t controller_id,
uint32_t console_buffer_id,
int gamma_size,
ply_pixel_buffer_rotation_t rotation)
{
ply_renderer_head_t *head;
- drmModeModeInfo *mode;
int i, step;
head = calloc (1, sizeof(ply_renderer_head_t));
head->backend = backend;
- head->encoder_id = encoder_id;
head->connector_ids = ply_array_new (PLY_ARRAY_ELEMENT_TYPE_UINT32);
head->controller_id = controller_id;
head->console_buffer_id = console_buffer_id;
- assert (connector_mode_index < connector->count_modes);
- mode = &connector->modes[connector_mode_index];
-
head->connector0 = connector;
- head->connector0_mode_index = connector_mode_index;
+ head->connector0_mode = mode;
head->area.x = 0;
head->area.y = 0;
@@ -533,7 +530,7 @@
}
}
- ply_renderer_head_add_connector (head, connector, connector_mode_index);
+ ply_renderer_head_add_connector (head, connector, mode);
assert (ply_array_get_size (head->connector_ids) > 0);
head->pixel_buffer = ply_pixel_buffer_new_with_device_rotation (head->area.width, head->area.height, rotation);
@@ -655,15 +652,13 @@
ply_renderer_head_t *head,
uint32_t buffer_id)
{
- drmModeModeInfo *mode;
+ drmModeModeInfo *mode = head->connector0_mode;
uint32_t *connector_ids;
int number_of_connectors;
connector_ids = (uint32_t *) ply_array_get_uint32_elements (head->connector_ids);
number_of_connectors = ply_array_get_size (head->connector_ids);
- mode = &head->connector0->modes[head->connector0_mode_index];
-
ply_trace ("Setting scan out buffer of %ldx%ld head to our buffer",
head->area.width, head->area.height);
@@ -984,51 +979,39 @@
unload_backend (backend);
}
-static drmModeCrtc *
-find_controller_for_encoder (ply_renderer_backend_t *backend,
- drmModeEncoder *encoder)
-{
- drmModeCrtc *controller;
-
- controller = NULL;
-
- /* Monitor is already lit. We'll use the same controller.
- */
- if (encoder->crtc_id != 0) {
- controller = drmModeGetCrtc (backend->device_fd, encoder->crtc_id);
-
- if (controller != NULL) {
- ply_trace ("Found already lit monitor");
- return controller;
- }
- }
-
- return NULL;
-}
-
-static drmModeEncoder *
-find_encoder_for_connector (ply_renderer_backend_t *backend,
- drmModeConnector *connector)
+static void
+output_get_controller_info (ply_renderer_backend_t *backend,
+ ply_output_t *output)
{
int i;
drmModeEncoder *encoder;
assert (backend != NULL);
- for (i = 0; i < connector->count_encoders; i++) {
+ output->possible_controllers = 0xffffffff;
+
+ for (i = 0; i < output->connector->count_encoders; i++) {
encoder = drmModeGetEncoder (backend->device_fd,
- connector->encoders[i]);
+ output->connector->encoders[i]);
if (encoder == NULL)
continue;
- if (encoder->encoder_id == connector->encoder_id)
- return encoder;
+ if (encoder->encoder_id == output->connector->encoder_id && encoder->crtc_id) {
+ ply_trace ("Found already lit monitor on connector %u using controller %u",
+ output->connector->connector_id, encoder->crtc_id);
+ output->controller_id = encoder->crtc_id;
+ }
+ /* Like mutter and xf86-drv-modesetting only select controllers
+ * which are supported by all the connector's encoders.
+ */
+ output->possible_controllers &= encoder->possible_crtcs;
+ ply_trace ("connector %u encoder %u possible controllers 0x%08x/0x%08x",
+ output->connector->connector_id, encoder->encoder_id,
+ encoder->possible_crtcs, output->possible_controllers);
drmModeFreeEncoder (encoder);
}
-
- return NULL;
}
static bool
@@ -1051,10 +1034,10 @@
a->type == b->type;
}
-static int
-find_index_of_mode (ply_renderer_backend_t *backend,
- drmModeConnector *connector,
- drmModeModeInfo *mode)
+static drmModeModeInfo *
+find_matching_connector_mode (ply_renderer_backend_t *backend,
+ drmModeConnector *connector,
+ drmModeModeInfo *mode)
{
int i;
@@ -1063,15 +1046,15 @@
ply_trace ("Found connector mode index %d for mode %dx%d",
i, mode->hdisplay, mode->vdisplay);
- return i;
+ return &connector->modes[i];
}
}
- return -1;
+ return NULL;
}
-static int
-get_index_of_preferred_mode (drmModeConnector *connector)
+static drmModeModeInfo *
+get_preferred_mode (drmModeConnector *connector)
{
int i;
@@ -1080,52 +1063,162 @@
ply_trace ("Found preferred mode %dx%d at index %d\n",
connector->modes[i].hdisplay,
connector->modes[i].vdisplay, i);
- return i;
+ return &connector->modes[i];
}
- return -1;
+ return NULL;
}
-static int
-get_index_of_active_mode (ply_renderer_backend_t *backend,
- drmModeCrtc *controller,
- drmModeConnector *connector)
+static drmModeModeInfo *
+get_active_mode (ply_renderer_backend_t *backend,
+ ply_output_t *output)
{
- if (!controller->mode_valid) {
+ drmModeCrtc *controller;
+ drmModeModeInfo *mode;
+
+ controller = drmModeGetCrtc (backend->device_fd, output->controller_id);
+ if (!controller || !controller->mode_valid) {
ply_trace ("No valid mode currently active on monitor");
- return -1;
+ return NULL;
}
ply_trace ("Looking for connector mode index of active mode %dx%d",
controller->mode.hdisplay, controller->mode.vdisplay);
- return find_index_of_mode (backend, connector, &controller->mode);
+ mode = find_matching_connector_mode (backend, output->connector, &controller->mode);
+
+ drmModeFreeCrtc (controller);
+
+ return mode;
+}
+
+/* Some controllers can only drive some outputs, we want to find a combination
+ * where all (connected) outputs get a controller. To do this setup_outputs
+ * picks which output to assign a controller for first (trying all outputs), so
+ * that that one will get the first (free) controller and then recurses into
+ * itself to assign the remaining outputs. This tries assigning all remainig
+ * unassigned outputs first and returns the best result of all possible
+ * assignment orders for the remaining unassigned outputs.
+ * This repeats until we find an assignment order which results in a controller
+ * for all outputs, or we've tried all possible assignment orders.
+ */
+
+static uint32_t
+find_controller_for_output (ply_renderer_backend_t *backend,
+ const ply_output_t *outputs,
+ int outputs_len,
+ int output_idx)
+{
+ uint32_t possible_controllers = outputs[output_idx].possible_controllers;
+ int i, j;
+
+ for (i = 0; i < backend->resources->count_crtcs; i++) {
+ uint32_t controller_id = backend->resources->crtcs[i];
+
+ if (!(possible_controllers & (1 << i)))
+ continue; /* controller not usable for this connector */
+
+ for (j = 0; j < outputs_len; j++) {
+ if (outputs[j].controller_id == controller_id)
+ break;
+ }
+ if (j < outputs_len)
+ continue; /* controller already in use */
+
+ return controller_id;
+ }
+
+ return 0;
+}
+
+static int
+count_setup_controllers (const ply_output_t *outputs,
+ int outputs_len)
+{
+ int i, count = 0;
+
+ for (i = 0; i < outputs_len; i++) {
+ if (outputs[i].controller_id)
+ count++;
+ }
+
+ return count;
+}
+
+static ply_output_t *
+setup_outputs (ply_renderer_backend_t *backend,
+ const ply_output_t *outputs,
+ int outputs_len)
+{
+ const ply_output_t *best_outputs;
+ ply_output_t *new_outputs;
+ int i, count, best_count;
+ uint32_t controller_id;
+
+ best_count = count_setup_controllers (outputs, outputs_len);
+ best_outputs = outputs;
+
+ for (i = 0; i < outputs_len && best_count < outputs_len; i++) {
+ /* Already assigned? */
+ if (outputs[i].controller_id)
+ continue;
+
+ /* Assign controller for connector i */
+ controller_id = find_controller_for_output (backend, outputs, outputs_len, i);
+ if (!controller_id)
+ continue;
+
+ /* Add the new controller to a copy of the passed in connector
+ * template, we want to try all possible permutations of
+ * unassigned outputs without modifying the template.
+ */
+ new_outputs = calloc (outputs_len, sizeof(*new_outputs));
+ memcpy (new_outputs, outputs, outputs_len * sizeof(ply_output_t));
+ new_outputs[i].controller_id = controller_id;
+
+ /* Recurse into ourselves to assign remaining controllers,
+ * trying all possible assignment orders.
+ */
+ new_outputs = setup_outputs (backend, new_outputs, outputs_len);
+
+ count = count_setup_controllers (new_outputs, outputs_len);
+ if (count > best_count) {
+ if (best_outputs != outputs)
+ free ((void *)best_outputs);
+ best_outputs = new_outputs;
+ best_count = count;
+ } else {
+ free (new_outputs);
+ }
+ }
+
+ if (best_outputs != outputs)
+ free ((void *)outputs);
+
+ /* Our caller is allowed to modify outputs, cast-away the const */
+ return (ply_output_t *)best_outputs;
}
static bool
create_heads_for_active_connectors (ply_renderer_backend_t *backend)
{
- int i;
- drmModeConnector *connector;
ply_hashtable_t *heads_by_controller_id;
+ ply_output_t *outputs;
+ int i, j, found, number_of_setup_outputs, outputs_len;
heads_by_controller_id = ply_hashtable_new (NULL, NULL);
+ outputs = calloc (backend->resources->count_connectors, sizeof(*outputs));
+
+ /* Step 1:
+ * Build a list of connected outputs and get pre-configured controllers.
+ */
+ found = 0;
for (i = 0; i < backend->resources->count_connectors; i++) {
- ply_renderer_head_t *head;
- drmModeEncoder *encoder;
- uint32_t encoder_id;
- drmModeCrtc *controller;
- uint32_t controller_id;
- uint32_t console_buffer_id;
- int connector_mode_index = -1;
- int gamma_size;
- ply_pixel_buffer_rotation_t rotation;
- bool tiled;
+ drmModeConnector *connector;
connector = drmModeGetConnector (backend->device_fd,
backend->resources->connectors[i]);
-
if (connector == NULL)
continue;
@@ -1139,39 +1232,89 @@
continue;
}
- encoder = find_encoder_for_connector (backend, connector);
+ outputs[found].connector = connector;
- if (encoder == NULL) {
- drmModeFreeConnector (connector);
- continue;
+ output_get_controller_info (backend, &outputs[found]);
+ ply_renderer_connector_get_rotation_and_tiled (backend, &outputs[found]);
+
+ if (!outputs[found].tiled && backend->use_preferred_mode)
+ outputs[found].mode = get_preferred_mode (connector);
+
+ if (!outputs[found].mode && outputs[found].controller_id)
+ outputs[found].mode = get_active_mode (backend, &outputs[found]);
+
+ /* If we couldn't find the current active mode, fall back to the first available.
+ */
+ if (!outputs[found].mode) {
+ ply_trace ("falling back to first available mode");
+ outputs[found].mode = &connector->modes[0];
}
- encoder_id = encoder->encoder_id;
- controller = find_controller_for_encoder (backend, encoder);
- drmModeFreeEncoder (encoder);
+ found++;
+ }
+ outputs_len = found; /* outputs now contains found valid entries */
- if (controller == NULL) {
- drmModeFreeConnector (connector);
+ /* Step 2:
+ * Drop controllers for clones for which we've picked different modes.
+ */
+ for (i = 0; i < outputs_len; i++) {
+ if (!outputs[i].controller_id)
continue;
- }
- controller_id = controller->crtc_id;
+ for (j = i + 1; j < outputs_len; j++) {
+ if (!outputs[j].controller_id)
+ continue;
- ply_renderer_connector_get_rotation_and_tiled (backend, connector, &rotation, &tiled);
+ if (outputs[i].controller_id == outputs[j].controller_id &&
+ (outputs[i].mode->hdisplay != outputs[j].mode->hdisplay ||
+ outputs[i].mode->vdisplay != outputs[j].mode->vdisplay)) {
+ ply_trace ("connector %u uses same controller as %u and modes differ, unlinking controller",
+ outputs[j].connector->connector_id,
+ outputs[i].connector->connector_id);
+ outputs[j].controller_id = 0;
+ }
+ }
+ }
- if (!tiled && backend->use_preferred_mode)
- connector_mode_index = get_index_of_preferred_mode (connector);
+ /* Step 3:
+ * Assign controllers to outputs without a controller
+ */
+ number_of_setup_outputs = count_setup_controllers (outputs, outputs_len);
+ if (number_of_setup_outputs != outputs_len) {
+ /* First try, try to assign controllers to outputs without one */
+ ply_trace ("Some outputs don't have controllers, picking controllers");
+ outputs = setup_outputs (backend, outputs, outputs_len);
+ number_of_setup_outputs = count_setup_controllers (outputs, outputs_len);
+ }
+ if (number_of_setup_outputs != outputs_len) {
+ /* Second try, re-assing controller for all outputs */
+ ply_trace ("Some outputs still don't have controllers, re-assigning controllers for all outputs");
+ for (i = 0; i < outputs_len; i++)
+ outputs[i].controller_id = 0;
+ outputs = setup_outputs (backend, outputs, outputs_len);
+ }
+ for (i = 0; i < outputs_len; i++)
+ ply_trace ("Using controller %u for connector %u",
+ outputs[i].controller_id, outputs[i].connector->connector_id);
- if (connector_mode_index < 0)
- connector_mode_index = get_index_of_active_mode (backend, controller, connector);
+ /* Step 4:
+ * Create heads for all valid outputs
+ */
+ for (i = 0; i < outputs_len; i++) {
+ drmModeConnector *connector = outputs[i].connector;
+ drmModeCrtc *controller;
+ ply_renderer_head_t *head;
+ uint32_t controller_id;
+ uint32_t console_buffer_id;
+ int gamma_size;
- /* If we couldn't find the current active mode, fall back to the first available.
- */
- if (connector_mode_index < 0) {
- ply_trace ("falling back to first available mode");
- connector_mode_index = 0;
+ controller = drmModeGetCrtc (backend->device_fd, outputs[i].controller_id);
+ if (!controller) {
+ drmModeFreeConnector (connector);
+ continue;
}
+ controller_id = controller->crtc_id;
console_buffer_id = controller->buffer_id;
gamma_size = controller->gamma_size;
drmModeFreeCrtc (controller);
@@ -1180,9 +1323,9 @@
(void *) (intptr_t) controller_id);
if (head == NULL) {
- head = ply_renderer_head_new (backend, connector, connector_mode_index,
- encoder_id, controller_id,
- console_buffer_id, gamma_size, rotation);
+ head = ply_renderer_head_new (backend, connector, outputs[i].mode,
+ controller_id, console_buffer_id,
+ gamma_size, outputs[i].rotation);
ply_list_append_data (backend->heads, head);
@@ -1190,7 +1333,7 @@
(void *) (intptr_t) controller_id,
head);
} else {
- if (!ply_renderer_head_add_connector (head, connector, connector_mode_index))
+ if (!ply_renderer_head_add_connector (head, connector, outputs[i].mode))
ply_trace ("couldn't connect monitor to existing head");
drmModeFreeConnector (connector);
@@ -1198,6 +1341,7 @@
}
ply_hashtable_free (heads_by_controller_id);
+ free (outputs);
return ply_list_get_length (backend->heads) > 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plymouth-0.9.4+git20181129.a7ec3e6/src/plugins/splash/two-step/plugin.c new/plymouth-0.9.4+git20181204.0cd0613/src/plugins/splash/two-step/plugin.c
--- old/plymouth-0.9.4+git20181129.a7ec3e6/src/plugins/splash/two-step/plugin.c 2018-11-29 10:49:57.000000000 +0100
+++ new/plymouth-0.9.4+git20181204.0cd0613/src/plugins/splash/two-step/plugin.c 2018-12-05 05:11:02.000000000 +0100
@@ -312,8 +312,12 @@
if (ply_renderer_get_panel_properties (ply_pixel_display_get_renderer (view->display),
&panel_width, &panel_height,
&panel_rotation, &panel_scale)) {
- ply_pixel_buffer_set_device_rotation (bgrt_buffer, panel_rotation);
- ply_pixel_buffer_set_device_scale (bgrt_buffer, panel_scale);
+ /* Upside-down panels are fixed up in HW by the GOP, so the
+ * bgrt image is not rotated in this case.
+ */
+ if (panel_rotation != PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN)
+ ply_pixel_buffer_set_device_rotation (bgrt_buffer, panel_rotation);
+ ply_pixel_buffer_set_device_scale (bgrt_buffer, panel_scale);
}
width = ply_pixel_buffer_get_width (bgrt_buffer);