[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-intel: Changes to 'ubuntu'



 NEWS                                            |   45 
 configure.ac                                    |  113 +-
 debian/changelog                                |   27 
 debian/copyright                                |  360 +++++-
 debian/patches/fix-uxa-fglrx-stealing.diff      |  646 -----------
 debian/patches/series                           |    4 
 debian/patches/sna-freescreen.diff              |   19 
 debian/patches/sna-use-vmask-in-3dstate-ps.diff |   65 -
 debian/source/format                            |    1 
 debian/upstream.changelog                       | 1088 +++++++++++++++++++
 debian/xserver-xorg-video-intel.maintscript     |    1 
 man/intel.man                                   |   11 
 src/backlight.c                                 |   75 +
 src/backlight.h                                 |    4 
 src/compat-api.h                                |   32 
 src/fd.c                                        |   24 
 src/fd.h                                        |    1 
 src/i915_pciids.h                               |   17 
 src/intel_device.c                              |  152 ++
 src/intel_driver.h                              |   25 
 src/intel_module.c                              |   61 -
 src/legacy/i810/i810_driver.c                   |    4 
 src/render_program/Makefile.am                  |   11 
 src/render_program/exa_wm_src_affine.g8a        |    1 
 src/render_program/exa_wm_src_sample_argb.g8a   |    1 
 src/render_program/exa_wm_src_sample_planar.g8a |    1 
 src/render_program/exa_wm_write.g8a             |    1 
 src/render_program/exa_wm_yuv_rgb.g8a           |  105 +
 src/render_program/exa_wm_yuv_rgb.g8b           |   21 
 src/sna/Makefile.am                             |    1 
 src/sna/brw/brw_eu.c                            |    4 
 src/sna/brw/brw_eu.h                            |    2 
 src/sna/brw/brw_test_gen4.c                     |   12 
 src/sna/brw/brw_test_gen5.c                     |   14 
 src/sna/brw/brw_test_gen6.c                     |    6 
 src/sna/brw/brw_test_gen7.c                     |    2 
 src/sna/brw/brw_wm.c                            |    4 
 src/sna/fb/fbpict.c                             |   12 
 src/sna/gen2_render.c                           |    4 
 src/sna/gen3_render.c                           |    4 
 src/sna/gen4_render.c                           |    6 
 src/sna/gen4_vertex.c                           |    8 
 src/sna/gen5_render.c                           |    8 
 src/sna/gen6_render.c                           |  139 +-
 src/sna/gen7_render.c                           |   22 
 src/sna/gen8_eu.c                               |   32 
 src/sna/gen8_render.c                           |   88 -
 src/sna/gen8_render.h                           |   30 
 src/sna/kgem.c                                  | 1047 ++++++++++++-------
 src/sna/kgem.h                                  |   75 +
 src/sna/sna.h                                   |   31 
 src/sna/sna_accel.c                             |  773 ++++++++------
 src/sna/sna_blt.c                               |  149 +-
 src/sna/sna_composite.c                         |   35 
 src/sna/sna_cpuid.h                             |    4 
 src/sna/sna_damage.h                            |   56 -
 src/sna/sna_display.c                           | 1262 ++++++++++++++++------
 src/sna/sna_display_fake.c                      |    7 
 src/sna/sna_dri2.c                              |  487 ++++----
 src/sna/sna_dri3.c                              |    2 
 src/sna/sna_driver.c                            |  155 +-
 src/sna/sna_glyphs.c                            |   36 
 src/sna/sna_io.c                                |   67 -
 src/sna/sna_present.c                           |   29 
 src/sna/sna_render.c                            |  116 +-
 src/sna/sna_render.h                            |    8 
 src/sna/sna_render_inline.h                     |   29 
 src/sna/sna_transform.c                         |    8 
 src/sna/sna_trapezoids.c                        |   21 
 src/sna/sna_trapezoids.h                        |   74 +
 src/sna/sna_trapezoids_boxes.c                  |   45 
 src/sna/sna_trapezoids_imprecise.c              |  783 ++++++--------
 src/sna/sna_trapezoids_mono.c                   |  209 +++
 src/sna/sna_trapezoids_precise.c                |  879 ++++++++++-----
 src/sna/sna_video.c                             |   41 
 src/sna/sna_video.h                             |    1 
 src/sna/sna_video_hwmc.c                        |    2 
 src/sna/sna_video_overlay.c                     |   50 
 src/sna/sna_video_sprite.c                      |   51 
 src/sna/sna_video_textured.c                    |   56 -
 src/sna/xassert.h                               |   42 
 src/uxa/Makefile.am                             |   14 
 src/uxa/i830_3d.c                               |    1 
 src/uxa/i830_render.c                           |   83 -
 src/uxa/i915_3d.c                               |    1 
 src/uxa/i915_render.c                           |  101 -
 src/uxa/i915_video.c                            |   12 
 src/uxa/i965_3d.c                               |    1 
 src/uxa/i965_render.c                           |   99 -
 src/uxa/i965_video.c                            |   50 
 src/uxa/intel.h                                 |  294 -----
 src/uxa/intel_batchbuffer.c                     |   10 
 src/uxa/intel_batchbuffer.h                     |    4 
 src/uxa/intel_display.c                         |  513 +++++++--
 src/uxa/intel_dri.c                             |  155 --
 src/uxa/intel_dri3.c                            |   21 
 src/uxa/intel_driver.c                          |  103 -
 src/uxa/intel_glamor.c                          |  275 -----
 src/uxa/intel_glamor.h                          |   71 -
 src/uxa/intel_hwmc.c                            |    8 
 src/uxa/intel_memory.c                          |  140 ++
 src/uxa/intel_present.c                         |   16 
 src/uxa/intel_uxa.c                             |  383 ++----
 src/uxa/intel_uxa.h                             |  299 +++++
 src/uxa/intel_uxa_video.c                       |  388 +++++++
 src/uxa/intel_video.c                           | 1320 +++---------------------
 src/uxa/intel_video.h                           |  156 ++
 src/uxa/intel_video_overlay.c                   |  554 ++++++++++
 src/uxa/intel_video_overlay.h                   |   51 
 src/uxa/uxa-accel.c                             |  295 -----
 src/uxa/uxa-glamor.h                            |   65 -
 src/uxa/uxa-glyphs.c                            |   28 
 src/uxa/uxa-render.c                            |   91 -
 src/uxa/uxa.c                                   |   11 
 src/uxa/uxa.h                                   |   16 
 test/.gitignore                                 |    2 
 test/DrawSegments.c                             |  249 ++++
 test/Makefile.am                                |    2 
 test/README                                     |    8 
 test/cursor-test.c                              |  159 ++
 test/lowlevel-blt-bench.c                       |    9 
 tools/virtual.c                                 |    7 
 122 files changed, 9595 insertions(+), 6414 deletions(-)

New commits:
commit e9b2e10b055df8720168f9bf375e39f1fe65a239
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri Dec 12 09:51:37 2014 +0200

    release to vivid

diff --git a/debian/changelog b/debian/changelog
index 2364dc9..82d565d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1ubuntu1) UNRELEASED; urgency=medium
+xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1ubuntu1) vivid; urgency=medium
 
   * Merge from debian experimental (LP: #1401784, #1401788)
   * Drop upstream patches.

commit 1d5579e8b0d20d369f9025ef813b4851f23fa8e9
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Fri Dec 12 09:44:08 2014 +0200

    drop patches, close bugs

diff --git a/debian/changelog b/debian/changelog
index e73e1fa..2364dc9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1ubuntu1) UNRELEASED; urgency=medium
+
+  * Merge from debian experimental (LP: #1401784, #1401788)
+  * Drop upstream patches.
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Fri, 12 Dec 2014 09:24:52 +0200
+
 xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1) experimental; urgency=medium
 
   * New upstream snapshot.
