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 <tjaal...@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 <tjaal...@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 <tjaal...@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 <ch...@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 <ch...@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 <ch...@chris-wilson.co.uk>
-Date:   Mon Aug 18 14:37:44 2014 +0100
-
-    sna: Be defensive during FreeScreen()
-    
-    Signed-off-by: Chris Wilson <ch...@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.v...@intel.com  Wed Nov  5 23:49:06 2014
-Return-Path: <rodrigo.v...@intel.com>
-X-Original-To: tjaal...@mail.canonical.com
-Delivered-To: tjaal...@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 <tjaal...@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.aalto...@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.aalto...@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.v...@intel.com>)
-       id 1XmAJz-0004aX-Vs
-       for timo.aalto...@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 <tjaal...@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.v...@intel.com>
-To: intel-...@lists.freedesktop.org
-Cc: Rodrigo Vivi <rodrigo.v...@intel.com>, Timo Aaltonen <tjaal...@ubuntu.com>,
-        Gary Wang <gary.c.w...@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.v...@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 <tjaal...@ubuntu.com>
-Cc: Gary Wang <gary.c.w...@intel.com>
-Signed-off-by: Rodrigo Vivi <rodrigo.v...@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 <m...@debian.org>
Date:   Sun Nov 23 00:04:15 2014 +0100

    changelog: prepare snapshot release
    
    Signed-off-by: maximilian attems <m...@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 <m...@debian.org>  Sat, 22 Nov 2014 18:58:52 +0100
+ -- maximilian attems <m...@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 <m...@debian.org>
Date:   Sat Nov 22 19:00:11 2014 +0100

    update changelog
    
    Signed-off-by: maximilian attems <m...@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 <m...@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 <ch...@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 <ch...@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));


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1xzl5g-0004lh...@moszumanska.debian.org

Reply via email to