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