diff --git a/debian/patches/fix-uxa-fglrx-stealing.diff b/debian/patches/fix-uxa-fglrx-stealing.diff
deleted file mode 100644
index f67a1e4..0000000
--- a/debian/patches/fix-uxa-fglrx-stealing.diff
+++ /dev/null
@@ -1,646 +0,0 @@
-commit c139e2fb95f2db0b39aadcd58cc63b316a278951
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Wed Oct 8 13:59:55 2014 +0100
-
-    intel: Store pointer to struct intel_device
-    
-    Beware the barbarians at the gate, who invade and steal your ScrnInfoPtr
-    and its Entity from underneath you. In some configurations, we lose
-    access to the struct intel_device stored on the Entity after
-    initialisation, causing havoc. Workaround this by storing the
-    intel_device that we open in our driverPrivate.
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
---- a/src/intel_device.c
-+++ b/src/intel_device.c
-@@ -65,9 +65,11 @@
- #include "fd.h"
- 
- struct intel_device {
-+	int idx;
- 	char *master_node;
- 	char *render_node;
- 	int fd;
-+	int device_id;
- 	int open_count;
- 	int master_count;
- };
-@@ -97,7 +99,7 @@
- 	if (dev == NULL)
- 		return 0;
- 
--	return __intel_get_device_id(dev->fd);
-+	return dev->device_id;
- }
- 
- static inline struct intel_device *intel_device(ScrnInfoPtr scrn)
-@@ -108,11 +110,6 @@
- 	return xf86GetEntityPrivate(scrn->entityList[0], intel_device_key)->ptr;
- }
- 
--static inline void intel_set_device(ScrnInfoPtr scrn, struct intel_device *dev)
--{
--	xf86GetEntityPrivate(scrn->entityList[0], intel_device_key)->ptr = dev;
--}
--
- static int is_i915_device(int fd)
- {
- 	drm_version_t version;
-@@ -511,6 +508,12 @@
- 	if (geteuid() && is_master(fd))
- 		master_count++;
- 
-+	if (pci)
-+		dev->device_id = pci->device_id;
-+	else
-+		dev->device_id = __intel_get_device_id(fd);
-+
-+	dev->idx = entity_num;
- 	dev->fd = fd;
- 	dev->open_count = master_count;
- 	dev->master_count = master_count;
-@@ -541,13 +544,15 @@
- 	return dev->fd;
- }
- 
--int intel_get_device(ScrnInfoPtr scrn)
-+struct intel_device *intel_get_device(ScrnInfoPtr scrn, int *fd)
- {
- 	struct intel_device *dev;
- 	int ret;
- 
- 	dev = intel_device(scrn);
--	assert(dev && dev->fd != -1);
-+	if (dev == NULL)
-+		return NULL;
-+	assert(dev->fd != -1);
- 
- 	if (dev->open_count++ == 0) {
- 		drmSetVersion sv;
-@@ -575,16 +580,16 @@
- 				   "[drm] failed to set drm interface version: %s [%d].\n",
- 				   strerror(errno), errno);
- 			dev->open_count--;
--			return -1;
-+			return NULL;
- 		}
- 	}
- 
--	return dev->fd;
-+	*fd = dev->fd;
-+	return dev;
- }
- 
--const char *intel_get_client_name(ScrnInfoPtr scrn)
-+const char *intel_get_client_name(struct intel_device *dev)
- {
--	struct intel_device *dev = intel_device(scrn);
- 	assert(dev && dev->render_node);
- 	return dev->render_node;
- }
-@@ -600,14 +605,11 @@
- 	return drmGetMagic(fd, &magic) == 0 && drmAuthMagic(dev->fd, magic) == 0;
- }
- 
--int intel_get_client_fd(ScrnInfoPtr scrn)
-+int intel_get_client_fd(struct intel_device *dev)
- {
--	struct intel_device *dev;
- 	int fd = -1;
- 
--	dev = intel_device(scrn);
--	assert(dev);
--	assert(dev->fd != -1);
-+	assert(dev && dev->fd != -1);
- 	assert(dev->render_node);
- 
- #ifdef O_CLOEXEC
-@@ -628,16 +630,14 @@
- 	return fd;
- }
- 
--int intel_get_device_id(ScrnInfoPtr scrn)
-+int intel_get_device_id(struct intel_device *dev)
- {
--	struct intel_device *dev = intel_device(scrn);
- 	assert(dev && dev->fd != -1);
--	return __intel_get_device_id(dev->fd);
-+	return dev->device_id;
- }
- 
--int intel_get_master(ScrnInfoPtr scrn)
-+int intel_get_master(struct intel_device *dev)
- {
--	struct intel_device *dev = intel_device(scrn);
- 	int ret;
- 
- 	assert(dev && dev->fd != -1);
-@@ -658,9 +658,8 @@
- 	return ret;
- }
- 
--int intel_put_master(ScrnInfoPtr scrn)
-+int intel_put_master(struct intel_device *dev)
- {
--	struct intel_device *dev = intel_device(scrn);
- 	int ret;
- 
- 	assert(dev && dev->fd != -1);
-@@ -676,10 +675,8 @@
- 	return ret;
- }
- 
--void intel_put_device(ScrnInfoPtr scrn)
-+void intel_put_device(struct intel_device *dev)
- {
--	struct intel_device *dev = intel_device(scrn);
--
- 	assert(dev && dev->fd != -1);
- 
- 	assert(dev->open_count);
-@@ -687,7 +684,7 @@
- 		return;
- 
- 	assert(!hosted());
--	intel_set_device(scrn, NULL);
-+	xf86GetEntityPrivate(dev->idx, intel_device_key)->ptr = NULL;
- 
- 	drmClose(dev->fd);
- 	if (dev->render_node != dev->master_node)
---- a/src/intel_driver.h
-+++ b/src/intel_driver.h
-@@ -119,22 +119,24 @@
- struct intel_device_info {
- 	int gen;
- };
-+struct intel_device;
- 
- int intel_entity_get_devid(int index);
- 
--void intel_detect_chipset(ScrnInfoPtr scrn, EntityInfoPtr ent);
--
- int intel_open_device(int entity_num,
- 		      const struct pci_device *pci,
- 		      struct xf86_platform_device *dev);
- int __intel_peek_fd(ScrnInfoPtr scrn);
--int intel_get_device(ScrnInfoPtr scrn);
--const char *intel_get_client_name(ScrnInfoPtr scrn);
--int intel_get_client_fd(ScrnInfoPtr scrn);
--int intel_get_device_id(ScrnInfoPtr scrn);
--int intel_get_master(ScrnInfoPtr scrn);
--int intel_put_master(ScrnInfoPtr scrn);
--void intel_put_device(ScrnInfoPtr scrn);
-+
-+struct intel_device *intel_get_device(ScrnInfoPtr scrn, int *fd);
-+const char *intel_get_client_name(struct intel_device *dev);
-+int intel_get_client_fd(struct intel_device *dev);
-+int intel_get_device_id(struct intel_device *dev);
-+int intel_get_master(struct intel_device *dev);
-+int intel_put_master(struct intel_device *dev);
-+void intel_put_device(struct intel_device *dev);
-+
-+void intel_detect_chipset(ScrnInfoPtr scrn, struct intel_device *dev);
- 
- #define hosted() (xorgMir)
- 
---- a/src/intel_module.c
-+++ b/src/intel_module.c
-@@ -318,27 +318,31 @@
- };
- 
- void
--intel_detect_chipset(ScrnInfoPtr scrn, EntityInfoPtr ent)
-+intel_detect_chipset(ScrnInfoPtr scrn, struct intel_device *dev)
- {
--	MessageType from = X_PROBED;
--	const char *name = NULL;
- 	int devid;
-+	const char *name = NULL;
- 	int i;
- 
--	if (ent->device->chipID >= 0) {
--		xf86DrvMsg(scrn->scrnIndex, from = X_CONFIG,
--			   "ChipID override: 0x%04X\n",
--			   ent->device->chipID);
--		devid = ent->device->chipID;
--	} else {
-+	if (dev == NULL) {
-+		EntityInfoPtr ent;
- 		struct pci_device *pci;
- 
--		pci = xf86GetPciInfoForEntity(ent->index);
--		if (pci != NULL)
--			devid = pci->device_id;
--		else
--			devid = intel_get_device_id(scrn);
--	}
-+		ent = xf86GetEntityInfo(scrn->entityList[0]);
-+		if (ent->device->chipID >= 0) {
-+			xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
-+				   "ChipID override: 0x%04X\n",
-+				   ent->device->chipID);
-+			devid = ent->device->chipID;
-+		} else {
-+			pci = xf86GetPciInfoForEntity(ent->index);
-+			if (pci)
-+				devid = pci->device_id;
-+			else
-+				devid = ~0;
-+		}
-+	} else
-+		devid = intel_get_device_id(dev);
- 
- 	for (i = 0; intel_chipsets[i].name != NULL; i++) {
- 		if (devid == intel_chipsets[i].token) {
-@@ -358,7 +362,7 @@
- 		}
- 
- 		if (gen) {
--			xf86DrvMsg(scrn->scrnIndex, from,
-+			xf86DrvMsg(scrn->scrnIndex, X_PROBED,
- 				   "gen%d engineering sample\n", gen);
- 		} else {
- 			xf86DrvMsg(scrn->scrnIndex, X_WARNING,
-@@ -367,7 +371,7 @@
- 
- 		name = "unknown";
- 	} else {
--		xf86DrvMsg(scrn->scrnIndex, from,
-+		xf86DrvMsg(scrn->scrnIndex, X_PROBED,
- 			   "Integrated Graphics Chipset: Intel(R) %s\n",
- 			   name);
- 	}
---- a/src/legacy/i810/i810_driver.c
-+++ b/src/legacy/i810/i810_driver.c
-@@ -364,7 +364,7 @@
-     */
-    I810DoDDC(scrn, pI810->pEnt->index);
- 
--   intel_detect_chipset(scrn, pI810->pEnt);
-+   intel_detect_chipset(scrn, NULL);
- 
-    pI810->LinearAddr = pI810->PciInfo->regions[0].base_addr;
-    xf86DrvMsg(scrn->scrnIndex, X_PROBED, "Linear framebuffer at 0x%lX\n",
---- a/src/sna/gen5_render.c
-+++ b/src/sna/gen5_render.c
-@@ -3333,7 +3333,7 @@
- #if !NO_COMPOSITE_SPANS
- 	sna->render.check_composite_spans = gen5_check_composite_spans;
- 	sna->render.composite_spans = gen5_render_composite_spans;
--	if (intel_get_device_id(sna->scrn) == 0x0044)
-+	if (intel_get_device_id(sna->dev) == 0x0044)
- 		sna->render.prefer_gpu |= PREFER_GPU_SPANS;
- #endif
- 	sna->render.video = gen5_render_video;
---- a/src/sna/gen6_render.c
-+++ b/src/sna/gen6_render.c
-@@ -3633,7 +3633,7 @@
- 
- const char *gen6_render_init(struct sna *sna, const char *backend)
- {
--	int devid = intel_get_device_id(sna->scrn);
-+	int devid = intel_get_device_id(sna->dev);
- 
- 	if (!gen6_render_setup(sna, devid))
- 		return backend;
---- a/src/sna/gen7_render.c
-+++ b/src/sna/gen7_render.c
-@@ -3885,7 +3885,7 @@
- 
- const char *gen7_render_init(struct sna *sna, const char *backend)
- {
--	int devid = intel_get_device_id(sna->scrn);
-+	int devid = intel_get_device_id(sna->dev);
- 
- 	if (!gen7_render_setup(sna, devid))
- 		return backend;
---- a/src/sna/gen8_render.c
-+++ b/src/sna/gen8_render.c
-@@ -3887,7 +3887,7 @@
- 	int i, j, k, l, m;
- 	uint32_t devid;
- 
--	devid = intel_get_device_id(sna->scrn);
-+	devid = intel_get_device_id(sna->dev);
- 	if (devid & 0xf)
- 		state->gt = ((devid >> 4) & 0xf) + 1;
- 	DBG(("%s: gt=%d\n", __FUNCTION__, state->gt));
---- a/src/sna/sna.h
-+++ b/src/sna/sna.h
-@@ -239,6 +239,7 @@
- 	struct kgem kgem;
- 
- 	ScrnInfoPtr scrn;
-+	struct intel_device *dev;
- 
- 	unsigned flags;
- #define SNA_IS_SLAVED		0x1
---- a/src/sna/sna_dri2.c
-+++ b/src/sna/sna_dri2.c
-@@ -3232,7 +3232,7 @@
- 	memset(&info, '\0', sizeof(info));
- 	info.fd = sna->kgem.fd;
- 	info.driverName = dri_driver_name(sna);
--	info.deviceName = intel_get_client_name(sna->scrn);
-+	info.deviceName = intel_get_client_name(sna->dev);
- 
- 	DBG(("%s: loading dri driver '%s' [gen=%d] for device '%s'\n",
- 	     __FUNCTION__, info.driverName, sna->kgem.gen, info.deviceName));
---- a/src/sna/sna_dri3.c
-+++ b/src/sna/sna_dri3.c
-@@ -178,7 +178,7 @@
- 	int fd;
- 
- 	DBG(("%s()\n", __FUNCTION__));
--	fd = intel_get_client_fd(xf86ScreenToScrn(screen));
-+	fd = intel_get_client_fd(to_sna_from_screen(screen)->dev);
- 	if (fd < 0)
- 		return -fd;
- 
---- a/src/sna/sna_driver.c
-+++ b/src/sna/sna_driver.c
-@@ -264,7 +264,7 @@
- 	assert(sna->front == new_front);
- 	screen->DestroyPixmap(new_front); /* transfer ownership to screen */
- 
--	if (intel_get_master(sna->scrn)) {
-+	if (intel_get_master(sna->dev)) {
- 		xf86DrvMsg(screen->myNum, X_ERROR,
- 			   "[intel] Failed to become DRM master\n");
- 		screen->DestroyPixmap(sna->front);
-@@ -595,8 +595,8 @@
- 	scrn->progClock = TRUE;
- 	scrn->rgbBits = 8;
- 
--	fd = intel_get_device(scrn);
--	if (fd == -1) {
-+	sna->dev = intel_get_device(scrn, &fd);
-+	if (sna->dev == NULL) {
- 		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
- 			   "Failed to claim DRM device.\n");
- 		goto cleanup;
-@@ -612,7 +612,7 @@
- 		goto cleanup;
- 	}
- 
--	intel_detect_chipset(scrn, pEnt);
-+	intel_detect_chipset(scrn, sna->dev);
- 	xf86DrvMsg(scrn->scrnIndex, X_PROBED, "CPU: %s\n",
- 		   sna_cpu_features_to_string(sna->cpu_features, buf));
- 
-@@ -720,6 +720,8 @@
- 
- cleanup:
- 	scrn->driverPrivate = (void *)((uintptr_t)sna->info | (sna->flags & SNA_IS_SLAVED) | 2);
-+	if (sna->dev)
-+		intel_put_device(sna->dev);
- 	free(sna);
- 	return FALSE;
- }
-@@ -901,12 +903,13 @@
- static void sna_leave_vt(VT_FUNC_ARGS_DECL)
- {
- 	SCRN_INFO_PTR(arg);
-+	struct sna *sna = to_sna(scrn);
- 
- 	DBG(("%s\n", __FUNCTION__));
- 
--	sna_mode_reset(to_sna(scrn));
-+	sna_mode_reset(sna);
- 
--	if (intel_put_master(scrn))
-+	if (intel_put_master(sna->dev))
- 		xf86DrvMsg(scrn->scrnIndex, X_WARNING,
- 			   "drmDropMaster failed: %s\n", strerror(errno));
- }
-@@ -944,7 +947,7 @@
- 	}
- 
- 	if (scrn->vtSema) {
--		intel_put_master(scrn);
-+		intel_put_master(sna->dev);
- 		scrn->vtSema = FALSE;
- 	}
- 
-@@ -1197,9 +1200,9 @@
- 
- 	sna_mode_fini(sna);
- 	sna_acpi_fini(sna);
--	free(sna);
- 
--	intel_put_device(scrn);
-+	intel_put_device(sna->dev);
-+	free(sna);
- }
- 
- static Bool sna_enter_vt(VT_FUNC_ARGS_DECL)
-@@ -1208,7 +1211,7 @@
- 	struct sna *sna = to_sna(scrn);
- 
- 	DBG(("%s\n", __FUNCTION__));
--	if (intel_get_master(scrn))
-+	if (intel_get_master(sna->dev))
- 		return FALSE;
- 
- 	if (sna->flags & SNA_REPROBE) {
---- a/src/sna/sna_video_hwmc.c
-+++ b/src/sna/sna_video_hwmc.c
-@@ -81,7 +81,7 @@
- 		return BadAlloc;
- 
- 	if (sna->kgem.gen >= 040) {
--		int devid = intel_get_device_id(sna->scrn);
-+		int devid = intel_get_device_id(sna->dev);
- 
- 		if (sna->kgem.gen >= 045)
- 			priv->type = XVMC_I965_MPEG2_VLD;
---- a/src/uxa/intel.h
-+++ b/src/uxa/intel.h
-@@ -54,7 +54,6 @@
- #include "xorg-server.h"
- #include "xf86_OSproc.h"
- #include "compiler.h"
--#include "xf86Pci.h"
- #include "xf86Cursor.h"
- #include "xf86xv.h"
- #include "xf86Crtc.h"
-@@ -171,6 +170,7 @@
- 
- typedef struct intel_screen_private {
- 	ScrnInfoPtr scrn;
-+	struct intel_device *dev;
- 	int cpp;
- 
- #define RENDER_BATCH			I915_EXEC_RENDER
-@@ -223,7 +223,6 @@
- 
- 	int Chipset;
- 	EntityInfoPtr pEnt;
--	struct pci_device *PciInfo;
- 	const struct intel_device_info *info;
- 
- 	unsigned int BR[20];
-@@ -378,14 +377,14 @@
- #define IS_HSW(intel) (INTEL_INFO(intel)->gen == 075)
- 
- /* Some chips have specific errata (or limits) that we need to workaround. */
--#define IS_I830(intel) ((intel)->PciInfo->device_id == PCI_CHIP_I830_M)
--#define IS_845G(intel) ((intel)->PciInfo->device_id == PCI_CHIP_845_G)
--#define IS_I865G(intel) ((intel)->PciInfo->device_id == PCI_CHIP_I865_G)
-+#define IS_I830(intel) (intel_get_device_id((intel)->dev) == PCI_CHIP_I830_M)
-+#define IS_845G(intel) (intel_get_device_id((intel)->dev) == PCI_CHIP_845_G)
-+#define IS_I865G(intel) (intel_get_device_id((intel)->dev) == PCI_CHIP_I865_G)
- 
--#define IS_I915G(pI810) ((intel)->PciInfo->device_id == PCI_CHIP_I915_G || (intel)->PciInfo->device_id == PCI_CHIP_E7221_G)
--#define IS_I915GM(pI810) ((intel)->PciInfo->device_id == PCI_CHIP_I915_GM)
-+#define IS_I915G(pI810) (intel_get_device_id((intel)->dev) == PCI_CHIP_I915_G || intel_get_device_id((intel)->dev) == PCI_CHIP_E7221_G)
-+#define IS_I915GM(pI810) (intel_get_device_id((intel)->dev) == PCI_CHIP_I915_GM)
- 
--#define IS_965_Q(pI810) ((intel)->PciInfo->device_id == PCI_CHIP_I965_Q)
-+#define IS_965_Q(pI810) (intel_get_device_id((intel)->dev) == PCI_CHIP_I965_Q)
- 
- /* supports Y tiled surfaces (pre-965 Mesa isn't ready yet) */
- #define SUPPORTS_YTILING(pI810) (INTEL_INFO(intel)->gen >= 040)
---- a/src/uxa/intel_dri3.c
-+++ b/src/uxa/intel_dri3.c
-@@ -36,9 +36,11 @@
-                 RRProviderPtr provider,
-                 int *out)
- {
-+	ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
-+	intel_screen_private *intel = intel_get_screen_private(scrn);
- 	int fd;
- 
--	fd = intel_get_client_fd(xf86ScreenToScrn(screen));
-+	fd = intel_get_client_fd(intel->dev);
- 	if (fd < 0)
- 		return -fd;
- 
---- a/src/uxa/intel_driver.c
-+++ b/src/uxa/intel_driver.c
-@@ -181,7 +181,7 @@
- static void intel_check_chipset_option(ScrnInfoPtr scrn)
- {
- 	intel_screen_private *intel = intel_get_screen_private(scrn);
--	intel_detect_chipset(scrn, intel->pEnt);
-+	intel_detect_chipset(scrn, intel->dev);
- }
- 
- static Bool I830GetEarlyOptions(ScrnInfoPtr scrn)
-@@ -247,9 +247,8 @@
- static Bool intel_open_drm_master(ScrnInfoPtr scrn)
- {
- 	intel_screen_private *intel = intel_get_screen_private(scrn);
--
--	intel->drmSubFD = intel_get_device(scrn);
--	return intel->drmSubFD != -1;
-+	intel->dev = intel_get_device(scrn, &intel->drmSubFD);
-+	return intel->dev != NULL;
- }
- 
- static int intel_init_bufmgr(intel_screen_private *intel)
-@@ -360,7 +359,7 @@
- 	}
- 
- 	if (INTEL_INFO(intel)->gen == 060) {
--		struct pci_device *const device = intel->PciInfo;
-+		struct pci_device *const device = xf86GetPciInfoForEntity(intel->pEnt->index);
- 
- 		/* Sandybridge rev07 locks up easily, even with the
- 		 * BLT ring workaround in place.
-@@ -461,8 +460,6 @@
- 
- 	scrn->displayWidth = 640;	/* default it */
- 
--	intel->PciInfo = xf86GetPciInfoForEntity(intel->pEnt->index);
--
- 	if (!intel_open_drm_master(scrn)) {
- 		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
- 			   "Failed to become DRM master.\n");
-@@ -862,7 +859,7 @@
- #ifdef INTEL_XVMC
- 	MessageType from;
- #endif
--	struct pci_device *const device = intel->PciInfo;
-+	struct pci_device *const device = xf86GetPciInfoForEntity(intel->pEnt->index);
- 	int fb_bar = IS_GEN2(intel) ? 0 : 2;
- 
- 	scrn->videoRam = device->regions[fb_bar].size / 1024;
-@@ -1072,7 +1069,7 @@
- 	if (intel && !((uintptr_t)intel & 3)) {
- 		intel_mode_fini(intel);
- 		intel_bufmgr_fini(intel);
--		intel_put_device(scrn);
-+		intel_put_device(intel->dev);
- 
- 		free(intel);
- 		scrn->driverPrivate = NULL;
-@@ -1082,12 +1079,13 @@
- static void I830LeaveVT(VT_FUNC_ARGS_DECL)
- {
- 	SCRN_INFO_PTR(arg);
-+	intel_screen_private *intel = intel_get_screen_private(scrn);
- 
- 	xf86RotateFreeShadow(scrn);
- 
- 	xf86_hide_cursors(scrn);
- 
--	if (intel_put_master(scrn))
-+	if (intel_put_master(intel->dev))
- 		xf86DrvMsg(scrn->scrnIndex, X_WARNING,
- 			   "drmDropMaster failed: %s\n", strerror(errno));
- }
-@@ -1098,8 +1096,9 @@
- static Bool I830EnterVT(VT_FUNC_ARGS_DECL)
- {
- 	SCRN_INFO_PTR(arg);
-+	intel_screen_private *intel = intel_get_screen_private(scrn);
- 
--	if (intel_get_master(scrn)) {
-+	if (intel_get_master(intel->dev)) {
- 		xf86DrvMsg(scrn->scrnIndex, X_WARNING,
- 			   "drmSetMaster failed: %s\n",
- 			   strerror(errno));
---- a/src/uxa/intel_hwmc.c
-+++ b/src/uxa/intel_hwmc.c
-@@ -191,6 +191,7 @@
- {
- 	ScrnInfoPtr scrn = xf86ScreenToScrn(pScreen);
- 	intel_screen_private *intel = intel_get_screen_private(scrn);
-+	struct pci_device *pci;
- 	static XF86MCAdaptorRec *pAdapt;
- 	char *name;
- 	char buf[64];
-@@ -207,6 +208,10 @@
- 		return FALSE;
- 	}
- 
-+	pci = xf86GetPciInfoForEntity(intel->pEnt->index);
-+	if (pci == NULL)
-+		return FALSE;
-+
- 	pAdapt = calloc(1, sizeof(XF86MCAdaptorRec));
- 	if (!pAdapt) {
- 		ErrorF("Allocation error.\n");
-@@ -249,8 +254,7 @@
- 	}
- 
- 	sprintf(buf, "pci:%04x:%02x:%02x.%d",
--		intel->PciInfo->domain,
--		intel->PciInfo->bus, intel->PciInfo->dev, intel->PciInfo->func);
-+		pci->domain, pci->bus, pci->dev, pci->func);
- 
- 	xf86XvMCRegisterDRInfo(pScreen, INTEL_XVMC_LIBNAME,
- 			       buf,
---- a/src/uxa/intel_memory.c
-+++ b/src/uxa/intel_memory.c
-@@ -168,7 +168,7 @@
- void intel_set_gem_max_sizes(ScrnInfoPtr scrn)
- {
- 	intel_screen_private *intel = intel_get_screen_private(scrn);
--	size_t agp_size = agp_aperture_size(intel->PciInfo,
-+	size_t agp_size = agp_aperture_size(xf86GetPciInfoForEntity(intel->pEnt->index),
- 					    INTEL_INFO(intel)->gen);
- 
- 	/* The chances of being able to mmap an object larger than
diff --git a/debian/patches/series b/debian/patches/series
index 7ca1bfe..7fffdd9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,8 +1,4 @@
 dri3-flush-broken.patch
 
 # XMir series
-
 xmir.patch
-sna-freescreen.diff
-fix-uxa-fglrx-stealing.diff
-sna-use-vmask-in-3dstate-ps.diff
diff --git a/debian/patches/sna-freescreen.diff b/debian/patches/sna-freescreen.diff
deleted file mode 100644
index d9a2603..0000000
--- a/debian/patches/sna-freescreen.diff
+++ /dev/null
@@ -1,19 +0,0 @@
-commit f5469681b620d9d6ccaf53e92ed31f931cb03b0d
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Mon Aug 18 14:37:44 2014 +0100
-
-    sna: Be defensive during FreeScreen()
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
---- a/src/sna/sna_driver.c
-+++ b/src/sna/sna_driver.c
-@@ -1190,7 +1190,7 @@
- 	struct sna *sna = to_sna(scrn);
- 
- 	DBG(("%s\n", __FUNCTION__));
--	if ((uintptr_t)sna & 1)
-+	if (sna == NULL || (uintptr_t)sna & 3) /* beware thieves */
- 		return;
- 
- 	scrn->driverPrivate = (void *)((uintptr_t)sna->info | (sna->flags & SNA_IS_SLAVED) | 2);
diff --git a/debian/patches/sna-use-vmask-in-3dstate-ps.diff b/debian/patches/sna-use-vmask-in-3dstate-ps.diff
deleted file mode 100644
index 8210142..0000000
--- a/debian/patches/sna-use-vmask-in-3dstate-ps.diff
+++ /dev/null
@@ -1,65 +0,0 @@
-From rodrigo.vivi@intel.com  Wed Nov  5 23:49:06 2014
-Return-Path: <rodrigo.vivi@intel.com>
-X-Original-To: tjaalton@mail.canonical.com
-Delivered-To: tjaalton@mail.canonical.com
-Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145])
-	by grenadilla.canonical.com (Postfix) with ESMTP id 91BB3147201C
-	for <tjaalton@mail.canonical.com>; Wed,  5 Nov 2014 23:49:06 +0000 (UTC)
-Received: from cluster-e.mailcontrol.com (cluster-e.mailcontrol.com [85.115.58.190])
-	by fiordland.canonical.com (Postfix) with ESMTPS id 3EBB9A186DD
-	for <timo.aaltonen@cleanmail.canonical.com>; Wed,  5 Nov 2014 23:49:06 +0000 (UTC)
-Received: from arctowski.canonical.com (arctowski.canonical.com [91.189.94.158])
-	by rly63e.srv.mailcontrol.com (MailControl) with ESMTP id sA5Nn4m8028317
-	for <timo.aaltonen@cleanmail.canonical.com>; Wed, 5 Nov 2014 23:49:04 GMT
-Received: from fiordland.canonical.com ([91.189.94.145])
-	by arctowski.canonical.com with esmtp (Exim 4.71)
-	(envelope-from <rodrigo.vivi@intel.com>)
-	id 1XmAJz-0004aX-Vs
-	for timo.aaltonen@cleanmail.canonical.com; Wed, 05 Nov 2014 23:49:04 +0000
-Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
-	by fiordland.canonical.com (Postfix) with ESMTP id 746D0A186D8
-	for <tjaalton@ubuntu.com>; Wed,  5 Nov 2014 23:49:02 +0000 (UTC)
-Received: from orsmga001.jf.intel.com ([10.7.209.18])
-  by orsmga102.jf.intel.com with ESMTP; 05 Nov 2014 15:46:35 -0800
-X-ExtLoop1: 1
-X-IronPort-AV: E=Sophos;i="5.07,322,1413270000"; 
-   d="scan'208";a="603103293"
-Received: from rdvivi-hillsboro.jf.intel.com ([10.7.196.162])
-  by orsmga001.jf.intel.com with ESMTP; 05 Nov 2014 15:48:14 -0800
-From: Rodrigo Vivi <rodrigo.vivi@intel.com>
-To: intel-gfx@lists.freedesktop.org
-Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>, Timo Aaltonen <tjaalton@ubuntu.com>,
-        Gary Wang <gary.c.wang@intel.com>
-Subject: [PATCH] sna: Use VMask in 3DSTATE_PS
-Date: Wed,  5 Nov 2014 15:48:14 -0800
-Message-Id: <1415231294-12435-1-git-send-email-rodrigo.vivi@intel.com>
-X-Mailer: git-send-email 1.9.3
-X-Mailcontrol-Inbound: WBq!ucXEz80wFmxD6S7f3nyjenN!phNbIQWiyBG44+lo3FL0yiLKb3yjenN!phNbh+9WRKrdgbE=
-X-Spam-Score: 0.9
-X-Scanned-By: MailControl 35930.357 (www.mailcontrol.com) on 10.69.0.173
-
-Using dispatch mask cause hangs waiting PS Done on some cases like bug #83207,
-with larger screen or when scaling it.
-
-Also mesa uses VMask instead of Dmask for 3DSTATE_PS because in some cases
-they were getting incorrect derivatives for subspans.
-
-Reference: https://bugs.freedesktop.org/show_bug.cgi?id=83207
-Cc: Timo Aaltonen <tjaalton@ubuntu.com>
-Cc: Gary Wang <gary.c.wang@intel.com>
-Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
----
- src/sna/gen8_render.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/sna/gen8_render.c
-+++ b/src/sna/gen8_render.c
-@@ -900,7 +900,7 @@ gen8_emit_wm(struct sna *sna, int kernel
- 	OUT_BATCH(GEN8_3DSTATE_PS | (12 - 2));
- 	OUT_BATCH64(kernels[0] ?: kernels[1] ?: kernels[2]);
- 	OUT_BATCH(1 << PS_SAMPLER_COUNT_SHIFT |
--		  //PS_VECTOR_MASK_ENABLE |
-+		  PS_VECTOR_MASK_ENABLE |
- 		  wm_kernels[kernel].num_surfaces << PS_BINDING_TABLE_ENTRY_COUNT_SHIFT);
- 	OUT_BATCH64(0); /* scratch address */
- 	OUT_BATCH(PS_MAX_THREADS |

commit 4f2eecb8820c4c4090f4f39d0a930988796b53ad
Author: maximilian attems <maks@debian.org>
Date:   Sun Nov 23 00:04:15 2014 +0100

    changelog: prepare snapshot release
    
    Signed-off-by: maximilian attems <maks@debian.org>

diff --git a/debian/changelog b/debian/changelog
index 32eca67..232ed54 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1) UNRELEASED; urgency=medium
+xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1) experimental; urgency=medium
 
   * New upstream snapshot.
 
- -- maximilian attems <maks@debian.org>  Sat, 22 Nov 2014 18:58:52 +0100
+ -- maximilian attems <maks@debian.org>  Sun, 23 Nov 2014 00:04:02 +0100
 
 xserver-xorg-video-intel (2:2.99.916-1~exp1) experimental; urgency=medium
 

commit 46245adadcfea7391c6a93cfea63de47fb80aaf5
Author: maximilian attems <maks@debian.org>
Date:   Sat Nov 22 19:00:11 2014 +0100

    update changelog
    
    Signed-off-by: maximilian attems <maks@debian.org>

diff --git a/debian/changelog b/debian/changelog
index 311f090..32eca67 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.99.916+git20141119-1~exp1) UNRELEASED; urgency=medium
+
+  * New upstream snapshot.
+
+ -- maximilian attems <maks@debian.org>  Sat, 22 Nov 2014 18:58:52 +0100
+
 xserver-xorg-video-intel (2:2.99.916-1~exp1) experimental; urgency=medium
 
   [ Vincent Cheng ]

commit 0f15b8b45bb6de10ce1926db303247a5bd3c1c08
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Nov 19 18:42:32 2014 +0000

    sna/transform: Correctly check for imprecise fractional translations
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/sna/sna_transform.c b/src/sna/sna_transform.c
index 3b54df4..b62b323 100644
--- a/src/sna/sna_transform.c
+++ b/src/sna/sna_transform.c
@@ -135,14 +135,14 @@ sna_transform_is_imprecise_integer_translation(const PictTransform *t,
 			int f;
 
 			f = pixman_fixed_fraction(t->matrix[0][2]);
-			if (f < IntToxFixed(1)/4 || f > IntToxFixed(3)/4) {
-				DBG(("%s: imprecise, fractional translation X\n", __FUNCTION__));
+			if (f > IntToxFixed(1)/4 && f < IntToxFixed(3)/4) {
+				DBG(("%s: imprecise, fractional translation X: %x\n", __FUNCTION__, f));
 				return false;
 			}
 
 			f = pixman_fixed_fraction(t->matrix[1][2]);
-			if (f < IntToxFixed(1)/4 || f > IntToxFixed(3)/4) {
-				DBG(("%s: imprecise, fractional translation Y\n", __FUNCTION__));
+			if (f > IntToxFixed(1)/4 && f < IntToxFixed(3)/4) {
+				DBG(("%s: imprecise, fractional translation Y: %x\n", __FUNCTION__, f));


Reply to: