[igt-dev] [PATCH i-g-t] lib/rendercopy: Use gen8_wm_kernel__affine

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 3 15:41:35 UTC 2018


The shaders/blit.g7a has weird artefacts (random pixel kill) when
drawing with to an odd destination coordinate. Rather than debug the
issue with the assembler, replace the kernel with the one used by SNA
for simple copies.

Reported-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 lib/rendercopy_gen8.c | 10 ++++------
 lib/rendercopy_gen9.c | 10 ++++------
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/lib/rendercopy_gen8.c b/lib/rendercopy_gen8.c
index 2b5d9b52e..2e590e391 100644
--- a/lib/rendercopy_gen8.c
+++ b/lib/rendercopy_gen8.c
@@ -51,12 +51,10 @@ struct {
 /* see shaders/ps/blit.g7a */
 static const uint32_t ps_kernel[][4] = {
 #if 1
-   { 0x0060005a, 0x21403ae8, 0x3a0000c0, 0x008d0040 },
-   { 0x0060005a, 0x21603ae8, 0x3a0000c0, 0x008d0080 },
-   { 0x0060005a, 0x21803ae8, 0x3a0000d0, 0x008d0040 },
-   { 0x0060005a, 0x21a03ae8, 0x3a0000d0, 0x008d0080 },
-   { 0x02800031, 0x2e0022e8, 0x0e000140, 0x08840001 },
-   { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 },
+	{ 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 },
+	{ 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 },
+	{ 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 },
+	{ 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 },
 #else
    /* Write all -1 */
    { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 },
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index 0157ced9c..79e312409 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -52,12 +52,10 @@ struct {
 /* see shaders/ps/blit.g7a */
 static const uint32_t ps_kernel[][4] = {
 #if 1
-   { 0x0060005a, 0x21403ae8, 0x3a0000c0, 0x008d0040 },
-   { 0x0060005a, 0x21603ae8, 0x3a0000c0, 0x008d0080 },
-   { 0x0060005a, 0x21803ae8, 0x3a0000d0, 0x008d0040 },
-   { 0x0060005a, 0x21a03ae8, 0x3a0000d0, 0x008d0080 },
-   { 0x02800031, 0x2e0022e8, 0x0e000140, 0x08840001 },
-   { 0x05800031, 0x200022e0, 0x0e000e00, 0x90031000 },
+	{ 0x0080005a, 0x2f403ae8, 0x3a0000c0, 0x008d0040 },
+	{ 0x0080005a, 0x2f803ae8, 0x3a0000d0, 0x008d0040 },
+	{ 0x02800031, 0x2e203a48, 0x0e8d0f40, 0x08840001 },
+	{ 0x05800031, 0x20003a40, 0x0e8d0e20, 0x90031000 },
 #else
    /* Write all -1 */
    { 0x00600001, 0x2e000608, 0x00000000, 0x3f800000 },
-- 
2.18.0



More information about the igt-dev mailing list