summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2018-11-02 14:58:52 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-14 11:14:39 +0000
commit621e043b8dad96d334f88cadebc5f2548fff333c (patch)
tree5d2546b65036bb439564e54ef04f1b2c67f55f28 /meta/recipes-graphics
parentdc804276ef79bee3818deb1a6586ba65cc7b4a3a (diff)
downloadpoky-621e043b8dad96d334f88cadebc5f2548fff333c.tar.gz
xf86-video-intel: update to latest
For changes, please see: https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/log/?qt=range&q=e4fe79cf0d9a05ee3f3a027148ef0aeb2b1b34e1...0932a6b37ba6d5c9e916a1cb6ab89c3205b81a0c Enable sna by default and remove upstreamed patches. Also include a patch from fedora to fix compile issues when using qemux86 which doesn't enable sse2 leading to gcc refusing to inline vertex_emit_2s in emit_vertex because they are defined as: static __attribute__((always_inline)) void vertex_emit_2s(struct sna *sna, int16_t x, int16_t y) __attribute__((target("sse2,fpmath=sse"))) __attribute__((always_inline)) static void emit_vertex(/* omitted */) leading to errors like: | In file included from ../../../git/src/sna/gen4_vertex.c:34: | ../../../git/src/sna/gen4_vertex.c: In function 'emit_vertex': | ../../../git/src/sna/sna_render_inline.h:40:26: error: inlining failed in call to always_inline 'vertex_emit_2s': target specific option mismatch | static force_inline void vertex_emit_2s(struct sna *sna, int16_t x, int16_t y) | ^~~~~~~~~~~~~~ | ../../../git/src/sna/gen4_vertex.c:308:25: note: called from here | #define OUT_VERTEX(x,y) vertex_emit_2s(sna, x,y) /* XXX assert(!too_large(x, y)); */ | ^~~~~~~~~~~~~~~~~~~~~~~~ | ../../../git/src/sna/gen4_vertex.c:360:2: note: in expansion of macro 'OUT_VERTEX' | OUT_VERTEX(dstX, dstY); | ^~~~~~~~~~ (From OE-Core rev: a181b36bf2357c5f7d5835df2f828ff1e0007dc6) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch116
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch55
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch25
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb8
4 files changed, 59 insertions, 145 deletions
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch
deleted file mode 100644
index 06ef10501a..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel/0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch
+++ /dev/null
@@ -1,116 +0,0 @@
1From 96d4e8e7b8a699f0ef77fa7b210d4de5f1c703d0 Mon Sep 17 00:00:00 2001
2From: Liwei Song <liwei.song@windriver.com>
3Date: Wed, 22 Nov 2017 08:59:03 +0000
4Subject: [PATCH] Add Coffeelake PCI IDs for S Skus
5
6Add the Coffeelake PCI IDs based on the following kernel patches:
7
8commit b056f8f3d6b900e8afd19f312719160346d263b4
9Author: Anusha Srivatsa <anusha.srivatsa@intel.com>
10Date: Thu Jun 8 16:41:05 2017 -0700
11
12 drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus.
13
14Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10139905]
15
16Signed-off-by: Liwei Song <liwei.song@windriver.com>
17---
18 src/i915_pciids.h | 7 +++++++
19 src/intel_module.c | 13 +++++++++++++
20 src/sna/gen9_render.c | 12 ++++++++++++
21 3 files changed, 32 insertions(+)
22
23diff --git a/src/i915_pciids.h b/src/i915_pciids.h
24index 0370f830c541..11ccfa9c047a 100644
25--- a/src/i915_pciids.h
26+++ b/src/i915_pciids.h
27@@ -340,4 +340,11 @@
28 INTEL_VGA_DEVICE(0x3184, info), \
29 INTEL_VGA_DEVICE(0x3185, info)
30
31+#define INTEL_CFL_S_IDS(info) \
32+ INTEL_VGA_DEVICE(0x3E90, info), /* SRV GT1 */ \
33+ INTEL_VGA_DEVICE(0x3E93, info), /* SRV GT1 */ \
34+ INTEL_VGA_DEVICE(0x3E91, info), /* SRV GT2 */ \
35+ INTEL_VGA_DEVICE(0x3E92, info), /* SRV GT2 */ \
36+ INTEL_VGA_DEVICE(0x3E96, info) /* SRV GT2 */
37+
38 #endif /* _I915_PCIIDS_H */
39diff --git a/src/intel_module.c b/src/intel_module.c
40index 6b04857e2853..4827a67255f0 100644
41--- a/src/intel_module.c
42+++ b/src/intel_module.c
43@@ -138,6 +138,10 @@ static const struct intel_device_info intel_geminilake_info = {
44 .gen = 0113,
45 };
46
47+static const struct intel_device_info intel_coffeelake_info = {
48+ .gen = 0114,
49+};
50+
51 static const SymTabRec intel_chipsets[] = {
52 {PCI_CHIP_I810, "i810"},
53 {PCI_CHIP_I810_DC100, "i810-dc100"},
54@@ -303,6 +307,13 @@ static const SymTabRec intel_chipsets[] = {
55 {0x5916, "HD Graphics 620"},
56 {0x591E, "HD Graphics 615"},
57
58+ /*Coffeelake*/
59+ {0x3E90, "HD Graphics"},
60+ {0x3E93, "HD Graphics"},
61+ {0x3E91, "HD Graphics"},
62+ {0x3E92, "HD Graphics"},
63+ {0x3E96, "HD Graphics"},
64+
65 /* When adding new identifiers, also update:
66 * 1. intel_identify()
67 * 2. man/intel.man
68@@ -368,6 +379,8 @@ static const struct pci_id_match intel_device_match[] = {
69
70 INTEL_GLK_IDS(&intel_geminilake_info),
71
72+ INTEL_CFL_S_IDS(&intel_coffeelake_info),
73+
74 INTEL_VGA_DEVICE(PCI_MATCH_ANY, &intel_generic_info),
75 #endif
76
77diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c
78index e5f12c723956..7f49052c5ec1 100644
79--- a/src/sna/gen9_render.c
80+++ b/src/sna/gen9_render.c
81@@ -245,6 +245,11 @@ static const struct gt_info glk_gt_info = {
82 .urb = { .max_vs_entries = 320 },
83 };
84
85+static const struct gt_info cfl_gt_info = {
86+ .name = "Coffeelake (gen9)",
87+ .urb = { .max_vs_entries = 960 },
88+};
89+
90 static bool is_skl(struct sna *sna)
91 {
92 return sna->kgem.gen == 0110;
93@@ -265,6 +270,11 @@ static bool is_glk(struct sna *sna)
94 return sna->kgem.gen == 0113;
95 }
96
97+static bool is_cfl(struct sna *sna)
98+{
99+ return sna->kgem.gen == 0114;
100+}
101+
102
103 static inline bool too_large(int width, int height)
104 {
105@@ -4040,6 +4050,8 @@ static bool gen9_render_setup(struct sna *sna)
106 state->info = &kbl_gt_info;
107 if (is_glk(sna))
108 state->info = &glk_gt_info;
109+ if (is_cfl(sna))
110+ state->info = &cfl_gt_info;
111
112 sna_static_stream_init(&general);
113
114--
1152.13.3
116
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch
new file mode 100644
index 0000000000..52916f8b4a
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel/01_Fix-build-on-i686.patch
@@ -0,0 +1,55 @@
1From a414d4e24461da1cb4cef8ee910bc57bab360ceb Mon Sep 17 00:00:00 2001
2From: Adam Jackson <ajax@redhat.com>
3Date: Tue, 6 Mar 2018 12:07:46 -0500
4Subject: [PATCH] Fix build on i686
5
6Presumably this only matters for i686 because amd64 implies sse2, but:
7
8BUILDSTDERR: In file included from gen4_vertex.c:34:
9BUILDSTDERR: gen4_vertex.c: In function 'emit_vertex':
10BUILDSTDERR: sna_render_inline.h:40:26: error: inlining failed in call to always_inline 'vertex_emit_2s': target specific option mismatch
11BUILDSTDERR: static force_inline void vertex_emit_2s(struct sna *sna, int16_t x, int16_t y)
12BUILDSTDERR: ^~~~~~~~~~~~~~
13BUILDSTDERR: gen4_vertex.c:308:25: note: called from here
14BUILDSTDERR: #define OUT_VERTEX(x,y) vertex_emit_2s(sna, x,y) /* XXX assert(!too_large(x, y)); */
15BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~
16BUILDSTDERR: gen4_vertex.c:360:2: note: in expansion of macro 'OUT_VERTEX'
17BUILDSTDERR: OUT_VERTEX(dstX, dstY);
18BUILDSTDERR: ^~~~~~~~~~
19
20The bug here appears to be that emit_vertex() is declared 'sse2' but
21vertex_emit_2s is merely always_inline. gcc8 decides that since you said
22always_inline you need to have explicitly cloned it for every
23permutation of targets. Merely saying inline seems to do the job of
24cloning vertex_emit_2s as much as necessary.
25
26So to reiterate: if you say always-inline, it won't, but if you just say
27maybe inline, it will. Thanks gcc, that's helpful.
28
29- ajax
30
31Patch taken from Fedora.
32
33Upstream-Status: Pending
34Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
35
36---
37 src/sna/compiler.h | 2 +-
38 1 file changed, 1 insertion(+), 1 deletion(-)
39
40diff --git a/src/sna/compiler.h b/src/sna/compiler.h
41index 3c176a16..bc447c7a 100644
42--- a/src/sna/compiler.h
43+++ b/src/sna/compiler.h
44@@ -32,7 +32,7 @@
45 #define likely(expr) (__builtin_expect (!!(expr), 1))
46 #define unlikely(expr) (__builtin_expect (!!(expr), 0))
47 #define noinline __attribute__((noinline))
48-#define force_inline inline __attribute__((always_inline))
49+#define force_inline inline
50 #define fastcall __attribute__((regparm(3)))
51 #define must_check __attribute__((warn_unused_result))
52 #define constant __attribute__((const))
53--
542.16.2
55
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch b/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch
deleted file mode 100644
index ada9eb5e52..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel/glibc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Add a missing include needed for glibc 2.28 to avoid:
2
3| ../../git/tools/backlight_helper.c: In function 'main':
4| ../../git/tools/backlight_helper.c:54:34: error: implicit declaration of function 'major' [-Werror=implicit-function-declaration]
5| if (fd < 0 || fstat(fd, &st) || major(st.st_dev))
6| ^~~~~
7| ../../git/tools/backlight_helper.c:54:34: warning: nested extern declaration of 'major' [-Wnested-externs]
8| cc1: some warnings being treated as errors
9| Makefile:666: recipe for target 'backlight_helper.o' failed
10
11Upstream-Status: Pending
12RP 2018/8/12
13
14Index: git/tools/backlight_helper.c
15===================================================================
16--- git.orig/tools/backlight_helper.c
17+++ git/tools/backlight_helper.c
18@@ -8,6 +8,7 @@
19
20 #include <sys/types.h>
21 #include <sys/stat.h>
22+#include <sys/sysmacros.h>
23
24 #if MAJOR_IN_MKDEV
25 #include <sys/mkdev.h>
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index 655fd4dc69..3d435e8b31 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -9,20 +9,20 @@ Infrastructure (DRI)."
9 9
10LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e" 10LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
11 11
12SRCREV = "e4fe79cf0d9a05ee3f3a027148ef0aeb2b1b34e1" 12SRCREV = "0932a6b37ba6d5c9e916a1cb6ab89c3205b81a0c"
13PV = "2.99.917+git${SRCPV}" 13PV = "2.99.917+git${SRCPV}"
14S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
15 15
16SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \ 16SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-intel \
17 file://0001-Add-Coffeelake-PCI-IDs-for-S-Skus.patch \
18 file://glibc.patch \
19 " 17 "
20 18
19SRC_URI_append_qemux86 = "file://01_Fix-build-on-i686.patch"
20
21UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" 21UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
22 22
23DEPENDS += "virtual/libx11 drm libpciaccess pixman" 23DEPENDS += "virtual/libx11 drm libpciaccess pixman"
24 24
25PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}" 25PACKAGECONFIG ??= "sna xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}"
26 26
27PACKAGECONFIG[dri] = "--enable-dri,--disable-dri" 27PACKAGECONFIG[dri] = "--enable-dri,--disable-dri"
28PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1" 28PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1"