summaryrefslogtreecommitdiffstats
path: root/source/x/x11/patch/xf86-video-intel
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-05-28 19:12:29 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 23:39:35 +0200
commit646a5c1cbfd95873950a87b5f75d52073a967023 (patch)
treeb8b8d2ab3b0d432ea69ad1a64d1c789649d65020 /source/x/x11/patch/xf86-video-intel
parentd31c50870d0bee042ce660e445c9294a59a3a65b (diff)
downloadcurrent-646a5c1cbfd95873950a87b5f75d52073a967023.tar.gz
current-646a5c1cbfd95873950a87b5f75d52073a967023.tar.xz
Mon May 28 19:12:29 UTC 201820180528191229
a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/x/x11/patch/xf86-video-intel')
-rw-r--r--source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch101
-rw-r--r--source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch49
-rw-r--r--source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch47
-rw-r--r--source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch12
4 files changed, 209 insertions, 0 deletions
diff --git a/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch
new file mode 100644
index 000000000..ca525eccc
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch
@@ -0,0 +1,101 @@
+From 9c1151b4d65c356f0d25d952fe1a10c89fdb834a Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 5 Mar 2018 11:03:18 -0500
+Subject: [PATCH] Fix build on F28 and later
+
+Newer gcc complains that it doesn't know how to always-inline memcpy():
+
+ /usr/include/bits/string_fortified.h:31:1: error: inlining failed in
+ call to always_inline 'memcpy': target specific option mismatch
+
+This is because we need to wrap our declaration of memcpy() in the
+options we're trying to push at the top of blt.c. So: include compiler.h
+to define sse2, then push options, then include everything else.
+
+However if you do that, the word 'nonnull' collides with the usage in
+<X11/Xfuncproto.h>. I'm too lazy to fix that properly, just expand it to
+the __attribute__ form in the few places we say it.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+ src/sna/blt.c | 6 ++++--
+ src/sna/compiler.h | 2 --
+ src/sna/gen6_common.h | 6 +++---
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/sna/blt.c b/src/sna/blt.c
+index cb90437a..fb357d35 100644
+--- a/src/sna/blt.c
++++ b/src/sna/blt.c
+@@ -29,13 +29,15 @@
+ #include "config.h"
+ #endif
+
+-#include "sna.h"
+-#include <pixman.h>
++#include "compiler.h"
+
+ #if defined(sse2)
+ #pragma GCC push_options
+ #pragma GCC target("sse2,inline-all-stringops,fpmath=sse")
+ #pragma GCC optimize("Ofast")
++
++#include <pixman.h>
++#include "sna.h"
+ #include <xmmintrin.h>
+
+ #if __x86_64__
+diff --git a/src/sna/compiler.h b/src/sna/compiler.h
+index 0f3775ec..3c176a16 100644
+--- a/src/sna/compiler.h
++++ b/src/sna/compiler.h
+@@ -39,7 +39,6 @@
+ #define pure __attribute__((pure))
+ #define tightly_packed __attribute__((__packed__))
+ #define flatten __attribute__((flatten))
+-#define nonnull __attribute__((nonnull))
+ #define page_aligned __attribute__((aligned(4096)))
+ #else
+ #define likely(expr) (expr)
+@@ -52,7 +51,6 @@
+ #define pure
+ #define tighly_packed
+ #define flatten
+-#define nonnull
+ #define page_aligned
+ #endif
+
+diff --git a/src/sna/gen6_common.h b/src/sna/gen6_common.h
+index b53ec0c9..119a2d5d 100644
+--- a/src/sna/gen6_common.h
++++ b/src/sna/gen6_common.h
+@@ -133,7 +133,7 @@ inline static bool force_blt_ring(struct sna *sna, struct kgem_bo *bo)
+ return false;
+ }
+
+-nonnull inline static bool
++__attribute__((nonnull)) inline static bool
+ prefer_blt_ring(struct sna *sna, struct kgem_bo *bo, unsigned flags)
+ {
+ if (PREFER_RENDER)
+@@ -148,7 +148,7 @@ prefer_blt_ring(struct sna *sna, struct kgem_bo *bo, unsigned flags)
+ return can_switch_to_blt(sna, bo, flags);
+ }
+
+-nonnull inline static bool
++__attribute__((nonnull)) inline static bool
+ prefer_render_ring(struct sna *sna, struct kgem_bo *bo)
+ {
+ if (sna->kgem.ring == KGEM_RENDER)
+@@ -191,7 +191,7 @@ prefer_blt_composite(struct sna *sna, struct sna_composite_op *tmp)
+ return prefer_blt_bo(sna, tmp->src.bo, tmp->dst.bo);
+ }
+
+-nonnull static inline bool
++__attribute__((nonnull)) static inline bool
+ prefer_blt_fill(struct sna *sna, struct kgem_bo *bo, unsigned flags)
+ {
+ if (PREFER_RENDER)
+--
+2.16.2
+
diff --git a/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch
new file mode 100644
index 000000000..0851fbe4b
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch
@@ -0,0 +1,49 @@
+From a414d4e24461da1cb4cef8ee910bc57bab360ceb Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 6 Mar 2018 12:07:46 -0500
+Subject: [PATCH] Fix build on i686
+
+Presumably this only matters for i686 because amd64 implies sse2, but:
+
+BUILDSTDERR: In file included from gen4_vertex.c:34:
+BUILDSTDERR: gen4_vertex.c: In function 'emit_vertex':
+BUILDSTDERR: sna_render_inline.h:40:26: error: inlining failed in call to always_inline 'vertex_emit_2s': target specific option mismatch
+BUILDSTDERR: static force_inline void vertex_emit_2s(struct sna *sna, int16_t x, int16_t y)
+BUILDSTDERR: ^~~~~~~~~~~~~~
+BUILDSTDERR: gen4_vertex.c:308:25: note: called from here
+BUILDSTDERR: #define OUT_VERTEX(x,y) vertex_emit_2s(sna, x,y) /* XXX assert(!too_large(x, y)); */
+BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~
+BUILDSTDERR: gen4_vertex.c:360:2: note: in expansion of macro 'OUT_VERTEX'
+BUILDSTDERR: OUT_VERTEX(dstX, dstY);
+BUILDSTDERR: ^~~~~~~~~~
+
+The bug here appears to be that emit_vertex() is declared 'sse2' but
+vertex_emit_2s is merely always_inline. gcc8 decides that since you said
+always_inline you need to have explicitly cloned it for every
+permutation of targets. Merely saying inline seems to do the job of
+cloning vertex_emit_2s as much as necessary.
+
+So to reiterate: if you say always-inline, it won't, but if you just say
+maybe inline, it will. Thanks gcc, that's helpful.
+
+- ajax
+---
+ src/sna/compiler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sna/compiler.h b/src/sna/compiler.h
+index 3c176a16..bc447c7a 100644
+--- a/src/sna/compiler.h
++++ b/src/sna/compiler.h
+@@ -32,7 +32,7 @@
+ #define likely(expr) (__builtin_expect (!!(expr), 1))
+ #define unlikely(expr) (__builtin_expect (!!(expr), 0))
+ #define noinline __attribute__((noinline))
+-#define force_inline inline __attribute__((always_inline))
++#define force_inline inline
+ #define fastcall __attribute__((regparm(3)))
+ #define must_check __attribute__((warn_unused_result))
+ #define constant __attribute__((const))
+--
+2.16.2
+
diff --git a/source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch b/source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch
new file mode 100644
index 000000000..cb279a786
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch
@@ -0,0 +1,47 @@
+From 09bf64d69d97172f22fe08eb495bf50f920ae9ec Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Tue, 31 May 2016 11:11:21 +0300
+Subject: [PATCH] sna: Avoid clobbering output physical size with
+ xf86OutputSetEDID()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+---
+ src/sna/sna_display.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
+index 10d33f2..57de410 100644
+--- a/src/sna/sna_display.c
++++ b/src/sna/sna_display.c
+@@ -3576,6 +3576,7 @@ sna_output_attach_edid(xf86OutputPtr output)
+ {
+ struct sna *sna = to_sna(output->scrn);
+ struct sna_output *sna_output = output->driver_private;
++ unsigned old_mm_width, old_mm_height;
+ struct drm_mode_get_blob blob;
+ void *old, *raw = NULL;
+ xf86MonPtr mon = NULL;
+@@ -3678,12 +3679,17 @@ skip_read:
+ }
+
+ done:
++ output = sna_output->base;
++ old_mm_width = output->mm_width;
++ old_mm_height = output->mm_height;
+ sna_output_set_parsed_edid(output, mon);
+ if (raw) {
+ sna_output->edid_raw = raw;
+ sna_output->edid_len = blob.length;
+ sna_output->edid_blob_id = blob.blob_id;
+ }
++ output->mm_width = old_mm_width;
++ output->mm_height = old_mm_height;
+ }
+
+ static void
+--
+2.7.4
+
diff --git a/source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch b/source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch
new file mode 100644
index 000000000..ed05bce9a
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch
@@ -0,0 +1,12 @@
+diff -up xf86-video-intel-20150520/src/sna/compiler.h.jx xf86-video-intel-20150520/src/sna/compiler.h
+--- xf86-video-intel-20150520/src/sna/compiler.h.jx 2015-05-19 07:44:26.000000000 -0400
++++ xf86-video-intel-20150520/src/sna/compiler.h 2015-05-20 12:53:54.797918726 -0400
+@@ -64,7 +64,7 @@
+ #endif
+
+ #if HAS_GCC(4, 6) && defined(__OPTIMIZE__)
+-#define fast __attribute__((optimize("Ofast")))
++#define fast __attribute__((optimize("O3")))
+ #else
+ #define fast
+ #endif