debian/patches/bdw-annotate-more-64bit-pointer-locations.diff |  132 ++++++++++
 debian/patches/bdw-clamp-urb-allocations-for-gt3.diff         |   38 ++
 debian/patches/series                                         |    2 
 3 files changed, 172 insertions(+)

New commits:
commit 583a3fbd9a9e51a63be5d778ca1f626e7a9eca82
Author: Timo Aaltonen <tjaal...@debian.org>
Date:   Fri Apr 17 07:59:16 2015 +0300

    wip

diff --git a/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff 
b/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
new file mode 100644
index 0000000..3ba449b
--- /dev/null
+++ b/debian/patches/bdw-annotate-more-64bit-pointer-locations.diff
@@ -0,0 +1,132 @@
+commit de54a93217cc550c44ee138f0511ede6925d84e0
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Wed Oct 22 19:30:21 2014 +0100
+
+    sna/gen8: Annotate more 64bit pointer locations
+    
+    Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
+
+--- a/src/sna/gen8_render.c
++++ b/src/sna/gen8_render.c
+@@ -474,7 +474,7 @@ gen8_emit_vs_invariant(struct sna *sna)
+       OUT_BATCH(GEN8_3DSTATE_VS | (9 - 2));
+       OUT_BATCH64(0); /* no VS kernel */
+       OUT_BATCH(0);
+-      OUT_BATCH64(0);
++      OUT_BATCH64(0); /* scratch */
+       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
+ gen8_emit_hs_invariant(struct sna *sna)
+ {
+       OUT_BATCH(GEN8_3DSTATE_HS | (9 - 2));
+-      OUT_BATCH(0); /* no HS kernel */
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
+       OUT_BATCH(0);
+       OUT_BATCH(0);
++      OUT_BATCH64(0); /* no HS kernel */
++      OUT_BATCH64(0); /* scratch */
+       OUT_BATCH(0);
+       OUT_BATCH(0); /* pass-through */
+ 
+@@ -541,11 +539,9 @@ static void
+ gen8_emit_ds_invariant(struct sna *sna)
+ {
+       OUT_BATCH(GEN8_3DSTATE_DS | (9 - 2));
++      OUT_BATCH64(0); /* no kernel */
+       OUT_BATCH(0);
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
++      OUT_BATCH64(0); /* scratch */
+       OUT_BATCH(0);
+       OUT_BATCH(0);
+       OUT_BATCH(0);
+@@ -573,15 +569,13 @@ static void
+ gen8_emit_gs_invariant(struct sna *sna)
+ {
+       OUT_BATCH(GEN8_3DSTATE_GS | (10 - 2));
+-      OUT_BATCH(0); /* no GS kernel */
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
+-      OUT_BATCH(0);
++      OUT_BATCH64(0); /* no GS kernel */
+       OUT_BATCH(0);
++      OUT_BATCH64(0); /* scratch */
+       OUT_BATCH(0);
++      OUT_BATCH(0); /* pass-through */
+       OUT_BATCH(0);
+       OUT_BATCH(0);
+-      OUT_BATCH(0); /* pass-through */
+ 
+ #if SIM
+       OUT_BATCH(GEN8_3DSTATE_CONSTANT_GS | (11 - 2));
+@@ -690,13 +684,15 @@ gen8_emit_wm_invariant(struct sna *sna)
+       OUT_BATCH(WM_PERSPECTIVE_PIXEL_BARYCENTRIC);
+ 
+ #if SIM
+-      OUT_BATCH(GEN8_3DSTATE_WM_HZ_OP | (5 - 2));
++      OUT_BATCH(GEN8_3DSTATE_WM_CHROMAKEY | (2 - 2));
+       OUT_BATCH(0);
++#endif
++
++#if 0
++      OUT_BATCH(GEN8_3DSTATE_WM_HZ_OP | (5 - 2));
+       OUT_BATCH(0);
+       OUT_BATCH(0);
+       OUT_BATCH(0);
+-
+-      OUT_BATCH(GEN8_3DSTATE_WM_CHROMAKEY | (2 - 2));
+       OUT_BATCH(0);
+ #endif
+ 
+@@ -834,6 +830,7 @@ gen8_emit_cc(struct sna *sna, uint32_t b
+       } else
+               OUT_BATCH(PS_BLEND_HAS_WRITEABLE_RT);
+ 
++      assert(is_aligned(render->cc_blend + blend * 
GEN8_BLEND_STATE_PADDED_SIZE, 64));
+       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
+            wm_kernels[kernel].name,
+            wm_kernels[kernel].num_surfaces,
+            kernels[0], kernels[1], kernels[2]));
++      assert(is_aligned(kernels[0], 64));
++      assert(is_aligned(kernels[1], 64));
++      assert(is_aligned(kernels[2], 64));
+ 
+       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
+                                                 true, true,
+                                                 op->is_affine));
+ 
+-      OUT_BATCH(GEN8_3DPRIMITIVE | (7- 2));
+-      OUT_BATCH(RECTLIST); /* ignored, see VF_TOPOLOGY */
++      OUT_BATCH(GEN8_3DPRIMITIVE | (7 - 2));
++      OUT_BATCH(0); /* ignored, see VF_TOPOLOGY */
+       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
+       }
+ 
+       OUT_BATCH(GEN8_3DPRIMITIVE | (7 - 2));
+-      OUT_BATCH(RECTLIST); /* ignored, see VF_TOPOLOGY */
++      OUT_BATCH(0); /* ignored, see VF_TOPOLOGY */
+       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
+                       assert(((ptr - base) & 63) == 0);
+                       COMPILE_TIME_ASSERT(sizeof(blend->common) == 4);
+                       COMPILE_TIME_ASSERT(sizeof(blend->rt) == 8);
++                      COMPILE_TIME_ASSERT((char *)&blend->rt - (char *)blend 
== 4);
+ 
+                       blend->rt.post_blend_clamp = 1;
+                       blend->rt.pre_blend_clamp = 1;
diff --git a/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff 
b/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff
new file mode 100644
index 0000000..c30b92d
--- /dev/null
+++ b/debian/patches/bdw-clamp-urb-allocations-for-gt3.diff
@@ -0,0 +1,38 @@
+commit 7a9bdadd71730adc5266bc6758982abec5917b93
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Wed Oct 22 19:31:10 2014 +0100
+
+    sna/gen8: Clamp URB allocations for GT3
+    
+    GT3 requires some reserved space in the URB allocation and so we must
+    reduce the amount we allocate to our vertices.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81583
+    Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
+
+--- a/src/sna/gen8_render.c
++++ b/src/sna/gen8_render.c
+@@ -419,19 +419,19 @@ gen8_emit_urb(struct sna *sna)
+       OUT_BATCH(GEN8_3DSTATE_URB_VS | (2 - 2));
+       OUT_BATCH(960 << URB_ENTRY_NUMBER_SHIFT |
+                 (2 - 1) << URB_ENTRY_SIZE_SHIFT |
+-                1 << URB_STARTING_ADDRESS_SHIFT);
++                4 << URB_STARTING_ADDRESS_SHIFT);
+ 
+       OUT_BATCH(GEN8_3DSTATE_URB_HS | (2 - 2));
+       OUT_BATCH(0 << URB_ENTRY_SIZE_SHIFT |
+-                0 << URB_STARTING_ADDRESS_SHIFT);
++                4 << URB_STARTING_ADDRESS_SHIFT);
+ 
+       OUT_BATCH(GEN8_3DSTATE_URB_DS | (2 - 2));
+       OUT_BATCH(0 << URB_ENTRY_SIZE_SHIFT |
+-                0 << URB_STARTING_ADDRESS_SHIFT);
++                4 << URB_STARTING_ADDRESS_SHIFT);
+ 
+       OUT_BATCH(GEN8_3DSTATE_URB_GS | (2 - 2));
+       OUT_BATCH(0 << URB_ENTRY_SIZE_SHIFT |
+-                0 << URB_STARTING_ADDRESS_SHIFT);
++                4 << URB_STARTING_ADDRESS_SHIFT);
+ }
+ 
+ static void
diff --git a/debian/patches/series b/debian/patches/series
index 30cfcba..1aa20d9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,5 @@ sna-fix-gen8-blt.diff
 sna-tweak-alignment-constraints-on-gen8.diff
 sna-add-more-checks-and-asserts-for-blt.diff
 fix-sna-external-slave-rotation.patch
+bdw-annotate-more-64bit-pointer-locations.diff
+bdw-clamp-urb-allocations-for-gt3.diff


-- 
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/e1ykt4f-0001yw...@moszumanska.debian.org

Reply via email to