commit xf86-video-intel for openSUSE:12.2
Hello community, here is the log from the commit of package xf86-video-intel for openSUSE:12.2 checked in at 2012-07-23 12:10:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.2/xf86-video-intel (Old) and /work/SRC/openSUSE:12.2/.xf86-video-intel.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "xf86-video-intel", Maintainer is "" Changes: -------- New Changes file: --- /dev/null 2012-07-06 19:40:38.919402255 +0200 +++ /work/SRC/openSUSE:12.2/.xf86-video-intel.new/xf86-video-intel.changes 2012-07-23 12:10:06.000000000 +0200 @@ -0,0 +1,105 @@ +------------------------------------------------------------------- +Sun Jul 15 21:40:02 UTC 2012 - tobias.johannes.klausmann@mni.thm.de + +- A new acceleration method "sna" that aims to be faster and + consume far less CPU than UXA is now available for selection at runtime. +- Bug fixes for UXA: + + Use a white source whilst adding glyphs to the glyph mask + (This fixes blank glyphs if using a font that mixes ARGB and A glyphs.) + + Avoid fallbacks for glyph-to-dst in e.g. gnome-terminal + https://bugs.freedesktop.org/show_bug.cgi?id=50508 + + Force unused outputs off when VT switching + https://bugs.freedesktop.org/show_bug.cgi?id=50772 + + Copy the fbcon across to the Screen pixmap at startup. + (This patch has been kicking around in the distributions for years.) + + Many missed malloc failures checks and forgotten frees found by a static + analyzer. Thanks Zdenek Kabelac! + + Leak of the back buffer when terminating an application after pageflipping + https://bugs.freedesktop.org/show_bug.cgi?id=50670 + + Double check that the pipe is on before emitting a WAIT_ON_EVENT. + In conjunction with an uptodate kernel, this should eliminate any + hangs when changing resolutions or adding/removing displays. + https://bugs.freedesktop.org/show_bug.cgi?id=50668 + + Update to new Xorg APIs. Future proofing for the next generation of + hotplug Xorg display servers. + +------------------------------------------------------------------- +Tue Jul 10 20:34:03 UTC 2012 - badshah400@gmail.com + +- Add U_Fix_uxa_Check_for_DPMS_off.patch to check for DPMS off + before scheduling a WAIT_ON_EVENT when using uxa; fixes a + critical regression introduced in a previous commit + [bnc#768584]. + +------------------------------------------------------------------- +Mon Jul 2 10:11:53 UTC 2012 - sndirsch@suse.com + +- U_Avoid-calling-xf86nameCompare-with-a-NULL-string.patch/ + U_Fix-up-braindamage-in-previous-commit.patch + * fixes Sig11 with missing driver name in xorg.conf (bnc#766059, + fdo#51640) + +------------------------------------------------------------------- +Tue Jun 12 10:51:01 UTC 2012 - sndirsch@suse.com + +- let require glamor package instead of recommending it, since the + driver is linked against this library (there is not only a glamor + Xserver module as I believed first!) + +------------------------------------------------------------------- +Fri Jun 1 12:29:20 UTC 2012 - sndirsch@suse.com + +- updated to latest git version 2.19.0_20120601_8eed569 with a lot + of fixes for SNA and the configuration possibility to use UXA, + SNA or GLAMOR 2D acceleration +- make again UXA the default, but als build SNA and GLAMOR backends +- recommend instead of require glamor package + +------------------------------------------------------------------- +Fri Jun 1 09:24:27 UTC 2012 - sndirsch@suse.com + +- remove hw supplements, add recommends to vaapi-intel-driver + (bnc#764395) + +------------------------------------------------------------------- +Wed May 30 11:10:16 UTC 2012 - sndirsch@suse.com + +- apparently building with "--disable-uxa --enable-glamor" is + different from building with "--enable-glamor". The former + resulted in an intel driver no longer working at all. The latter + results in an "glamor"-enabled intel driver. So use the latter + one. ;-) + +------------------------------------------------------------------- +Wed May 30 09:52:16 UTC 2012 - sndirsch@suse.com + +- enable "glamor" for real + +------------------------------------------------------------------- +Sat May 26 21:43:46 UTC 2012 - sndirsch@suse.com + +- switched to "glamor" 2D acceleration + +------------------------------------------------------------------- +Sat May 26 06:24:14 UTC 2012 - crrodriguez@opensuse.org + +- Update to version 2.19.0, bugfixes and support + for Ivy bridge server chipset. + +------------------------------------------------------------------- +Tue May 22 23:23:59 UTC 2012 - crrodriguez@opensuse.org + +- Add proper "Supplements" so driver gets pulled automatically + if the user has suitable hardware. + +------------------------------------------------------------------- +Fri Apr 20 07:37:43 UTC 2012 - vuntz@opensuse.org + +- Use %x11_abi_videodrv_req instead of static ABI Requires. + +------------------------------------------------------------------- +Wed Apr 18 15:51:24 UTC 2012 - vuntz@opensuse.org + +- Split xf86-video-intel from xorg-x11-driver-video. + Initial version: 2.18.0. + Old: ---- _link New: ---- baselibs.conf xf86-video-intel-2.20.0.tar.bz2 xf86-video-intel-copyfb.diff xf86-video-intel-dell_backlight.diff xf86-video-intel.changes xf86-video-intel.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-video-intel.spec ++++++ # # spec file for package xf86-video-intel # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define glamor 1 Name: xf86-video-intel Version: 2.20.0 Release: 0 Summary: Intel video driver for the Xorg X server License: MIT Group: System/X11/Servers/XF86_4 Url: http://xorg.freedesktop.org/ Source0: %{name}-%{version}.tar.bz2 Source99: baselibs.conf Patch0: xf86-video-intel-dell_backlight.diff Patch1: xf86-video-intel-copyfb.diff %if %glamor Requires: glamor %endif Recommends: vaapi-intel-driver BuildRequires: Mesa-libGL-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkg-config BuildRequires: pkgconfig(dri2proto) >= 2.6 BuildRequires: pkgconfig(fontsproto) BuildRequires: pkgconfig(libdrm) >= 2.4.24 BuildRequires: pkgconfig(libdrm_intel) >= 2.4.29 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(pciaccess) >= 0.10 BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(randrproto) BuildRequires: pkgconfig(renderproto) BuildRequires: pkgconfig(valgrind) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb-aux) BuildRequires: pkgconfig(xcb-dri2) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xextproto) BuildRequires: pkgconfig(xf86driproto) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xorg-macros) >= 1.8 BuildRequires: pkgconfig(xorg-server) >= 1.0.99.901 BuildRequires: pkgconfig(xproto) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xvmc) %if %glamor BuildRequires: pkgconfig(glamor) %endif Supplements: xorg-x11-server # This was part of the xorg-x11-driver-video package up to version 7.6 Conflicts: xorg-x11-driver-video <= 7.6 Provides: intel-i810-xorg-x11 = %{version} Obsoletes: intel-i810-xorg-x11 < %{version} Provides: xorg-x11-driver-video-intel = %{version} Obsoletes: xorg-x11-driver-video-intel < %{version} # No Provides, as we technically don't provide the binaries Obsoletes: 855resolution Obsoletes: 915resolution BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 %x11_abi_videodrv_req %description intel is an Xorg driver for Intel integrated video cards. The driver supports depths 8, 15, 16 and 24. All visual types are supported in depth 8. For the i810/i815 other depths support the TrueColor and DirectColor visuals. For the i830M and later, only the TrueColor visual is supported for depths greater than 8. The driver supports hardware accelerated 3D via the Direct Rendering Infrastructure (DRI), but only in depth 16 for the i810/i815 and depths 16 and 24 for the 830M and later. %prep %setup -q -n %{name}-%{version} %patch0 -p1 ### disabled for now (bnc #687802) #%patch1 -p1 %build autoreconf -fi %configure \ --enable-uxa \ --enable-sna \ %if %glamor --enable-glamor \ %endif --with-default-accel=uxa make %{?_smp_mflags} %install %make_install find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS COPYING NEWS README %{_libdir}/libI810XvMC.so* %{_libdir}/libIntelXvMC.so* %dir %{_libdir}/xorg/modules/drivers %{_libdir}/xorg/modules/drivers/intel_drv.so %{_datadir}/man/man4/intel.4%{?ext_man} %changelog ++++++ baselibs.conf ++++++ xf86-video-intel -/usr/lib/xorg ++++++ xf86-video-intel-copyfb.diff ++++++ --- a/src/intel.h.orig 2011-04-14 15:57:29.765054000 +0200 +++ b/src/intel.h 2011-04-14 15:57:45.895588000 +0200 @@ -462,6 +462,7 @@ extern void intel_mode_fini(intel_screen extern int intel_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, xf86CrtcPtr crtc); extern int intel_crtc_id(xf86CrtcPtr crtc); extern int intel_output_dpms_status(xf86OutputPtr output); +extern void intel_copy_fb(ScrnInfoPtr pScrn); enum DRI2FrameEventType { DRI2_SWAP, diff --git a/src/intel_display.c b/src/intel_display.c index 7167e86..67a3351 100644 --- a/src/intel_display.c +++ b/src/intel_display.c @@ -30,6 +30,7 @@ #endif #include <sys/types.h> +#include <sys/ioctl.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> @@ -1422,6 +1423,108 @@ fail: return FALSE; } +static PixmapPtr +intel_create_pixmap_for_fbcon(ScrnInfoPtr pScrn) +{ + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); + ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex]; + drmModeFBPtr fbcon = NULL; + PixmapPtr pixmap = NULL; + struct drm_gem_flink flink; + drm_intel_bo *bo; + + struct intel_crtc *intel_crtc = xf86_config->crtc[0]->driver_private; + struct intel_mode *intel_mode = intel_crtc->mode; + intel_screen_private *intel = intel_get_screen_private(pScrn); + int i; + + for (i = 0; i < intel_mode->mode_res->count_crtcs; i++) { + intel_crtc = xf86_config->crtc[i]->driver_private; + + fbcon = drmModeGetFB(intel_mode->fd, intel_crtc->mode_crtc->buffer_id); + if (fbcon != NULL) break; + } + if (fbcon == NULL) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Couldn't find an fbcon\n."); + return NULL; + } + flink.handle = fbcon->handle; + if (ioctl(intel_mode->fd, DRM_IOCTL_GEM_FLINK, &flink) < 0) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Couldn't flink fbcon handle\n"); + return NULL; + } + bo = drm_intel_bo_gem_create_from_name(intel->bufmgr, + "fbcon", flink.name); + + if (bo == NULL) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Couldn't allocate bo for fbcon handle\n"); + return NULL; + } + + pixmap = GetScratchPixmapHeader(pScreen, + fbcon->width, fbcon->height, + fbcon->depth, fbcon->bpp, + fbcon->pitch, NULL); + if (pixmap == NULL) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Couldn't allocate pixmap fbcon contents\n"); + return NULL; + } + + intel_set_pixmap_bo(pixmap, bo); + drm_intel_bo_unreference(bo); + drmModeFreeFB(fbcon); + + return pixmap; +} + +void intel_copy_fb(ScrnInfoPtr pScrn) +{ + ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex]; + intel_screen_private *intel = intel_get_screen_private(pScrn); + PixmapPtr src, dst; + unsigned int pitch = pScrn->displayWidth * intel->cpp; + int savePMSize; + int pixmap_size; + + /* Ugly: this runs before CreateScratchPixmap() which normally calculates + this number :( + */ + pixmap_size = sizeof(PixmapRec) + dixPrivatesSize(PRIVATE_PIXMAP); + savePMSize = pScreen->totalPixmapSize; + pScreen->totalPixmapSize = BitmapBytePad(pixmap_size * 8); + + src = intel_create_pixmap_for_fbcon(pScrn); + if (src == NULL) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Couldn't create pixmap for fbcon\n"); + pScreen->totalPixmapSize = savePMSize; + return; + } + + /* We dont have a screen Pixmap yet */ + dst = GetScratchPixmapHeader(pScreen, + pScrn->virtualX, pScrn->virtualY, + pScrn->depth, pScrn->bitsPerPixel, + pitch, + NULL); + pScreen->totalPixmapSize = savePMSize; + intel_set_pixmap_bo(dst,intel->front_buffer); + intel->uxa_driver->prepare_copy(src, dst, -1, -1, GXcopy, FB_ALLONES); + + intel->uxa_driver->copy(dst, 0, 0, 0, 0, + pScrn->virtualX, pScrn->virtualY); + intel->uxa_driver->done_copy(dst); + + intel_batch_submit(pScrn); + + (*pScreen->DestroyPixmap)(src); + (*pScreen->DestroyPixmap)(dst); +} + Bool intel_do_pageflip(intel_screen_private *intel, dri_bo *new_front, @@ -1569,6 +1672,8 @@ Bool intel_mode_pre_init(ScrnInfoPtr scrn, int fd, int cpp) unsigned int i; int has_flipping; + scrn->canDoBGNoneRoot = TRUE; + mode = calloc(1, sizeof *mode); if (!mode) return FALSE; diff --git a/src/intel_driver.c b/src/intel_driver.c index 1275e4b..4a1c8b9 100644 --- a/src/intel_driver.c +++ b/src/intel_driver.c @@ -1222,6 +1222,8 @@ static Bool I830EnterVT(int scrnIndex, int flags) intel_set_gem_max_sizes(scrn); + intel_copy_fb(scrn); + if (!xf86SetDesiredModes(scrn)) return FALSE; ++++++ xf86-video-intel-dell_backlight.diff ++++++
From 1c842c674ca8ede1bac5ce502bfdaaf3770c4474 Mon Sep 17 00:00:00 2001 From: Tobias Klausmann <tobias.klausmann@mni.thm.de> Date: Sun, 15 Jul 2012 23:19:31 +0200 Subject: [PATCH] Rebase xf86-video-intel-dell_backlight.diff
--- src/intel_display.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/intel_display.c b/src/intel_display.c index 0a80aa8..0ac94c9 100644 --- a/src/intel_display.c +++ b/src/intel_display.c @@ -127,6 +127,7 @@ intel_output_dpms_backlight(xf86OutputPtr output, int oldmode, int mode); * List of available kernel interfaces in priority order */ static const char *backlight_interfaces[] = { + "dell_backlight", "asus-laptop", "asus-nb-wmi", "eeepc", --- 1.7.7 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de