diff options
author | Saul Wold <sgw@linux.intel.com> | 2016-04-05 12:17:22 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-06 10:29:23 +0100 |
commit | 2ed2089c9b2a9a680434a6d29c312b347604fec5 (patch) | |
tree | fe19938fa96999593805c59ec17d005f8865cacf /meta | |
parent | c1436b32cf6b86434fed0c71e8352541575101b2 (diff) | |
download | poky-2ed2089c9b2a9a680434a6d29c312b347604fec5.tar.gz |
xf86-video-intel: Add patch to fix some poor image quality
This fixes a problem on the Intel Gen8 Graphics and is backport from
the upstream master of xf86-video-intel driver code
[YOCTO #8587]
(From OE-Core rev: d85f5d4f2fe6f71c3e9e4de4dcda73ce54bc2d39)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-gen8-Fix-the-YUV-RGB-shader.patch | 65 | ||||
-rw-r--r-- | meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.917.bb | 1 |
2 files changed, 66 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-gen8-Fix-the-YUV-RGB-shader.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-gen8-Fix-the-YUV-RGB-shader.patch new file mode 100644 index 0000000000..35762192fd --- /dev/null +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-gen8-Fix-the-YUV-RGB-shader.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | From c43617b739e358064396912c7a7a8028ca91d201 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> | ||
3 | Date: Thu, 16 Apr 2015 20:40:39 +0300 | ||
4 | Subject: [PATCH] gen8: Fix the YUV->RGB shader | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Use the correct register (Yn_01) with first half of the | ||
10 | Y samples instead of using the register (Yn_23) with the | ||
11 | second half twice when computing the green channel. | ||
12 | |||
13 | Also use the Yn_01 register name instead of Yn for the red | ||
14 | channel as well, just for a bit of extra consistency. | ||
15 | |||
16 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89807 | ||
17 | Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> | ||
18 | Tested-by: Chris Wilson <chris@chris-wilson.co.uk> | ||
19 | |||
20 | Upstream-Status: Backport | ||
21 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
22 | |||
23 | --- | ||
24 | src/render_program/exa_wm_yuv_rgb.g8a | 4 ++-- | ||
25 | src/render_program/exa_wm_yuv_rgb.g8b | 2 +- | ||
26 | 2 files changed, 3 insertions(+), 3 deletions(-) | ||
27 | |||
28 | diff --git a/src/render_program/exa_wm_yuv_rgb.g8a b/src/render_program/exa_wm_yuv_rgb.g8a | ||
29 | index 7def093..34973ba 100644 | ||
30 | --- a/src/render_program/exa_wm_yuv_rgb.g8a | ||
31 | +++ b/src/render_program/exa_wm_yuv_rgb.g8a | ||
32 | @@ -76,7 +76,7 @@ add (16) Cbn<1>F Cb<8,8,1>F -0.501961F { compr align1 }; | ||
33 | /* | ||
34 | * R = Y + Cr * 1.596 | ||
35 | */ | ||
36 | -mov (8) acc0<1>F Yn<8,8,1>F { compr align1 }; | ||
37 | +mov (8) acc0<1>F Yn_01<8,8,1>F { compr align1 }; | ||
38 | mac.sat(8) src_sample_r_01<1>F Crn_01<8,8,1>F 1.596F { compr align1 }; | ||
39 | |||
40 | mov (8) acc0<1>F Yn_23<8,8,1>F { compr align1 }; | ||
41 | @@ -84,7 +84,7 @@ mac.sat(8) src_sample_r_23<1>F Crn_23<8,8,1>F 1.596F { compr align1 }; | ||
42 | /* | ||
43 | * G = Crn * -0.813 + Cbn * -0.392 + Y | ||
44 | */ | ||
45 | -mov (8) acc0<1>F Yn_23<8,8,1>F { compr align1 }; | ||
46 | +mov (8) acc0<1>F Yn_01<8,8,1>F { compr align1 }; | ||
47 | mac (8) acc0<1>F Crn_01<8,8,1>F -0.813F { compr align1 }; | ||
48 | mac.sat(8) src_sample_g_01<1>F Cbn_01<8,8,1>F -0.392F { compr align1 }; | ||
49 | |||
50 | diff --git a/src/render_program/exa_wm_yuv_rgb.g8b b/src/render_program/exa_wm_yuv_rgb.g8b | ||
51 | index 4494953..2cd6fc4 100644 | ||
52 | --- a/src/render_program/exa_wm_yuv_rgb.g8b | ||
53 | +++ b/src/render_program/exa_wm_yuv_rgb.g8b | ||
54 | @@ -6,7 +6,7 @@ | ||
55 | { 0x80600048, 0x21c03ae8, 0x3e8d02c0, 0x3fcc49ba }, | ||
56 | { 0x00600001, 0x24003ae0, 0x008d0320, 0x00000000 }, | ||
57 | { 0x80600048, 0x21e03ae8, 0x3e8d02e0, 0x3fcc49ba }, | ||
58 | - { 0x00600001, 0x24003ae0, 0x008d0320, 0x00000000 }, | ||
59 | + { 0x00600001, 0x24003ae0, 0x008d0300, 0x00000000 }, | ||
60 | { 0x00600048, 0x24003ae0, 0x3e8d02c0, 0xbf5020c5 }, | ||
61 | { 0x80600048, 0x22003ae8, 0x3e8d0340, 0xbec8b439 }, | ||
62 | { 0x00600001, 0x24003ae0, 0x008d0320, 0x00000000 }, | ||
63 | -- | ||
64 | 2.5.0 | ||
65 | |||
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.917.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.917.bb index f4125565c7..d75b44f17e 100644 --- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.917.bb +++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.99.917.bb | |||
@@ -14,6 +14,7 @@ SRC_URI += "file://disable-x11-dri3.patch \ | |||
14 | file://sna-Protect-against-ABI-breakage-in-recent-versions-.patch \ | 14 | file://sna-Protect-against-ABI-breakage-in-recent-versions-.patch \ |
15 | file://udev-fstat.patch \ | 15 | file://udev-fstat.patch \ |
16 | file://0001-uxa-fix-the-call-to-PixmapSyncDirtyHelper-broken-by-.patch \ | 16 | file://0001-uxa-fix-the-call-to-PixmapSyncDirtyHelper-broken-by-.patch \ |
17 | file://0001-gen8-Fix-the-YUV-RGB-shader.patch \ | ||
17 | " | 18 | " |
18 | 19 | ||
19 | SRC_URI[md5sum] = "fa196a66e52c0c624fe5d350af7a5e7b" | 20 | SRC_URI[md5sum] = "fa196a66e52c0c624fe5d350af7a5e7b" |