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

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



 debian/changelog                                              |   15 +
 debian/patches/bdw-annotate-more-64bit-pointer-locations.diff |   20 -
 debian/patches/bdw-clamp-urb-allocations-for-gt3.diff         |    9 
 debian/patches/fix-sna-trapezoids.patch                       |  122 ++++++++++
 debian/patches/series                                         |    1 
 5 files changed, 154 insertions(+), 13 deletions(-)

New commits:
commit a867797fedf60067a88f4ecfb6e44cc0a270802a
Author: Robert Hooker <sarvatt@ubuntu.com>
Date:   Thu May 28 09:58:38 2015 -0400

    Update to what's currently in Utopic.

diff --git a/debian/changelog b/debian/changelog
index 680ee24..dd711c9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,18 @@
+xserver-xorg-video-intel (2:2.99.914-1~exp1ubuntu4.4) utopic; urgency=medium
+
+  * fix-sna-trapezoids.patch: Fix client-side shadows for GTK+ 3.14
+    (LP: #1378188).
+
+ -- Marius Gedminas <marius@gedmin.as>  Tue, 05 May 2015 11:25:15 +0100
+
+xserver-xorg-video-intel (2:2.99.914-1~exp1ubuntu4.3) utopic; urgency=medium
+
+  * bdw-annotate-more-64bit-pointer-locations.diff
+    bdw-clamp-urb-allocations-for-gt3.diff:
+    Fix BDW GT3. (#1444436)
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Wed, 22 Apr 2015 19:57:12 +0300
+
 xserver-xorg-video-intel (2:2.99.914-1~exp1ubuntu4.2) utopic-proposed; urgency=medium
 
   [ Timo Aaltonen ]
diff --git a/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff b/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
index 3ba449b..d42090d 100644
--- a/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
+++ b/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
@@ -8,7 +8,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
 
 --- a/src/sna/gen8_render.c
 +++ b/src/sna/gen8_render.c
-@@ -474,7 +474,7 @@ gen8_emit_vs_invariant(struct sna *sna)
+@@ -523,7 +523,7 @@ gen8_emit_vs_invariant(struct sna *sna)
  	OUT_BATCH(GEN8_3DSTATE_VS | (9 - 2));
  	OUT_BATCH64(0); /* no VS kernel */
  	OUT_BATCH(0);
@@ -17,7 +17,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	OUT_BATCH(0);
  	OUT_BATCH(1 << 1); /* pass-through */
  	OUT_BATCH(1 << 16 | 1 << 21); /* urb write to SBE */
-@@ -500,12 +500,10 @@ static void
+@@ -549,12 +549,10 @@ static void
  gen8_emit_hs_invariant(struct sna *sna)
  {
  	OUT_BATCH(GEN8_3DSTATE_HS | (9 - 2));
@@ -32,7 +32,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	OUT_BATCH(0);
  	OUT_BATCH(0); /* pass-through */
  
-@@ -541,11 +539,9 @@ static void
+@@ -590,11 +588,9 @@ static void
  gen8_emit_ds_invariant(struct sna *sna)
  {
  	OUT_BATCH(GEN8_3DSTATE_DS | (9 - 2));
@@ -46,7 +46,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	OUT_BATCH(0);
  	OUT_BATCH(0);
  	OUT_BATCH(0);
-@@ -573,15 +569,13 @@ static void
+@@ -622,15 +618,13 @@ static void
  gen8_emit_gs_invariant(struct sna *sna)
  {
  	OUT_BATCH(GEN8_3DSTATE_GS | (10 - 2));
@@ -65,7 +65,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  
  #if SIM
  	OUT_BATCH(GEN8_3DSTATE_CONSTANT_GS | (11 - 2));
-@@ -690,13 +684,15 @@ gen8_emit_wm_invariant(struct sna *sna)
+@@ -744,13 +738,15 @@ gen8_emit_wm_invariant(struct sna *sna)
  	OUT_BATCH(WM_PERSPECTIVE_PIXEL_BARYCENTRIC);
  
  #if SIM
@@ -84,7 +84,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	OUT_BATCH(0);
  #endif
  
-@@ -834,6 +830,7 @@ gen8_emit_cc(struct sna *sna, uint32_t b
+@@ -891,6 +887,7 @@ gen8_emit_cc(struct sna *sna, uint32_t b
  	} else
  		OUT_BATCH(PS_BLEND_HAS_WRITEABLE_RT);
  
@@ -92,7 +92,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	OUT_BATCH(GEN8_3DSTATE_BLEND_STATE_POINTERS | (2 - 2));
  	OUT_BATCH((render->cc_blend + blend * GEN8_BLEND_STATE_PADDED_SIZE) | 1);
  
-@@ -896,6 +893,9 @@ gen8_emit_wm(struct sna *sna, int kernel
+@@ -953,6 +950,9 @@ gen8_emit_wm(struct sna *sna, int kernel
  	     wm_kernels[kernel].name,
  	     wm_kernels[kernel].num_surfaces,
  	     kernels[0], kernels[1], kernels[2]));
@@ -102,7 +102,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  
  	OUT_BATCH(GEN8_3DSTATE_PS | (12 - 2));
  	OUT_BATCH64(kernels[0] ?: kernels[1] ?: kernels[2]);
-@@ -1185,8 +1185,8 @@ static bool gen8_magic_ca_pass(struct sn
+@@ -1242,8 +1242,8 @@ static bool gen8_magic_ca_pass(struct sn
  						  true, true,
  						  op->is_affine));
  
@@ -113,7 +113,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	OUT_BATCH(sna->render.vertex_index - sna->render.vertex_start);
  	OUT_BATCH(sna->render.vertex_start);
  	OUT_BATCH(1);	/* single instance */
-@@ -1371,7 +1371,7 @@ static void gen8_emit_primitive(struct s
+@@ -1435,7 +1435,7 @@ static void gen8_emit_primitive(struct s
  	}
  
  	OUT_BATCH(GEN8_3DPRIMITIVE | (7 - 2));
@@ -122,7 +122,7 @@ Date:   Wed Oct 22 19:30:21 2014 +0100
  	sna->render.vertex_offset = sna->kgem.nbatch;
  	OUT_BATCH(0);	/* vertex count, to be filled in later */
  	OUT_BATCH(sna->render.vertex_index);
-@@ -1712,6 +1712,7 @@ gen8_create_blend_state(struct sna_stati
+@@ -1776,6 +1776,7 @@ gen8_create_blend_state(struct sna_stati
  			assert(((ptr - base) & 63) == 0);
  			COMPILE_TIME_ASSERT(sizeof(blend->common) == 4);
  			COMPILE_TIME_ASSERT(sizeof(blend->rt) == 8);
diff --git a/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff b/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff
index c30b92d..6e176e1 100644
--- a/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff
+++ b/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff
@@ -12,11 +12,14 @@ Date:   Wed Oct 22 19:31:10 2014 +0100
 
 --- a/src/sna/gen8_render.c
 +++ b/src/sna/gen8_render.c
-@@ -419,19 +419,19 @@ gen8_emit_urb(struct sna *sna)
+@@ -466,21 +466,21 @@ gen8_emit_urb(struct sna *sna)
+ {
+ 	/* num of VS entries must be divisible by 8 if size < 9 */
  	OUT_BATCH(GEN8_3DSTATE_URB_VS | (2 - 2));
- 	OUT_BATCH(960 << URB_ENTRY_NUMBER_SHIFT |
+-	OUT_BATCH(1024 << URB_ENTRY_NUMBER_SHIFT |
++	OUT_BATCH(960 << URB_ENTRY_NUMBER_SHIFT |
  		  (2 - 1) << URB_ENTRY_SIZE_SHIFT |
--		  1 << URB_STARTING_ADDRESS_SHIFT);
+-		  0 << URB_STARTING_ADDRESS_SHIFT);
 +		  4 << URB_STARTING_ADDRESS_SHIFT);
  
  	OUT_BATCH(GEN8_3DSTATE_URB_HS | (2 - 2));
diff --git a/debian/patches/fix-sna-trapezoids.patch b/debian/patches/fix-sna-trapezoids.patch
new file mode 100644
index 0000000..6252e64
--- /dev/null
+++ b/debian/patches/fix-sna-trapezoids.patch
@@ -0,0 +1,122 @@
+From 48a33fc379b17eed195875222ad773c911d9dff1 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Tue, 2 Sep 2014 19:08:36 +0100
+Subject: sna/trapezoids: Use the corrected trapezoid origin for aligned boxes
+
+The rule for the origin of the CompositeTrapezoids routine is the
+upper-left corner of the first trapezoid. Care must be taken in case the
+trapezoid edge is upside down to consider the upper vertex.
+
+Reported-by: "Jasper St. Pierre" <jstpierre@mecheye.net>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+diff --git a/src/sna/sna_trapezoids_boxes.c b/src/sna/sna_trapezoids_boxes.c
+index 2f7028f..a2045dc 100644
+--- a/src/sna/sna_trapezoids_boxes.c
++++ b/src/sna/sna_trapezoids_boxes.c
+@@ -120,13 +120,16 @@ composite_aligned_boxes(struct sna *sna,
+ 	BoxRec stack_boxes[64], *boxes;
+ 	pixman_region16_t region, clip;
+ 	struct sna_composite_op tmp;
++	int16_t dst_x, dst_y;
+ 	bool ret = true;
+ 	int dx, dy, n, num_boxes;
+ 
+ 	if (NO_ALIGNED_BOXES)
+ 		return false;
+ 
+-	DBG(("%s\n", __FUNCTION__));
++	DBG(("%s: pixmap=%ld, nboxes=%d, dx=(%d, %d)\n", __FUNCTION__,
++	    get_drawable_pixmap(dst->pDrawable)->drawable.serialNumber,
++	    ntrap, dst->pDrawable->x, dst->pDrawable->y));
+ 
+ 	boxes = stack_boxes;
+ 	if (ntrap > (int)ARRAY_SIZE(stack_boxes)) {
+@@ -168,19 +171,20 @@ composite_aligned_boxes(struct sna *sna,
+ 	if (num_boxes == 0)
+ 		goto free_boxes;
+ 
+-	DBG(("%s: extents (%d, %d), (%d, %d) offset of (%d, %d)\n",
++	trapezoid_origin(&traps[0].left, &dst_x, &dst_y);
++
++	DBG(("%s: extents (%d, %d), (%d, %d) offset of (%d, %d), origin (%d, %d)\n",
+ 	     __FUNCTION__,
+ 	     region.extents.x1, region.extents.y1,
+ 	     region.extents.x2, region.extents.y2,
+ 	     region.extents.x1 - boxes[0].x1,
+-	     region.extents.y1 - boxes[0].y1));
+-
+-	src_x += region.extents.x1 - boxes[0].x1;
+-	src_y += region.extents.y1 - boxes[0].y1;
++	     region.extents.y1 - boxes[0].y1,
++	     dst_x, dst_y));
+ 
+ 	if (!sna_compute_composite_region(&clip,
+ 					  src, NULL, dst,
+-					  src_x,  src_y,
++					  src_x + region.extents.x1 - dst_x - dx,
++					  src_y + region.extents.y1 - dst_y - dy,
+ 					  0, 0,
+ 					  region.extents.x1 - dx, region.extents.y1 - dy,
+ 					  region.extents.x2 - region.extents.x1,
+@@ -193,14 +197,24 @@ composite_aligned_boxes(struct sna *sna,
+ 	if (op == PictOpClear && sna->clear)
+ 		src = sna->clear;
+ 
++	DBG(("%s: clipped extents (%d, %d), (%d, %d);  now offset by (%d, %d), orgin (%d, %d)\n",
++	     __FUNCTION__,
++	     clip.extents.x1, clip.extents.y1,
++	     clip.extents.x2, clip.extents.y2,
++	     clip.extents.x1 - boxes[0].x1,
++	     clip.extents.y1 - boxes[0].y1,
++	     dst_x, dst_y));
++
+ 	if (force_fallback ||
+ 	    !sna->render.composite(sna, op, src, NULL, dst,
+-				   src_x,  src_y,
++				   src_x + clip.extents.x1 - dst_x,
++				   src_y + clip.extents.y1 - dst_y,
+ 				   0, 0,
+ 				   clip.extents.x1,  clip.extents.y1,
+ 				   clip.extents.x2 - clip.extents.x1,
+ 				   clip.extents.y2 - clip.extents.y1,
+-				   COMPOSITE_PARTIAL, memset(&tmp, 0, sizeof(tmp)))) {
++				   (clip.data || num_boxes > 1) ?  COMPOSITE_PARTIAL : 0,
++				   memset(&tmp, 0, sizeof(tmp)))) {
+ 		unsigned int flags;
+ 		const pixman_box16_t *b;
+ 		int i, count;
+@@ -232,6 +246,8 @@ composite_aligned_boxes(struct sna *sna,
+ 		}
+ 
+ 		DBG(("%s: fbComposite()\n", __FUNCTION__));
++		src_x -= dst_x - dx;
++		src_y -= dst_y - dy;
+ 		if (maskFormat) {
+ 			pixman_region_init_rects(&region, boxes, num_boxes);
+ 			RegionIntersect(&region, &region, &clip);
+@@ -241,8 +257,8 @@ composite_aligned_boxes(struct sna *sna,
+ 				count = region_num_rects(&region);
+ 				for (i = 0; i < count; i++) {
+ 					fbComposite(op, src, NULL, dst,
+-						    src_x + b[i].x1 - boxes[0].x1,
+-						    src_y + b[i].y1 - boxes[0].y1,
++						    src_x + b[i].x1,
++						    src_y + b[i].y1,
+ 						    0, 0,
+ 						    b[i].x1, b[i].y1,
+ 						    b[i].x2 - b[i].x1, b[i].y2 - b[i].y1);
+@@ -259,8 +275,8 @@ composite_aligned_boxes(struct sna *sna,
+ 				if (sigtrap_get() == 0) {
+ 					for (i = 0; i < count; i++) {
+ 						fbComposite(op, src, NULL, dst,
+-							    src_x + b[i].x1 - boxes[0].x1,
+-							    src_y + b[i].y1 - boxes[0].y1,
++							    src_x + b[i].x1,
++							    src_y + b[i].y1,
+ 							    0, 0,
+ 							    b[i].x1, b[i].y1,
+ 							    b[i].x2 - b[i].x1, b[i].y2 - b[i].y1);
+-- 
+cgit v0.10.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 1aa20d9..3e2e7a5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,5 @@
 dri3-flush-broken.patch
+fix-sna-trapezoids.patch
 
 # XMir series
 


Reply to: