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

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



 ChangeLog                                                                      |69207 ---------
 Makefile.am                                                                    |    4 
 NEWS                                                                           |   97 
 configure.ac                                                                   |  534 
 debian/changelog                                                               |   28 
 debian/control                                                                 |   10 
 debian/patches/0001-sna-Make-sure-the-frontbuffer-exists-before-doing-pi.patch |   60 
 debian/patches/Check-for-struct-sysinfo-as-well-as-sys-sysinfo.h.patch         |   51 
 debian/patches/Link-the-driver-against-pixman.patch                            |   38 
 debian/patches/check-hosted-initialisation-succeeds.patch                      |   26 
 debian/patches/disable-unneeded-functions-when-hosted.patch                    |  261 
 debian/patches/dont-copy-fbcon-if-hosted.patch                                 |   26 
 debian/patches/fix-spelling-of-caching.patch                                   |  180 
 debian/patches/more-modesetting-disablement-when-hosted.patch                  |  235 
 debian/patches/series                                                          |   10 
 debian/patches/unwrap-legacy-modesetting-when-hosted.patch                     |   57 
 debian/patches/xmir.patch                                                      |  220 
 debian/rules                                                                   |    3 
 debian/source/format                                                           |    1 
 debian/upstream.changelog                                                      |69797 ++++++++++
 man/intel.man                                                                  |   34 
 src/Makefile.am                                                                |    2 
 src/compat-api.h                                                               |    4 
 src/intel_device.c                                                             |   90 
 src/intel_driver.h                                                             |    4 
 src/intel_module.c                                                             |   36 
 src/intel_options.c                                                            |    5 
 src/intel_options.h                                                            |    4 
 src/legacy/Makefile.am                                                         |    2 
 src/legacy/i810/i810_accel.c                                                   |    1 
 src/legacy/i810/i810_cursor.c                                                  |    1 
 src/legacy/i810/i810_dga.c                                                     |    1 
 src/legacy/i810/i810_dri.c                                                     |    1 
 src/legacy/i810/i810_driver.c                                                  |    1 
 src/legacy/i810/i810_hwmc.c                                                    |    1 
 src/legacy/i810/i810_memory.c                                                  |    1 
 src/legacy/i810/i810_video.c                                                   |    1 
 src/legacy/i810/i810_wmark.c                                                   |    1 
 src/legacy/i810/i810_xaa.c                                                     |    1 
 src/sna/Makefile.am                                                            |    1 
 src/sna/compiler.h                                                             |    6 
 src/sna/fb/fbclip.c                                                            |    2 
 src/sna/fb/fbclip.h                                                            |    7 
 src/sna/fb/fbpict.h                                                            |    1 
 src/sna/gen2_render.c                                                          |    3 
 src/sna/gen3_render.c                                                          |   61 
 src/sna/gen4_render.c                                                          |   45 
 src/sna/gen4_vertex.c                                                          |   85 
 src/sna/gen5_render.c                                                          |   39 
 src/sna/gen6_render.c                                                          |  152 
 src/sna/gen7_render.c                                                          |  188 
 src/sna/kgem.c                                                                 |  603 
 src/sna/kgem.h                                                                 |   30 
 src/sna/sna.h                                                                  |  104 
 src/sna/sna_accel.c                                                            | 1180 
 src/sna/sna_acpi.c                                                             |  223 
 src/sna/sna_blt.c                                                              |    8 
 src/sna/sna_composite.c                                                        |  264 
 src/sna/sna_damage.c                                                           |    2 
 src/sna/sna_damage.h                                                           |   13 
 src/sna/sna_display.c                                                          |  754 
 src/sna/sna_display_fake.c                                                     |  199 
 src/sna/sna_dri.c                                                              |  411 
 src/sna/sna_driver.c                                                           |  234 
 src/sna/sna_glyphs.c                                                           |  527 
 src/sna/sna_io.c                                                               |  136 
 src/sna/sna_render.c                                                           |  107 
 src/sna/sna_render.h                                                           |    2 
 src/sna/sna_stream.c                                                           |    4 
 src/sna/sna_threads.c                                                          |   11 
 src/sna/sna_tiling.c                                                           |   30 
 src/sna/sna_trapezoids.c                                                       |   65 
 src/sna/sna_vertex.c                                                           |    4 
 src/sna/sna_video.c                                                            |   64 
 src/sna/sna_video.h                                                            |   40 
 src/sna/sna_video_overlay.c                                                    |   84 
 src/sna/sna_video_sprite.c                                                     |  122 
 src/sna/sna_video_textured.c                                                   |   11 
 src/uxa/i830_3d.c                                                              |    1 
 src/uxa/i830_render.c                                                          |    1 
 src/uxa/i915_3d.c                                                              |    1 
 src/uxa/i915_render.c                                                          |    1 
 src/uxa/i915_video.c                                                           |    1 
 src/uxa/i965_reg.h                                                             |   27 
 src/uxa/i965_render.c                                                          |    1 
 src/uxa/i965_video.c                                                           |    1 
 src/uxa/intel.h                                                                |    2 
 src/uxa/intel_batchbuffer.c                                                    |    1 
 src/uxa/intel_display.c                                                        |   19 
 src/uxa/intel_dri.c                                                            |   10 
 src/uxa/intel_driver.c                                                         |    6 
 src/uxa/intel_glamor.c                                                         |    1 
 src/uxa/intel_memory.c                                                         |    1 
 src/uxa/intel_uxa.c                                                            |    1 
 src/uxa/intel_video.c                                                          |    8 
 test/.gitignore                                                                |    3 
 test/Makefile.am                                                               |   15 
 test/dri2-test.c                                                               |  234 
 test/virtual.conf                                                              |   36 
 tools/.gitignore                                                               |    1 
 tools/Makefile.am                                                              |   44 
 tools/intel-virtual-output.man                                                 |   27 
 tools/virtual.c                                                                | 2727 
 103 files changed, 77570 insertions(+), 72458 deletions(-)

