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 <sarv...@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 <mar...@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 <tjaal...@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 <ch...@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" <jstpie...@mecheye.net>
+Signed-off-by: Chris Wilson <ch...@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
 


-- 
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/e1yxymh-0002ns...@moszumanska.debian.org

Reply via email to