Hello community, here is the log from the commit of package xorg-x11-server for openSUSE:Factory checked in at 2014-08-15 09:58:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old) and /work/SRC/openSUSE:Factory/.xorg-x11-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-server" Changes: -------- --- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes 2014-08-11 10:06:55.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new/xorg-x11-server.changes 2014-08-15 09:58:34.000000000 +0200 @@ -1,0 +2,27 @@ +Wed Aug 13 12:39:39 UTC 2014 - [email protected] + +- only add /etc/alternatives/libglx.so as ghost on suse >= 1315 + +------------------------------------------------------------------- +Wed Aug 13 08:13:21 UTC 2014 - [email protected] + +- added /etc/alternatives/libglx.so as ghost +- moved libglx-xorg.so to xorg/xorg-libglx.so to avoid messup in case + anybody runs ldconfig in modules/extensions + +------------------------------------------------------------------- +Tue Aug 12 12:26:52 UTC 2014 - [email protected] + +- make use of update-alternatives for libglx.so (FATE#317822) + +------------------------------------------------------------------- +Thu Aug 7 17:35:12 UTC 2014 - [email protected] + +- Change U_ to u_ as these patches are not upstream yet: + * U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch + --> u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch + * U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch + --> u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch + (bnc#890599). + +------------------------------------------------------------------- Old: ---- U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch New: ---- u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-server.spec ++++++ --- /var/tmp/diff_new_pack.WRsXgB/_old 2014-08-15 09:58:36.000000000 +0200 +++ /var/tmp/diff_new_pack.WRsXgB/_new 2014-08-15 09:58:36.000000000 +0200 @@ -118,6 +118,10 @@ %(cat %{SOURCE91}) %endif Requires: Mesa +%if 0%{?suse_version} >= 1315 +Requires(post): update-alternatives +Requires(postun): update-alternatives +%endif Provides: xorg-x11-Xvfb Provides: xorg-x11-server-glx Obsoletes: xorg-x11-Xvfb @@ -152,8 +156,8 @@ Patch111: u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch Patch130: U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch -Patch131: U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch -Patch132: U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch +Patch131: u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch +Patch132: u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch Patch1000: n_xserver-optimus-autoconfig-hack.patch @@ -341,6 +345,14 @@ %endif install -m 755 $RPM_SOURCE_DIR/xorg-backtrace %{buildroot}%{_bindir}/xorg-backtrace install -D xorg-x11-server.macros %{buildroot}%{_sysconfdir}/rpm/macros.xorg-server +%ifnarch s390 s390x +%if 0%{?suse_version} >= 1315 +mkdir -p %{buildroot}%{_libdir}/xorg/modules/extensions/xorg +mv %{buildroot}%{_libdir}/xorg/modules/extensions/libglx.so \ + %{buildroot}%{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so +ln -snf %{_sysconfdir}/alternatives/libglx.so %{buildroot}%{_libdir}/xorg/modules/extensions/libglx.so +%endif +%endif %post %ifnarch s390 s390x @@ -367,9 +379,22 @@ chmod -x usr/sbin/sax2 fi fi +%if 0%{?suse_version} >= 1315 +%_sbindir/update-alternatives \ + --force --install %{_libdir}/xorg/modules/extensions/libglx.so libglx.so %{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so 50 +%endif %endif exit 0 +%ifnarch s390 s390x +%if 0%{?suse_version} >= 1315 +%postun +if [ "$1" = 0 ] ; then + "%_sbindir/update-alternatives" --remove libglx.so %{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so +fi +%endif +%endif + %files %defattr(-,root,root) %ifnarch s390 s390x @@ -405,6 +430,9 @@ %{_mandir}/man5/* %{_localstatedir}/adm/fillup-templates/sysconfig.displaymanager-%{name} %{_localstatedir}/lib/X11/X +%if 0%{?suse_version} >= 1315 +%ghost %{_sysconfdir}/alternatives/libglx.so +%endif %endif %{_bindir}/Xvfb %{_bindir}/xorg-backtrace ++++++ u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch ++++++ >From patchwork Fri Jun 6 11:52:13 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: fb: Correctly implement CopyArea when using a window with depth 32 and 24bpp. From: Robert Ancell <[email protected]> X-Patchwork-Id: 27263 Message-Id: <[email protected]> To: [email protected] Cc: Robert Ancell <[email protected]> Date: Fri, 6 Jun 2014 23:52:13 +1200 When using the fb backend at 24bpp it allows a visual with 32 bit depth. When using CopyArea from a 32bpp pixmap to a window with a 32 bit depth it would read the ARGB as RGB. Fix is to correctly ignore the alpha channel in the pixmap when copying. --- fb/fbcopy.c | 10 +++++++++- fb/fbcopy.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- a/fb/fbcopy.c +++ b/fb/fbcopy.c @@ -242,8 +242,16 @@ fbCopyArea(DrawablePtr pSrcDrawable, int xIn, int yIn, int widthSrc, int heightSrc, int xOut, int yOut) { miCopyProc copy; + int src_bpp, dst_bpp; - if (pSrcDrawable->bitsPerPixel != pDstDrawable->bitsPerPixel) + src_bpp = pSrcDrawable->bitsPerPixel; + if (src_bpp < pSrcDrawable->depth) + src_bpp = BitsPerPixel (pSrcDrawable->depth); + dst_bpp = pDstDrawable->bitsPerPixel; + if (dst_bpp < pDstDrawable->depth) + dst_bpp = BitsPerPixel (pDstDrawable->depth); + + if (src_bpp != dst_bpp) copy = fb24_32CopyMtoN; else copy = fbCopyNtoN; ++++++ u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch ++++++ >From patchwork Fri Jun 6 04:36:59 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: render: Don't generate invalid pixman format when using a 24bpp framebuffer with a 32bit depth visual. From: Robert Ancell <[email protected]> X-Patchwork-Id: 27240 Message-Id: <[email protected]> To: [email protected] Cc: Robert Ancell <[email protected]> Date: Fri, 6 Jun 2014 16:36:59 +1200 When using the fb backend at 24bpp it allows a visual with 32 bit depth. This would cause RENDER to try and create an invalid pixman buffer and hit the following assertion when trying to render to it: --- render/picture.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/render/picture.c +++ b/render/picture.c @@ -762,6 +762,7 @@ CreatePicture(Picture pid, { PicturePtr pPicture; PictureScreenPtr ps = GetPictureScreen(pDrawable->pScreen); + int bpp; pPicture = dixAllocateScreenObjectWithPrivates(pDrawable->pScreen, PictureRec, PRIVATE_PICTURE); @@ -773,7 +774,10 @@ CreatePicture(Picture pid, pPicture->id = pid; pPicture->pDrawable = pDrawable; pPicture->pFormat = pFormat; - pPicture->format = pFormat->format | (pDrawable->bitsPerPixel << 24); + bpp = pDrawable->bitsPerPixel; + if (bpp < pFormat->depth) + bpp = BitsPerPixel (pFormat->depth); + pPicture->format = pFormat->format | (bpp << 24); /* security creation/labeling check */ *error = XaceHook(XACE_RESOURCE_ACCESS, client, pid, PictureType, pPicture, -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