New commits:
commit f15cb10e5ae4d5885ea241097ae543b7b3dafcdd
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Tue Oct 1 16:24:30 2013 +0300

    xmir.patch: Refresh.

diff --git a/debian/changelog b/debian/changelog
index 37bcfe9..cebe397 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ xserver-xorg-video-intel (2:2.99.903-0ubuntu1) UNRELEASED; urgency=low
   * Merge from unreleased debian git
   * Drop patches that were from upstream.
   * source: Revert to source format 1.0.
+  * xmir.patch: Refresh.
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 01 Oct 2013 16:18:05 +0300
 
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index 9b8f7e3..3636e58 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -26,10 +26,10 @@ index b0781ca..126bde2 100644
  	$(NULL)
  
 diff --git a/src/intel_device.c b/src/intel_device.c
-index b3926df..710348e 100644
+index 92472c5..2dd1625 100644
 --- a/src/intel_device.c
 +++ b/src/intel_device.c
-@@ -144,10 +144,34 @@ static int fd_set_nonblock(int fd)
+@@ -146,10 +146,34 @@ static int fd_set_nonblock(int fd)
  	return fd;
  }
  
@@ -107,10 +107,10 @@ index 0000000..2e3c85a
 +
 +#endif /* INTEL_XMIR_H */
 diff --git a/src/sna/Makefile.am b/src/sna/Makefile.am
-index 5d5417e..1c5dda0 100644
+index 030869d..5cf1cbf 100644
 --- a/src/sna/Makefile.am
 +++ b/src/sna/Makefile.am
-@@ -75,6 +75,7 @@ libsna_la_SOURCES = \
+@@ -76,6 +76,7 @@ libsna_la_SOURCES = \
  	sna_video_overlay.c \
  	sna_video_sprite.c \
  	sna_video_textured.c \
@@ -118,56 +118,11 @@ index 5d5417e..1c5dda0 100644
  	gen2_render.c \
  	gen2_render.h \
  	gen3_render.c \
-diff --git a/src/sna/kgem.c b/src/sna/kgem.c
-index e001b01..323fe39 100644
---- a/src/sna/kgem.c
-+++ b/src/sna/kgem.c
-@@ -168,7 +168,9 @@ struct local_i915_gem_caching {
- };
- 
- #define LOCAL_I915_GEM_SET_CACHING	0x2f
-+#define LOCAL_I915_GEM_GET_CACHING	0x30
- #define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
-+#define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOWR(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
- 
- struct kgem_buffer {
- 	struct kgem_bo base;
-@@ -454,6 +456,18 @@ bool __kgem_busy(struct kgem *kgem, int handle)
- 	return busy.busy;
- }
- 
-+int __kgem_bo_get_caching(struct kgem *kgem, struct kgem_bo *bo)
-+{
-+	struct local_i915_gem_caching arg;
-+
-+	VG_CLEAR(arg);
-+	arg.handle = bo->handle;
-+	arg.caching = kgem->has_llc;
-+	(void)drmIoctl(kgem->fd, LOCAL_IOCTL_I915_GEM_GET_CACHING, &arg);
-+
-+	return arg.caching;
-+}
-+
- static void kgem_bo_retire(struct kgem *kgem, struct kgem_bo *bo)
- {
- 	DBG(("%s: retiring bo handle=%d (needed flush? %d), rq? %d [busy?=%d]\n",
-diff --git a/src/sna/kgem.h b/src/sna/kgem.h
-index f29f81a..44da0dc 100644
---- a/src/sna/kgem.h
-+++ b/src/sna/kgem.h
-@@ -602,6 +602,7 @@ static inline bool kgem_bo_is_snoop(struct kgem_bo *bo)
- 
- void kgem_bo_undo(struct kgem *kgem, struct kgem_bo *bo);
- 
-+int __kgem_bo_get_caching(struct kgem *kgem, struct kgem_bo *bo);
- bool __kgem_busy(struct kgem *kgem, int handle);
- 
- static inline void kgem_bo_mark_busy(struct kgem_bo *bo, int ring)
 diff --git a/src/sna/sna.h b/src/sna/sna.h
-index c47a8ab..1e74d3b 100644
+index f7c5315..494baa8 100644
 --- a/src/sna/sna.h
 +++ b/src/sna/sna.h
-@@ -288,6 +288,7 @@ struct sna {
+@@ -290,6 +290,7 @@ struct sna {
  	EntityInfoPtr pEnt;
  	struct pci_device *PciInfo;
  	const struct intel_device_info *info;
@@ -175,27 +130,9 @@ index c47a8ab..1e74d3b 100644
  
  	ScreenBlockHandlerProcPtr BlockHandler;
  	ScreenWakeupHandlerProcPtr WakeupHandler;
-@@ -425,6 +426,17 @@ CARD32 sna_render_format_for_depth(int depth);
- 
- void sna_debug_flush(struct sna *sna);
- 
-+static inline void
-+get_window_deltas(PixmapPtr pixmap, int16_t *x, int16_t *y)
-+{
-+#ifdef COMPOSITE
-+	*x = -pixmap->screen_x;
-+	*y = -pixmap->screen_y;
-+#else
-+	*x = *y = 0;
-+#endif
-+}
-+
- static inline bool
- get_drawable_deltas(DrawablePtr drawable, PixmapPtr pixmap, int16_t *x, int16_t *y)
- {
-@@ -946,4 +958,18 @@ void sna_image_composite(pixman_op_t        op,
- 			 uint16_t           width,
- 			 uint16_t           height);
+@@ -988,4 +989,18 @@ static inline void sigtrap_put(void)
+ 	sigtrap_assert();
+ }
  
 +/* sna_xmir.c */
 +
@@ -213,11 +150,11 @@ index c47a8ab..1e74d3b 100644
 +
  #endif /* _SNA_H */
 diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
-index 0405186..ddb321c 100644
+index 00a65a9..88d0869 100644
 --- a/src/sna/sna_dri.c
 +++ b/src/sna/sna_dri.c
-@@ -2276,6 +2276,13 @@ out_complete:
- }
+@@ -2322,6 +2322,13 @@ out_complete:
+ void sna_dri_destroy_window(WindowPtr win) { }
  #endif
  
 +#if DRI2INFOREC_VERSION >= 8 && XMIR
@@ -230,7 +167,7 @@ index 0405186..ddb321c 100644
  static bool has_i830_dri(void)
  {
  	return access(DRI_DRIVER_PATH "/i830_dri.so", R_OK) == 0;
-@@ -2351,6 +2358,13 @@ bool sna_dri_open(struct sna *sna, ScreenPtr screen)
+@@ -2471,6 +2478,13 @@ bool sna_dri_open(struct sna *sna, ScreenPtr screen)
  	info.ReuseBufferNotify = NULL;
  #endif
  
@@ -243,12 +180,12 @@ index 0405186..ddb321c 100644
 +
  #if USE_ASYNC_SWAP
  	info.version = 10;
- 	info.AsyncSwap = sna_dri_async_swap;
+ 	info.scheduleSwap0 = 1;
 diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
-index 2a4a830..44eea33 100644
+index 6d4420f..5cc52d3 100644
 --- a/src/sna/sna_driver.c
 +++ b/src/sna/sna_driver.c
-@@ -442,6 +442,9 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
+@@ -514,6 +514,9 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
  		goto cleanup;
  	}
  
@@ -258,7 +195,7 @@ index 2a4a830..44eea33 100644
  	/* Sanity check */
  	if (hosted() && (sna->flags & SNA_IS_HOSTED) == 0) {
  		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
-@@ -449,9 +452,14 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
+@@ -521,9 +524,14 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
  		goto cleanup;
  	}
  
@@ -275,7 +212,7 @@ index 2a4a830..44eea33 100644
  
  	if (!xf86SetDepthBpp(scrn, preferred_depth, 0, 0,
  			     Support32bppFb |
-@@ -488,6 +496,9 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
+@@ -560,6 +568,9 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
  
  	intel_detect_chipset(scrn, sna->pEnt, sna->PciInfo);
  
@@ -285,7 +222,7 @@ index 2a4a830..44eea33 100644
  	kgem_init(&sna->kgem, fd, sna->PciInfo, sna->info->gen);
  	if (xf86ReturnOptValBool(sna->Options, OPTION_ACCEL_DISABLE, FALSE) ||
  	    !sna_option_cast_to_bool(sna, OPTION_ACCEL_METHOD, TRUE)) {
-@@ -571,6 +582,8 @@ sna_block_handler(BLOCKHANDLER_ARGS_DECL)
+@@ -659,6 +670,8 @@ sna_block_handler(BLOCKHANDLER_ARGS_DECL)
  
  	if (*tv == NULL || ((*tv)->tv_usec | (*tv)->tv_sec))
  		sna_accel_block_handler(sna, tv);
@@ -294,7 +231,7 @@ index 2a4a830..44eea33 100644
  }
  
  static void
-@@ -918,6 +931,8 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
+@@ -1010,6 +1023,8 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
  	if (!miDCInitialize(screen, xf86GetPointerScreenFuncs()))
  		return FALSE;
  
@@ -305,10 +242,10 @@ index 2a4a830..44eea33 100644
  			       HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
 diff --git a/src/sna/sna_xmir.c b/src/sna/sna_xmir.c
 new file mode 100644
-index 0000000..1e38a41
+index 0000000..edfe298
 --- /dev/null
 +++ b/src/sna/sna_xmir.c
-@@ -0,0 +1,187 @@
+@@ -0,0 +1,186 @@
 +/***************************************************************************
 +
 + Copyright 2013 Intel Corporation.  All Rights Reserved.
@@ -335,7 +272,9 @@ index 0000000..1e38a41
 +
 + **************************************************************************/
 +
-+#include <assert.h>
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
 +
 +#include "sna.h"
 +
@@ -363,18 +302,17 @@ index 0000000..1e38a41
 +static void
 +sna_xmir_copy_to_mir(xmir_window *xmir_win, RegionPtr region)
 +{
-+	PixmapPtr src = get_window_pixmap(xmir_window_to_windowptr(xmir_win));
-+	struct sna *sna = to_sna_from_pixmap(src);
-+	BoxPtr dst_box = xmir_window_get_drawable_region(xmir_win);
-+	struct sna_pixmap *priv;
-+	struct kgem_bo *bo;
++	PixmapPtr pixmap = get_window_pixmap(xmir_window_to_windowptr(xmir_win));
++	struct sna *sna = to_sna_from_pixmap(pixmap);
++	const BoxRec *dst_box = xmir_window_get_drawable_region(xmir_win);
++	struct kgem_bo *src, *dst;
 +	BoxRec *box;
-+	int16_t sx, sy;
-+	int pitch = xmir_window_get_stride(xmir_win);
-+	int nbox;
++	const int pitch = xmir_window_get_stride(xmir_win);
++	int16_t sx, sy, dx, dy;
++	int n;
 +
 +#if FORCE_FULL_REDRAW
-+	RegionRec whole = { { 0, 0, src->drawable.width, src->drawable.height } };
++	RegionRec whole = { { 0, 0, pixmap->drawable.width, pixmap->drawable.height } };
 +	region = &whole;
 +#endif
 +
@@ -390,69 +328,67 @@ index 0000000..1e38a41
 +	     pitch, xmir_window_get_fd(xmir_win)));
 +
 +	box = REGION_RECTS(region);
-+	nbox = REGION_NUM_RECTS(region);
-+	if (nbox == 0)
++	n = REGION_NUM_RECTS(region);
++	if (n == 0)
 +		return;
 +
 +	/* XXX size is bogus, but only used for sanity checks */
-+	bo = kgem_create_for_prime(&sna->kgem,
-+				   xmir_window_get_fd(xmir_win),
-+				   pitch * (dst_box->y2 - dst_box->y1));
-+	if (bo == NULL)
++	dst = kgem_create_for_prime(&sna->kgem,
++				    xmir_window_get_fd(xmir_win),
++				    pitch * (dst_box->y2 - dst_box->y1));
++	if (dst == NULL)
 +		return;
 +
-+	bo->pitch = pitch;
-+	if (__kgem_bo_get_caching(&sna->kgem, bo) != 1)
-+		bo->scanout = true; /* presume the worst */
++	dst->pitch = pitch;
++	dst->scanout = true; /* presume the worst (almost always true) */
 +
-+	get_window_deltas(src, &sx, &sy);
++	if (get_window_deltas(pixmap, &sx, &sy))
++		RegionTranslate(region, sx, sy);
 +
-+	priv = sna_pixmap_move_to_gpu(src, MOVE_READ);
-+	if (priv &&
-+	    sna->render.copy_boxes(sna, GXcopy,
-+				   src, priv->gpu_bo, sx, sy,
-+				   src, bo, -dst_box->x1, -dst_box->y1,
-+				   box, nbox, COPY_LAST)) {
++	dx = sx + dst_box->x1;
++	dy = sy + dst_box->y1;
++
++	src = NULL;
++	if (!wedged(sna))
++		src = __sna_render_pixmap_bo(sna, pixmap, &region->extents, true);
++	if (src && sna->render.copy_boxes(sna, GXcopy,
++					  pixmap, src, 0, 0,
++					  pixmap, dst, -dx, -dy,
++					  box, n, COPY_LAST)) {
 +		kgem_submit(&sna->kgem);
-+		nbox = 0;
++		n = 0;
 +	} else {
-+		void *dst;
-+
-+		DBG(("%s: fallback\n", __FUNCTION__));
-+
-+		if (sx | sy)
-+			RegionTranslate(region, sx, sy);
-+
-+		dst = kgem_bo_map__gtt(&sna->kgem, bo);
-+		if (dst &&
-+		    sna_drawable_move_region_to_cpu(&src->drawable,
-+						    region, MOVE_READ)) {
-+			int16_t dx = sx + dst_box->x1;
-+			int16_t dy = sy + dst_box->y1;
-+			kgem_bo_sync__gtt(&sna->kgem, bo);
-+			do {
-+				memcpy_blt(src->devPrivate.ptr, dst,
-+					   src->drawable.bitsPerPixel,
-+					   src->devKind, bo->pitch,
-+					   box->x1, box->y1,
-+					   box->x1 - dx, box->y1 - dy,
-+					   box->x2 - box->x1,
-+					   box->y2 - box->y1);
-+			} while (--nbox);
++		void *ptr = kgem_bo_map__gtt(&sna->kgem, dst);
++		if (ptr && sna_drawable_move_region_to_cpu(&pixmap->drawable,
++							   region, MOVE_READ)) {
++			kgem_bo_sync__gtt(&sna->kgem, dst);
++			if (sigtrap_get() == 0) {
++				do {
++					memcpy_blt(pixmap->devPrivate.ptr, ptr,
++						   pixmap->drawable.bitsPerPixel,
++						   pixmap->devKind, dst->pitch,
++						   box->x1, box->y1,
++						   box->x1 - dx, box->y1 - dy,
++						   box->x2 - box->x1,
++						   box->y2 - box->y1);
++					box++;
++				} while (--n);
++				sigtrap_put();
++			}
 +		}
-+
-+		if (sx | sy)
-+			RegionTranslate(region, -sx, -sy);
 +	}
 +
-+	if (nbox == 0)
++	if (sx | sy)
++		RegionTranslate(region, -sx, -sy);
++
++	if (n == 0)
 +		xmir_submit_rendering_for_window(xmir_win, region);
 +
-+	bo->scanout = false; /* but don't confuse our caching! */
-+	kgem_bo_destroy(&sna->kgem, bo);
++	dst->scanout = false; /* but don't confuse our caching! */
++	kgem_bo_destroy(&sna->kgem, dst);
 +}
 +
-+static const xmir_driver sna_xmir_driver = {
++static xmir_driver sna_xmir_driver = {
 +	XMIR_DRIVER_VERSION,
 +	sna_xmir_copy_to_mir
 +};

commit 55ff577512541da2bcd9fa4498349bd053c5e630
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Tue Oct 1 16:22:45 2013 +0300

    source: Revert to source format 1.0.

diff --git a/debian/changelog b/debian/changelog
index 254105d..37bcfe9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ xserver-xorg-video-intel (2:2.99.903-0ubuntu1) UNRELEASED; urgency=low
 
   * Merge from unreleased debian git
   * Drop patches that were from upstream.
+  * source: Revert to source format 1.0.
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 01 Oct 2013 16:18:05 +0300
 
diff --git a/debian/source/format b/debian/source/format
index 163aaf8..d3827e7 100644
--- a/debian/source/format
+++ b/debian/source/format
@@ -1 +1 @@
-3.0 (quilt)
+1.0

commit a52ddf7cab9cc19606a705e9ed871fec4c60e000
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Tue Oct 1 15:13:55 2013 +0300

    Drop patches that were from upstream.

diff --git a/debian/changelog b/debian/changelog
index 77b0832..254105d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.99.903-0ubuntu1) UNRELEASED; urgency=low
+
+  * Merge from unreleased debian git
+  * Drop patches that were from upstream.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 01 Oct 2013 16:18:05 +0300
+
 xserver-xorg-video-intel (2:2.99.903-1) UNRELEASED; urgency=low
 
   * New upstream prerelease.
diff --git a/debian/patches/0001-sna-Make-sure-the-frontbuffer-exists-before-doing-pi.patch b/debian/patches/0001-sna-Make-sure-the-frontbuffer-exists-before-doing-pi.patch
deleted file mode 100644
index e1443eb..0000000
--- a/debian/patches/0001-sna-Make-sure-the-frontbuffer-exists-before-doing-pi.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 5d29daa7df72d9a96e044d0706f3014811389629 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Wed, 14 Aug 2013 18:16:22 +0100
-Subject: [PATCH] sna: Make sure the frontbuffer exists before doing pitch
- checks
-
-An unusual path to be sure, to call sna_crtc_set_mode_major before we
-create a GPU bo for the scanout - but might be possible after a GPU
-hang, or it appears after trying to set a 0x0 mode. At any rate, make
-sure the GPU bo exists before dereferencing.
-
-Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1212344
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
- src/sna/sna_display.c | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
-index 2a5b4b4..a6a4665 100644
---- a/src/sna/sna_display.c
-+++ b/src/sna/sna_display.c
-@@ -1093,7 +1093,7 @@ static bool use_shadow(struct sna *sna, xf86CrtcPtr crtc)
- 	PictTransform crtc_to_fb;
- 	struct pict_f_transform f_crtc_to_fb, f_fb_to_crtc;
- 	unsigned long pitch_limit;
--	struct kgem_bo *bo;
-+	struct sna_pixmap *priv;
- 	BoxRec b;
- 
- 	assert(sna->scrn->virtualX && sna->scrn->virtualY);
-@@ -1118,18 +1118,21 @@ static bool use_shadow(struct sna *sna, xf86CrtcPtr crtc)
- 		return true;
- 	}
- 
--	bo = sna_pixmap_get_bo(sna->front);
-+	priv = sna_pixmap_force_to_gpu(sna->front, MOVE_READ | MOVE_WRITE);
-+	if (priv == NULL)
-+		return true; /* maybe we can create a bo for the scanout? */
-+
- 	if (sna->kgem.gen == 071)
--		pitch_limit = bo->tiling ? 16 * 1024 : 32 * 1024;
-+		pitch_limit = priv->gpu_bo->tiling ? 16 * 1024 : 32 * 1024;
- 	else if ((sna->kgem.gen >> 3) > 4)
- 		pitch_limit = 32 * 1024;
- 	else if ((sna->kgem.gen >> 3) == 4)
--		pitch_limit = bo->tiling ? 16 * 1024 : 32 * 1024;
-+		pitch_limit = priv->gpu_bo->tiling ? 16 * 1024 : 32 * 1024;
- 	else if ((sna->kgem.gen >> 3) == 3)
--		pitch_limit = bo->tiling ? 8 * 1024 : 16 * 1024;
-+		pitch_limit = priv->gpu_bo->tiling ? 8 * 1024 : 16 * 1024;
- 	else
- 		pitch_limit = 8 * 1024;
--	if (bo->pitch > pitch_limit)
-+	if (priv->gpu_bo->pitch > pitch_limit)
- 		return true;
- 
- 	transform = NULL;
--- 
-1.8.3.4
-
diff --git a/debian/patches/check-hosted-initialisation-succeeds.patch b/debian/patches/check-hosted-initialisation-succeeds.patch
deleted file mode 100644
index 829e3f4..0000000
--- a/debian/patches/check-hosted-initialisation-succeeds.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 394978867edf3746c285491db6be41abfe325d87
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Wed Aug 14 08:38:52 2013 +0100
-
-    sna: Check that we successfully install the required hosting midlayer
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
-index c27deb6..83a5bba 100644
---- a/src/sna/sna_driver.c
-+++ b/src/sna/sna_driver.c
-@@ -430,6 +430,13 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
- 		goto cleanup;
- 	}
- 
-+	/* Sanity check */
-+	if (hosted() && (sna->flags & SNA_IS_HOSTED) == 0) {
-+		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
-+			   "Failed to setup hosted device.\n");
-+		goto cleanup;
-+	}
-+
- 	preferred_depth = sna->info->gen < 030 ? 15 : 24;
- 	if (!fb_supports_depth(fd, preferred_depth))
- 		preferred_depth = 24;
diff --git a/debian/patches/disable-unneeded-functions-when-hosted.patch b/debian/patches/disable-unneeded-functions-when-hosted.patch
deleted file mode 100644
index 69198fd..0000000
--- a/debian/patches/disable-unneeded-functions-when-hosted.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-commit b6b5c3f009585151eb772dfc2526843c7cee82b3
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Fri Aug 9 11:34:39 2013 +0100
-
-    intel: Disable incompatible features whilst hosted
-    
-    Start adding the infrastructure to disable direct hardware access if X
-    is being run under a system compositor (aka "hosted").
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/src/intel_device.c b/src/intel_device.c
-index c5f0a38..d9ff8bc 100644
---- a/src/intel_device.c
-+++ b/src/intel_device.c
-@@ -92,7 +92,7 @@ static int __intel_check_device(int fd)
- 		if (drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp))
- 			ret = FALSE;
- 	}
--	if (ret) {
-+	if (ret && !hosted()) {
- 		struct drm_mode_card_res res;
- 
- 		memset(&res, 0, sizeof(res));
-@@ -199,6 +199,12 @@ int intel_open_device(int entity_num,
- 	dev->open_count = 0;
- 	dev->master_count = 0;
- 
-+	/* If hosted under a system compositor, just pretend to be master */
-+	if (hosted()) {
-+		dev->open_count++;
-+		dev->master_count++;
-+	}
-+
- 	xf86GetEntityPrivate(entity_num, intel_device_key)->ptr = dev;
- 
- 	return fd;
-@@ -222,6 +228,8 @@ int intel_get_device(ScrnInfoPtr scrn)
- 		drmSetVersion sv;
- 		int retry = 2000;
- 
-+		assert(!hosted());
-+
- 		/* Check that what we opened was a master or a
- 		 * master-capable FD, by setting the version of the
- 		 * interface we'll use to talk to it.
-@@ -267,6 +275,7 @@ int intel_get_master(ScrnInfoPtr scrn)
- 	if (dev->master_count++ == 0) {
- 		int retry = 2000;
- 
-+		assert(!hosted());
- 		do {
- 			ret = drmSetMaster(dev->fd);
- 			if (ret == 0)
-@@ -288,6 +297,7 @@ int intel_put_master(ScrnInfoPtr scrn)
- 	ret = 0;
- 	assert(dev->master_count);
- 	if (--dev->master_count == 0) {
-+		assert(!hosted());
- 		assert(drmSetMaster(dev->fd) == 0);
- 		ret = drmDropMaster(dev->fd);
- 	}
-@@ -317,6 +327,7 @@ void intel_put_device(ScrnInfoPtr scrn)
- 	if (--dev->open_count)
- 		return;
- 
-+	assert(!hosted());
- 	intel_set_device(scrn, NULL);
- 
- 	drmClose(dev->fd);
-diff --git a/src/intel_driver.h b/src/intel_driver.h
-index 1e67eab..4768536 100644
---- a/src/intel_driver.h
-+++ b/src/intel_driver.h
-@@ -129,4 +129,6 @@ void intel_put_device(ScrnInfoPtr scrn);
- 
- void __intel_uxa_release_device(ScrnInfoPtr scrn);
- 
-+#define hosted() (0)
-+
- #endif /* INTEL_DRIVER_H */
-diff --git a/src/intel_module.c b/src/intel_module.c
-index 47e494c..42fa8d8 100644
---- a/src/intel_module.c
-+++ b/src/intel_module.c
-@@ -382,6 +382,9 @@ static Bool intel_driver_func(ScrnInfoPtr pScrn,
- #else
- 		(*flag) = HW_IO | HW_MMIO;
- #endif
-+		if (hosted())
-+			(*flag) = HW_SKIP_CONSOLE;
-+
- 		return TRUE;
- 	default:
- 		/* Unknown or deprecated function */
-@@ -410,6 +413,9 @@ static enum accel_method { UXA, SNA } get_accel_method(void)
- 	enum accel_method accel_method = DEFAULT_ACCEL_METHOD;
- 	XF86ConfDevicePtr dev;
- 
-+	if (hosted())
-+		return SNA;
-+
- 	dev = _xf86findDriver("intel", xf86configptr->conf_device_lst);
- 	if (dev && dev->dev_option_lst) {
- 		const char *s;
-@@ -493,7 +499,8 @@ static Bool intel_pci_probe(DriverPtr		driver,
- 		case PCI_CHIP_I810_DC100:
- 		case PCI_CHIP_I810_E:
- 		case PCI_CHIP_I815:
--			break;
-+			if (!hosted())
-+				break;
- 		default:
- 			return FALSE;
- 		}
-diff --git a/src/sna/sna.h b/src/sna/sna.h
-index caf671f..7387088 100644
---- a/src/sna/sna.h
-+++ b/src/sna/sna.h
-@@ -229,6 +229,7 @@ struct sna {
- #define SNA_TEAR_FREE		0x10
- #define SNA_FORCE_SHADOW	0x20
- #define SNA_FLUSH_GTT		0x40
-+#define SNA_IS_HOSTED		0x80
- #define SNA_REPROBE		0x80000000
- 
- 	unsigned cpu_features;
-diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
-index 5dcf47f..f86d93d 100644
---- a/src/sna/sna_display.c
-+++ b/src/sna/sna_display.c
-@@ -3151,11 +3151,22 @@ sna_crtc_config_notify(ScreenPtr screen)
- 	sna_mode_update(to_sna_from_screen(screen));
- }
- 
-+#if HAS_PIXMAP_SHARING
-+#define sna_setup_provider(scrn) xf86ProviderSetup(scrn, NULL, "Intel")
-+#else
-+#define sna_setup_provider(scrn)
-+#endif
-+
- bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna)
- {
- 	struct sna_mode *mode = &sna->mode;
- 	int i;
- 
-+	if (sna->flags & SNA_IS_HOSTED) {
-+		sna_setup_provider(scrn);
-+		return true;
-+	}
-+
- 	mode->kmode = drmModeGetResources(sna->kgem.fd);
- 	if (mode->kmode) {
- 		xf86CrtcConfigInit(scrn, &sna_mode_funcs);
-@@ -3172,9 +3183,7 @@ bool sna_mode_pre_init(ScrnInfoPtr scrn, struct sna *sna)
- 		if (!xf86IsEntityShared(scrn->entityList[0]))
- 			sna_mode_compute_possible_clones(scrn);
- 
--#if HAS_PIXMAP_SHARING
--		xf86ProviderSetup(scrn, NULL, "Intel");
--#endif
-+		sna_setup_provider(scrn);
- 	} else {
- 		if (!sna_mode_fake_init(sna))
- 			return false;
-@@ -3200,6 +3209,9 @@ sna_mode_close(struct sna *sna)
- 	while (sna_mode_has_pending_events(sna))
- 		sna_mode_wakeup(sna);
- 
-+	if (sna->flags & SNA_IS_HOSTED)
-+		return;
-+
- 	for (i = 0; i < xf86_config->num_crtc; i++)
- 		sna_crtc_disable_shadow(sna, to_sna_crtc(xf86_config->crtc[i]));
- }
-diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
-index fc8773b..7f2c0ac 100644
---- a/src/sna/sna_driver.c
-+++ b/src/sna/sna_driver.c
-@@ -287,7 +287,7 @@ static bool has_pageflipping(struct sna *sna)
- 	drm_i915_getparam_t gp;
- 	int v;
- 
--	if (sna->flags & SNA_NO_WAIT)
-+	if (sna->flags & (SNA_IS_HOSTED | SNA_NO_WAIT))
- 		return false;
- 
- 	v = 0;
-@@ -413,6 +413,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
- 	sna = to_sna(scrn);
- 	sna->scrn = scrn;
- 	sna->pEnt = pEnt;
-+	sna->flags = 0;
- 
- 	scrn->displayWidth = 640;	/* default it */
- 
-@@ -425,7 +426,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
- 	fd = intel_get_device(scrn);
- 	if (fd == -1) {
- 		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
--			   "Failed to become DRM master.\n");
-+			   "Failed to claim DRM device.\n");
- 		goto cleanup;
- 	}
- 
-@@ -484,7 +485,6 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
- 	if (xf86ReturnOptValBool(sna->Options, OPTION_TILING_FB, FALSE))
- 		sna->tiling &= ~SNA_TILING_FB;
- 
--	sna->flags = 0;
- 	if (!xf86ReturnOptValBool(sna->Options, OPTION_SWAPBUFFERS_WAIT, TRUE))
- 		sna->flags |= SNA_NO_WAIT;
- 	if (xf86ReturnOptValBool(sna->Options, OPTION_TRIPLE_BUFFER, TRUE))
-@@ -629,6 +629,9 @@ sna_uevent_init(ScrnInfoPtr scrn)
- 	Bool hotplug;
- 	MessageType from = X_CONFIG;
- 
-+	if (sna->flags & SNA_IS_HOSTED)
-+		return;
-+
- 	DBG(("%s\n", __FUNCTION__));
- 
- 	/* RandR will be disabled if Xinerama is active, and so generating
-@@ -895,7 +898,8 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
- 	if (!miDCInitialize(screen, xf86GetPointerScreenFuncs()))
- 		return FALSE;
- 
--	if (xf86_cursors_init(screen, SNA_CURSOR_X, SNA_CURSOR_Y,
-+	if ((sna->flags & SNA_IS_HOSTED) == 0 &&
-+	    xf86_cursors_init(screen, SNA_CURSOR_X, SNA_CURSOR_Y,
- 			       HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
- 			       HARDWARE_CURSOR_BIT_ORDER_MSBFIRST |
- 			       HARDWARE_CURSOR_INVERT_MASK |
-diff --git a/src/sna/sna_video_overlay.c b/src/sna/sna_video_overlay.c
-index a0b4db9..a68a173 100644
---- a/src/sna/sna_video_overlay.c
-+++ b/src/sna/sna_video_overlay.c
-@@ -683,6 +683,9 @@ void sna_video_overlay_setup(struct sna *sna, ScreenPtr screen)
- 	struct sna_video *video;
- 	XvPortPtr port;
- 
-+	if (sna->flags & SNA_IS_HOSTED)
-+		return;
-+
- 	if (!sna_has_overlay(sna))
- 		return;
- 
-diff --git a/src/sna/sna_video_sprite.c b/src/sna/sna_video_sprite.c
-index 07e59bd..a8d50ab 100644
---- a/src/sna/sna_video_sprite.c
-+++ b/src/sna/sna_video_sprite.c
-@@ -456,6 +456,9 @@ void sna_video_sprite_setup(struct sna *sna, ScreenPtr screen)
- 	struct sna_video *video;
- 	XvPortPtr port;
- 
-+	if (sna->flags & SNA_IS_HOSTED)
-+		return;
-+
- 	memset(&r, 0, sizeof(struct drm_mode_get_plane_res));
- 	if (drmIoctl(sna->kgem.fd, DRM_IOCTL_MODE_GETPLANERESOURCES, &r))
- 		return;
diff --git a/debian/patches/dont-copy-fbcon-if-hosted.patch b/debian/patches/dont-copy-fbcon-if-hosted.patch
deleted file mode 100644
index 3bec2a7..0000000
--- a/debian/patches/dont-copy-fbcon-if-hosted.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 7690346248fd8d3460cc07f018827ff55b85d19d
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Sat Aug 24 14:00:34 2013 +0100
-
-    sna: Don't copy fbcon if hosted
-    
-    When hosted, we have no idea what the right initial contents should be
-    as we are independent of the CRTC and so the existing fb is irrelevant.
-    Plus, not actually being master will cause the attempt to read back the
-    bound framebuffer to fail...
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
-index 83a5bba..e6c424a 100644
---- a/src/sna/sna_driver.c
-+++ b/src/sna/sna_driver.c
-@@ -259,7 +259,7 @@ static Bool sna_create_screen_resources(ScreenPtr screen)
- 	screen->SetScreenPixmap(sna->front);
- 
- 	/* Only preserve the fbcon, not any subsequent server regens */
--	if (serverGeneration == 1)
-+	if (serverGeneration == 1 && (sna->flags & SNA_IS_HOSTED) == 0)
- 		sna_copy_fbcon(sna);
- 
- 	if (!sna_become_master(sna)) {
diff --git a/debian/patches/fix-spelling-of-caching.patch b/debian/patches/fix-spelling-of-caching.patch
deleted file mode 100644
index 00dba87..0000000
--- a/debian/patches/fix-spelling-of-caching.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-commit 6bd897157b34e3b80dea68fa615d0fba08238486
-Author: Sedat Dilek <sedat.dilek@gmail.com>
-Date:   Wed Aug 14 10:01:13 2013 +0200
-
-    Correct misspelled caching
-    
-    Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
-
---- a/src/sna/kgem.c
-+++ b/src/sna/kgem.c
-@@ -159,13 +159,13 @@
- #define UNCACHED	0
- #define SNOOPED		1
- 
--struct local_i915_gem_cacheing {
-+struct local_i915_gem_caching {
- 	uint32_t handle;
--	uint32_t cacheing;
-+	uint32_t caching;
- };
- 
--#define LOCAL_I915_GEM_SET_CACHEING	0x2f
--#define LOCAL_IOCTL_I915_GEM_SET_CACHEING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHEING, struct local_i915_gem_cacheing)
-+#define LOCAL_I915_GEM_SET_CACHING	0x2f
-+#define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
- 
- struct kgem_buffer {
- 	struct kgem_bo base;
-@@ -257,14 +257,14 @@
- 	return ret == 0;
- }
- 
--static bool gem_set_cacheing(int fd, uint32_t handle, int cacheing)
-+static bool gem_set_caching(int fd, uint32_t handle, int caching)
- {
--	struct local_i915_gem_cacheing arg;
-+	struct local_i915_gem_caching arg;
- 
- 	VG_CLEAR(arg);
- 	arg.handle = handle;
--	arg.cacheing = cacheing;
--	return drmIoctl(fd, LOCAL_IOCTL_I915_GEM_SET_CACHEING, &arg) == 0;
-+	arg.caching = caching;
-+	return drmIoctl(fd, LOCAL_IOCTL_I915_GEM_SET_CACHING, &arg) == 0;
- }
- 
- static uint32_t gem_userptr(int fd, void *ptr, int size, int read_only)
-@@ -925,7 +925,7 @@
- 	return has_llc;
- }
- 
--static bool test_has_cacheing(struct kgem *kgem)
-+static bool test_has_caching(struct kgem *kgem)
- {
- 	uint32_t handle;
- 	bool ret;
-@@ -941,7 +941,7 @@
- 	if (handle == 0)
- 		return false;
- 
--	ret = gem_set_cacheing(kgem->fd, handle, UNCACHED);
-+	ret = gem_set_caching(kgem->fd, handle, UNCACHED);
- 	gem_close(kgem->fd, handle);


Reply to: