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: