xserver-xorg-video-modesetting: Changes to 'ubuntu'
configure.ac | 2 -
debian/changelog | 21 +++++++++----
debian/patches/.gitignore | 1
debian/patches/series | 2 -
debian/patches/support-32bpp-on-24bpp.patch | 13 --------
src/driver.c | 43 +++++++++++++++-------------
src/drmmode_display.c | 2 -
src/drmmode_display.h | 2 -
8 files changed, 42 insertions(+), 44 deletions(-)
New commits:
commit 4eea451d67ff7c6ac7685ef74a00f14afc22004f
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jun 12 14:37:22 2013 +0200
release to saucy
diff --git a/debian/changelog b/debian/changelog
index 1e11b40..98464ec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-modesetting (0.8.0-0ubuntu1) saucy; urgency=low
+
+ * Merge from unreleased debian git.
+ - Drop support-32bpp-on-24bpp.patch, upstreamed.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Wed, 12 Jun 2013 14:35:29 +0200
+
xserver-xorg-video-modesetting (0.8.0-1) UNRELEASED; urgency=low
* New upstream release.
diff --git a/debian/patches/.gitignore b/debian/patches/.gitignore
deleted file mode 100644
index 69f1bf4..0000000
--- a/debian/patches/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-!*.patch
diff --git a/debian/patches/series b/debian/patches/series
index 58ae276..fdffa2a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1 @@
-support-32bpp-on-24bpp.patch
+# placeholder
diff --git a/debian/patches/support-32bpp-on-24bpp.patch b/debian/patches/support-32bpp-on-24bpp.patch
deleted file mode 100644
index 4e9c5a8..0000000
--- a/debian/patches/support-32bpp-on-24bpp.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/driver.c b/src/driver.c
-index 06d6d53..742aadd 100644
---- a/src/driver.c
-+++ b/src/driver.c
-@@ -650,7 +650,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
- #endif
- drmmode_get_default_bpp(pScrn, &ms->drmmode, &defaultdepth, &defaultbpp);
- if (defaultdepth == 24 && defaultbpp == 24)
-- bppflags = Support24bppFb;
-+ bppflags = SupportConvert32to24 | Support24bppFb;
- else
- bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb;
-
commit 9949a0fdc3290717eed4f55a6cbee87ef74708b0
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jun 12 14:34:36 2013 +0200
bump version
diff --git a/debian/changelog b/debian/changelog
index ac74449..9a55573 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-modesetting (0.7.0-1) UNRELEASED; urgency=low
+xserver-xorg-video-modesetting (0.8.0-1) UNRELEASED; urgency=low
* New upstream release.
* Require x-server 1.13rc1
commit 58d3dc53a89c5aa2acfc93e4ae5719dd92b785b9
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jun 12 14:11:53 2013 +0200
bump to 0.8.0
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
diff --git a/configure.ac b/configure.ac
index f0c267f..6f7a7be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-modesetting],
- [0.7.0],
+ [0.8.0],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-modesetting])
AC_CONFIG_SRCDIR([Makefile.am])
commit a299400b8404f935e5e2bc6a5b9c17821844bd0d
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jun 12 14:05:19 2013 +0200
modesetting: probe only succeeds if connectors are detected
This will prevent modesetting being used for outputless intel or nvidia cards.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
diff --git a/src/driver.c b/src/driver.c
index c3d78be..cc526f6 100644
--- a/src/driver.c
+++ b/src/driver.c
@@ -201,12 +201,25 @@ static int open_hw(char *dev)
return fd;
}
+static int check_outputs(int fd)
+{
+ drmModeResPtr res = drmModeGetResources(fd);
+ int ret;
+
+ if (!res)
+ return FALSE;
+ ret = res->count_connectors > 0;
+ drmModeFreeResources(res);
+ return ret;
+}
+
static Bool probe_hw(char *dev)
{
int fd = open_hw(dev);
if (fd != -1) {
+ int ret = check_outputs(fd);
close(fd);
- return TRUE;
+ return ret;
}
return FALSE;
}
@@ -226,7 +239,7 @@ ms_DRICreatePCIBusID(const struct pci_device *dev)
static Bool probe_hw_pci(char *dev, struct pci_device *pdev)
{
- int fd = open_hw(dev);
+ int ret = FALSE, fd = open_hw(dev);
char *id, *devid;
drmSetVersion sv;
@@ -247,13 +260,12 @@ static Bool probe_hw_pci(char *dev, struct pci_device *pdev)
devid = ms_DRICreatePCIBusID(pdev);
close(fd);
- if (!id || !devid)
- return FALSE;
-
- if (!strcmp(id, devid))
- return TRUE;
+ if (id && devid && !strcmp(id, devid))
+ ret = check_outputs(fd);
- return FALSE;
+ free(id);
+ free(devid);
+ return ret;
}
static const OptionInfoRec *
AvailableOptions(int chipid, int busid)
commit a62d5e60896166be88fcf3778921b8d10baec2c1
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Jun 11 10:29:25 2013 +1000
modesetting: fix adjust frame crash
When SDL called this it was totally broken, actually hook
up to the underlying drmmode function.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64808
Thanks to Peter Wu <lekensteyn@gmail.com> for harassing me.
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/driver.c b/src/driver.c
index 742aadd..c3d78be 100644
--- a/src/driver.c
+++ b/src/driver.c
@@ -956,16 +956,9 @@ static void
AdjustFrame(ADJUST_FRAME_ARGS_DECL)
{
SCRN_INFO_PTR(arg);
- xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
- xf86OutputPtr output = config->output[config->compat_output];
- xf86CrtcPtr crtc = output->crtc;
-
- if (crtc && crtc->enabled) {
- crtc->funcs->mode_set(crtc, pScrn->currentMode, pScrn->currentMode, x,
- y);
- crtc->x = output->initial_x + x;
- crtc->y = output->initial_y + y;
- }
+ modesettingPtr ms = modesettingPTR(pScrn);
+
+ drmmode_adjust_frame(pScrn, &ms->drmmode, x, y);
}
static void
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 2dc7576..ce90cea 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1267,7 +1267,7 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp)
return TRUE;
}
-void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y, int flags)
+void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y)
{
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
xf86OutputPtr output = config->output[config->compat_output];
diff --git a/src/drmmode_display.h b/src/drmmode_display.h
index 1d5522b..adf4b99 100644
--- a/src/drmmode_display.h
+++ b/src/drmmode_display.h
@@ -118,7 +118,7 @@ Bool drmmode_SetSlaveBO(PixmapPtr ppix,
#endif
extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp);
-void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y, int flags);
+void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y);
extern Bool drmmode_set_desired_modes(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
extern Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn);
commit cba29fd8c2f605ed66718aa3a6b5833deb5d4cf9
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Apr 3 12:08:44 2013 +0200
support 32 bpp pixmaps when 24 bpp fb is used.
Fixes background corruption in ubuntu.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
diff --git a/src/driver.c b/src/driver.c
index 06d6d53..742aadd 100644
--- a/src/driver.c
+++ b/src/driver.c
@@ -650,7 +650,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
#endif
drmmode_get_default_bpp(pScrn, &ms->drmmode, &defaultdepth, &defaultbpp);
if (defaultdepth == 24 && defaultbpp == 24)
- bppflags = Support24bppFb;
+ bppflags = SupportConvert32to24 | Support24bppFb;
else
bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb;
Reply to: