Перенесён в оверлей стабильный x11-drivers/xf86-video-intel-2.99.917_p20161118
This commit is contained in:
parent
329e6d0241
commit
62ac945857
14 changed files with 554 additions and 5 deletions
|
@ -232,7 +232,7 @@
|
|||
~x11-drivers/ati-drivers-15.12 amd64 x86
|
||||
~x11-drivers/xf86-video-amdgpu-1.2.0 amd64 x86
|
||||
~x11-drivers/xf86-video-ati-7.8.0 amd64 x86
|
||||
~x11-drivers/xf86-video-intel-2.99.917_p20161206 amd64
|
||||
~x11-drivers/xf86-video-intel-2.99.917_20161118 amd64
|
||||
~x11-drivers/xf86-video-nouveau-1.0.13 amd64 x86
|
||||
~x11-misc/cdm-0.6.1_pre20130419 amd64 x86
|
||||
~x11-misc/lightdm-gtk-greeter-2.0.1 amd64 x86
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
# Calculate name=ini.env format=samba ini(overlay-calculate.revision)<#-cut(0,-,#-cl_pass_file-#)-# rebuild=x11-drivers/xf86-video-intel
|
||||
|
||||
[overlay-calculate]
|
||||
revision = #-cut(0,-,#-cl_pass_file-#)-#
|
1
x11-drivers/xf86-video-intel/Manifest
Normal file
1
x11-drivers/xf86-video-intel/Manifest
Normal file
|
@ -0,0 +1 @@
|
|||
DIST xf86-video-intel-2.99.917_p20161118.tar.xz 945020 SHA256 dbe2d60a5281a7350143cafb4b2286bfcec4a0b08a9dd677e8cfe6ae23e1edfd SHA512 8e72ec8554642e38ab22467e81ee17f1cceb67cd6364c16a2600504ca25f3ce210db0e8c69f9fe882fb26084f28ad9801749fbf0715f13e3bcbad9d781dd8959 WHIRLPOOL aa454ef66160b4c3a67339146cc586f6bcc546fe686eef527db90d1300b2528bdb23bf07e80d9daa955d94303b05955d153ca04a27b4e270b9a47a726d8ee8f6
|
|
@ -0,0 +1,24 @@
|
|||
From 524a45da56e2a052ffafa3887891caa90ba39f76 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Sat, 05 Oct 2013 17:42:24 +0000
|
||||
Subject: compat-api: Map changes of DamageUnregister API in 1.14.99.2
|
||||
|
||||
Reported-by: Emmanuel Benisty <benisty.e@gmail.com>
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/compat-api.h b/src/compat-api.h
|
||||
index 8eb46ef..244a486 100644
|
||||
--- a/src/compat-api.h
|
||||
+++ b/src/compat-api.h
|
||||
@@ -162,4 +162,8 @@ static inline void FreePixmap(PixmapPtr pixmap)
|
||||
if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
|
||||
#endif
|
||||
|
||||
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
|
||||
+#define DamageUnregister(d, dd) DamageUnregister(dd)
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From 8e44b1f5543f6d36c33c743f1ba2143514f8afbf Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Thu, 24 Oct 2013 13:05:16 +0100
|
||||
Subject: [PATCH] sna: Fix canonical mode name to correctly use asprintf
|
||||
|
||||
Whoops. Only the kernel sprintf() accepts NULL as a valid target string,
|
||||
not libc's.
|
||||
|
||||
Reported-by: Jay Little <jaylittle@jaylittle.com>
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70835
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
src/sna/sna_display.c | 23 ++++++-----------------
|
||||
1 file changed, 6 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
|
||||
index 7fcade6..3c39305 100644
|
||||
--- a/src/sna/sna_display.c
|
||||
+++ b/src/sna/sna_display.c
|
||||
@@ -2095,27 +2095,16 @@ sna_output_panel_edid(xf86OutputPtr output, DisplayModePtr modes)
|
||||
return xf86ModesAdd(modes, m);
|
||||
}
|
||||
|
||||
-static int _canonical_mode_name(DisplayModePtr mode, char *str)
|
||||
-{
|
||||
- return sprintf(str, "%dx%d%s",
|
||||
- mode->HDisplay, mode->VDisplay,
|
||||
- mode->Flags & V_INTERLACE ? "i" : "");
|
||||
-}
|
||||
-
|
||||
static char *canonical_mode_name(DisplayModePtr mode)
|
||||
{
|
||||
- char *str;
|
||||
- int len;
|
||||
-
|
||||
- len = _canonical_mode_name(mode, NULL);
|
||||
- if (len < 0)
|
||||
- return NULL;
|
||||
+ char *str;
|
||||
|
||||
- str = malloc(len + 1);
|
||||
- if (str != NULL)
|
||||
- _canonical_mode_name(mode, str);
|
||||
+ if (asprintf(&str, "%dx%d%s",
|
||||
+ mode->HDisplay, mode->VDisplay,
|
||||
+ mode->Flags & V_INTERLACE ? "i" : "") < 0)
|
||||
+ return NULL;
|
||||
|
||||
- return str;
|
||||
+ return str;
|
||||
}
|
||||
|
||||
static DisplayModePtr
|
||||
--
|
||||
1.8.4.2
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From 6e9a8c5ae2883ca21d117ac672dd8a55b3429dc1 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Thu, 14 Nov 2013 16:14:09 +0000
|
||||
Subject: sna: Add the missing braces around the conditional block
|
||||
|
||||
Fixes regression from
|
||||
commit f3225fcb38686f3b9701725bf3a11ecf1c100c3f
|
||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Tue Nov 5 08:38:22 2013 +0000
|
||||
|
||||
sna: Be move conservative with tiling sizes for older fenced gen
|
||||
|
||||
Reported-by: Jay Little <jaylittle@jaylittle.com>
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71605
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
|
||||
index 693fedc..63153b7 100644
|
||||
--- a/src/sna/sna_blt.c
|
||||
+++ b/src/sna/sna_blt.c
|
||||
@@ -3285,12 +3285,13 @@ bool sna_blt_copy_boxes(struct sna *sna, uint8_t alu,
|
||||
!kgem_check_reloc(kgem, 2) ||
|
||||
!kgem_check_many_bo_fenced(kgem, dst_bo, src_bo, NULL)) {
|
||||
kgem_submit(kgem);
|
||||
- if (!kgem_check_many_bo_fenced(kgem, dst_bo, src_bo, NULL))
|
||||
+ if (!kgem_check_many_bo_fenced(kgem, dst_bo, src_bo, NULL)) {
|
||||
DBG(("%s: not enough room in aperture, fallback to tiling copy\n", __FUNCTION__));
|
||||
return sna_tiling_blt_copy_boxes(sna, alu,
|
||||
src_bo, src_dx, src_dy,
|
||||
dst_bo, dst_dx, dst_dy,
|
||||
bpp, box, nbox);
|
||||
+ }
|
||||
_kgem_set_mode(kgem, KGEM_BLT);
|
||||
}
|
||||
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
|
@ -0,0 +1,46 @@
|
|||
From 4d8f78bc95f8dd36693f74365dbc3c442fbbf8a9 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Thu, 02 Jan 2014 15:01:38 +0000
|
||||
Subject: sna/gen7+: Emit invalidate between operations if rendering to source/mask
|
||||
|
||||
Fixes regression from
|
||||
commit c79cb18407273dc7798618390bd0b7d69b0f80d6 [2.99.907]
|
||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Wed Nov 20 11:17:20 2013 +0000
|
||||
|
||||
sna/gen7: Try to reduce flushes between primitive continuations
|
||||
|
||||
Reported-by: Simon Munton <simon.j.munton@gmail.com>
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73208
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
|
||||
index 572e3e3..e45555b 100644
|
||||
--- a/src/sna/gen7_render.c
|
||||
+++ b/src/sna/gen7_render.c
|
||||
@@ -1114,8 +1114,7 @@ gen7_emit_state(struct sna *sna,
|
||||
|
||||
need_stall = sna->render_state.gen7.surface_table != wm_binding_table;
|
||||
|
||||
- need_invalidate = need_stall &&
|
||||
- (kgem_bo_is_dirty(op->src.bo) || kgem_bo_is_dirty(op->mask.bo));
|
||||
+ need_invalidate = kgem_bo_is_dirty(op->src.bo) || kgem_bo_is_dirty(op->mask.bo);
|
||||
if (ALWAYS_INVALIDATE)
|
||||
need_invalidate = true;
|
||||
|
||||
diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c
|
||||
index a8b4ea8..309398d 100644
|
||||
--- a/src/sna/gen8_render.c
|
||||
+++ b/src/sna/gen8_render.c
|
||||
@@ -1130,8 +1130,7 @@ gen8_emit_state(struct sna *sna,
|
||||
|
||||
need_stall = sna->render_state.gen8.surface_table != wm_binding_table;
|
||||
|
||||
- need_invalidate = need_stall &&
|
||||
- (kgem_bo_is_dirty(op->src.bo) || kgem_bo_is_dirty(op->mask.bo));
|
||||
+ need_invalidate = kgem_bo_is_dirty(op->src.bo) || kgem_bo_is_dirty(op->mask.bo);
|
||||
if (ALWAYS_INVALIDATE)
|
||||
need_invalidate = true;
|
||||
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
|
@ -0,0 +1,102 @@
|
|||
From 3310ee89c1f1a663de5f5b12b8125809a213996f Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Sat, 05 Apr 2014 11:18:31 +0000
|
||||
Subject: sna: Avoid discarding damage when applying WHOLE hint to pixmap migration
|
||||
|
||||
Once again, we must be careful when promoting from a region to whole
|
||||
pixmap migration that we do not discard required damage.
|
||||
|
||||
Fixes regression from
|
||||
commit 27ac9f574f65cbd535751c925e9b2e2d7c8a6b3a [2.99.911]
|
||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Thu Feb 27 08:33:52 2014 +0000
|
||||
|
||||
sna: Avoid promoting region-to-whole migration and discarding damage
|
||||
|
||||
Reported-by: gedgon@gmail.com
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77063
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
|
||||
index 0116d54..71ba34d 100644
|
||||
--- a/src/sna/sna_accel.c
|
||||
+++ b/src/sna/sna_accel.c
|
||||
@@ -2500,7 +2500,10 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
|
||||
flags |= MOVE_INPLACE_HINT;
|
||||
}
|
||||
|
||||
- if (flags & MOVE_WHOLE_HINT && priv->gpu_damage == NULL)
|
||||
+ if ((flags & (MOVE_WHOLE_HINT | MOVE_READ)) == (MOVE_WHOLE_HINT | MOVE_READ))
|
||||
+ return _sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
+
|
||||
+ if (flags & MOVE_WHOLE_HINT && priv->gpu_damage == NULL && priv->cpu_damage == NULL)
|
||||
return _sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
|
||||
if (priv->gpu_damage == NULL &&
|
||||
@@ -2527,22 +2530,18 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
|
||||
return _sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
}
|
||||
|
||||
- if ((flags & MOVE_READ) == 0 &&
|
||||
- priv->gpu_damage &&
|
||||
- region_subsumes_damage(region, priv->gpu_damage)) {
|
||||
- DBG(("%s: region [(%d, %d), (%d, %d)] subsumes damage [(%d,%d), (%d, %d)]\n",
|
||||
+ if (flags & MOVE_WHOLE_HINT) {
|
||||
+ DBG(("%s: region (%d, %d), (%d, %d) marked with WHOLE hint, pixmap %dx%d\n",
|
||||
__FUNCTION__,
|
||||
region->extents.x1,
|
||||
region->extents.y1,
|
||||
region->extents.x2,
|
||||
region->extents.y2,
|
||||
- priv->gpu_damage->extents.x1,
|
||||
- priv->gpu_damage->extents.y1,
|
||||
- priv->gpu_damage->extents.x2,
|
||||
- priv->gpu_damage->extents.y2));
|
||||
+ pixmap->drawable.width,
|
||||
+ pixmap->drawable.height));
|
||||
if (dx | dy)
|
||||
RegionTranslate(region, -dx, -dy);
|
||||
- return _sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
+ return _sna_pixmap_move_to_cpu(pixmap, flags | MOVE_READ);
|
||||
}
|
||||
|
||||
if (priv->move_to_gpu && !priv->move_to_gpu(sna, priv, MOVE_READ)) {
|
||||
@@ -4471,17 +4470,19 @@ try_upload_tiled_x(PixmapPtr pixmap, RegionRec *region,
|
||||
if (wedged(sna))
|
||||
return false;
|
||||
|
||||
- DBG(("%s: bo? %d, can map? %d\n", __FUNCTION__,
|
||||
- priv->gpu_bo != NULL,
|
||||
- priv->gpu_bo ? kgem_bo_can_map__cpu(&sna->kgem, priv->gpu_bo, true) : 0));
|
||||
-
|
||||
replaces = region->data == NULL &&
|
||||
w >= pixmap->drawable.width &&
|
||||
h >= pixmap->drawable.height;
|
||||
|
||||
+ DBG(("%s: bo? %d, can map? %d, replaces? %d\n", __FUNCTION__,
|
||||
+ priv->gpu_bo != NULL,
|
||||
+ priv->gpu_bo ? kgem_bo_can_map__cpu(&sna->kgem, priv->gpu_bo, true) : 0,
|
||||
+ replaces));
|
||||
+
|
||||
if (priv->gpu_bo && (replaces || priv->gpu_bo->proxy)) {
|
||||
DBG(("%s: discarding cached upload proxy\n", __FUNCTION__));
|
||||
sna_pixmap_free_gpu(sna, priv);
|
||||
+ replaces = true; /* Mark it all GPU damaged afterwards */
|
||||
}
|
||||
assert(priv->gpu_bo == NULL || priv->gpu_bo->proxy == NULL);
|
||||
|
||||
@@ -4616,8 +4617,11 @@ sna_put_zpixmap_blt(DrawablePtr drawable, GCPtr gc, RegionPtr region,
|
||||
return true;
|
||||
|
||||
hint = MOVE_WRITE;
|
||||
- if (w == pixmap->drawable.width && h*stride > 4096)
|
||||
+ if (w == pixmap->drawable.width && (h+1)*stride > 65536) {
|
||||
+ DBG(("%s: large upload (%d bytes), marking WHOLE_HINT\n",
|
||||
+ __FUNCTION__, h*stride));
|
||||
hint |= MOVE_WHOLE_HINT;
|
||||
+ }
|
||||
|
||||
if (!sna_drawable_move_region_to_cpu(&pixmap->drawable, region, hint))
|
||||
return false;
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
|
@ -0,0 +1,22 @@
|
|||
--- configure.old 2014-06-18 08:36:47.151142539 +0200
|
||||
+++ configure 2014-06-18 09:05:13.568360179 +0200
|
||||
@@ -20769,7 +20769,7 @@
|
||||
DRI3_LIBS=$pkg_cv_DRI3_LIBS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
- DRI3=$DRI
|
||||
+ DRI3=no
|
||||
fi
|
||||
fi
|
||||
if test "x$DRI3" != "xno"; then
|
||||
@@ -20850,10 +20850,6 @@
|
||||
$as_echo "#define HAVE_DRI3 1" >>confdefs.h
|
||||
|
||||
dri_msg="$dri_msg DRI3"
|
||||
-else
|
||||
- if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then
|
||||
- as_fn_error $? "DRI3 requested but prerequisites not found" "$LINENO" 5
|
||||
- fi
|
||||
fi
|
||||
|
||||
for ac_header in X11/extensions/dpmsconst.h
|
|
@ -0,0 +1,27 @@
|
|||
https://bugs.gentoo.org/575970
|
||||
https://lists.freedesktop.org/archives/intel-gfx/2016-December/113685.html
|
||||
|
||||
From 7cb250a3ce966dc0c96d167669922b0667160d1e Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Wed, 13 Apr 2016 21:35:37 -0400
|
||||
Subject: [PATCH] tools/backlight_helper: #include "config.h"
|
||||
|
||||
---
|
||||
tools/backlight_helper.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/tools/backlight_helper.c b/tools/backlight_helper.c
|
||||
index a00f0d6bd8a2..aadb8fac92ba 100644
|
||||
--- a/tools/backlight_helper.c
|
||||
+++ b/tools/backlight_helper.c
|
||||
@@ -1,3 +1,7 @@
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include "config.h"
|
||||
+#endif
|
||||
+
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
--
|
||||
2.11.0.rc2
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
From 7fe2b2948652443ff43d907855bd7a051d54d309 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Thu, 19 Mar 2015 23:14:17 +0000
|
||||
Subject: sna: Protect against ABI breakage in recent versions of libdrm
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
|
||||
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
|
||||
index 11f0828..6f16cba 100644
|
||||
--- a/src/sna/kgem.c
|
||||
+++ b/src/sna/kgem.c
|
||||
@@ -182,6 +182,15 @@ struct local_i915_gem_caching {
|
||||
#define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
|
||||
#define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
|
||||
|
||||
+struct local_i915_gem_mmap {
|
||||
+ uint32_t handle;
|
||||
+ uint32_t pad;
|
||||
+ uint64_t offset;
|
||||
+ uint64_t size;
|
||||
+ uint64_t addr_ptr;
|
||||
+};
|
||||
+#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct local_i915_gem_mmap)
|
||||
+
|
||||
struct local_i915_gem_mmap2 {
|
||||
uint32_t handle;
|
||||
uint32_t pad;
|
||||
@@ -514,15 +523,15 @@ retry_wc:
|
||||
|
||||
static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
|
||||
{
|
||||
- struct drm_i915_gem_mmap mmap_arg;
|
||||
+ struct local_i915_gem_mmap arg;
|
||||
int err;
|
||||
|
||||
retry:
|
||||
- VG_CLEAR(mmap_arg);
|
||||
- mmap_arg.handle = bo->handle;
|
||||
- mmap_arg.offset = 0;
|
||||
- mmap_arg.size = bytes(bo);
|
||||
- if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) {
|
||||
+ VG_CLEAR(arg);
|
||||
+ arg.handle = bo->handle;
|
||||
+ arg.offset = 0;
|
||||
+ arg.size = bytes(bo);
|
||||
+ if ((err = do_ioctl(kgem->fd, LOCAL_IOCTL_I915_GEM_MMAP, &arg))) {
|
||||
assert(err != EINVAL);
|
||||
|
||||
if (__kgem_throttle_retire(kgem, 0))
|
||||
@@ -536,10 +545,10 @@ retry:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- VG(VALGRIND_MAKE_MEM_DEFINED(mmap_arg.addr_ptr, bytes(bo)));
|
||||
+ VG(VALGRIND_MAKE_MEM_DEFINED(arg.addr_ptr, bytes(bo)));
|
||||
|
||||
DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle));
|
||||
- return bo->map__cpu = (void *)(uintptr_t)mmap_arg.addr_ptr;
|
||||
+ return bo->map__cpu = (void *)(uintptr_t)arg.addr_ptr;
|
||||
}
|
||||
|
||||
static int gem_write(int fd, uint32_t handle,
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
From 12af8a575d1518d40416f83195049157c3a062a5 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Tue, 24 Feb 2015 15:25:40 +0000
|
||||
Subject: sna: udev integration depends on fstat and sys/stat.h
|
||||
|
||||
src/sna/sna_driver.c: In function 'sna_handle_uevents':
|
||||
src/sna/sna_driver.c:759:2: error: implicit declaration of function 'fstat' [-Werror=implicit-function-declaration]
|
||||
|
||||
Also take the opportunity to include udev support in the configure
|
||||
summary.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7476e2b..de3a4b3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -197,11 +197,15 @@ AC_ARG_ENABLE(udev,
|
||||
|
||||
if test "x$UDEV" != "xno"; then
|
||||
PKG_CHECK_MODULES(UDEV, [libudev], [udev="yes"], [udev="no"])
|
||||
+ AC_CHECK_HEADERS([sys/stat.h], [], [udev="no"])
|
||||
if test "x$UDEV" = "xyes" -a "x$udev" != "xyes"; then
|
||||
AC_MSG_ERROR([udev support requested but not found (libudev)])
|
||||
fi
|
||||
if test "x$udev" = "xyes"; then
|
||||
AC_DEFINE(HAVE_UDEV,1,[Enable udev-based monitor hotplug detection])
|
||||
+ udev_msg=" yes"
|
||||
+ else
|
||||
+ udev_msg=" no"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -911,6 +915,7 @@ echo " Support for Kernel Mode Setting? $KMS"
|
||||
echo " Support for legacy User Mode Setting (for i810)? $UMS"
|
||||
echo " Support for Direct Rendering Infrastructure:$dri_msg"
|
||||
echo " Support for Xv motion compensation (XvMC and libXvMC):$xvmc_msg"
|
||||
+echo " Support for display hotplug notifications (udev):$udev_msg"
|
||||
echo " Build additional tools and utilities?$tools_msg"
|
||||
if test -n "$xp_msg"; then
|
||||
echo " Experimental support:$xp_msg"
|
||||
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
|
||||
index 8c0d0b5..bc20ef0 100644
|
||||
--- a/src/sna/sna_driver.c
|
||||
+++ b/src/sna/sna_driver.c
|
||||
@@ -740,6 +740,8 @@ sna_wakeup_handler(WAKEUPHANDLER_ARGS_DECL)
|
||||
}
|
||||
|
||||
#if HAVE_UDEV
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
static void
|
||||
sna_handle_uevents(int fd, void *closure)
|
||||
{
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From 369ceec0e4910ba2c37736a59c55c0d6c26433bf Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Tue, 24 Feb 2015 15:25:40 +0000
|
||||
Subject: uxa: udev integration depends on fstat and sys/stat.h
|
||||
|
||||
src/uxa/intel_driver.c: In function 'I830HandleUEvents':
|
||||
src/uxa/intel_driver.c:738:14: error: storage size of 's' isn't known
|
||||
src/uxa/intel_driver.c:746:2: error: implicit declaration of function 'fstat' [-Werror=implicit-function-declaration]
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
|
||||
diff --git a/src/uxa/intel_driver.c b/src/uxa/intel_driver.c
|
||||
index c554124..6e64b8c 100644
|
||||
--- a/src/uxa/intel_driver.c
|
||||
+++ b/src/uxa/intel_driver.c
|
||||
@@ -728,6 +728,8 @@ intel_flush_callback(CallbackListPtr *list,
|
||||
}
|
||||
|
||||
#if HAVE_UDEV
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
static void
|
||||
I830HandleUEvents(int fd, void *closure)
|
||||
{
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
XORG_DRI=dri
|
||||
XORG_EAUTORECONF=yes
|
||||
inherit linux-info xorg-2 flag-o-matic
|
||||
|
||||
DESCRIPTION="X.Org driver for Intel cards"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-fbsd -x86-fbsd"
|
||||
IUSE="debug dri3 +sna +udev uxa xvmc"
|
||||
COMMIT_ID="bde946054efbc1c7ae1483b84c3b4fa3c2c7e2ec"
|
||||
SRC_URI="https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/${COMMIT_ID}.tar.xz -> ${P}.tar.xz"
|
||||
|
||||
S=${WORKDIR}/${COMMIT_ID}
|
||||
|
||||
REQUIRED_USE="
|
||||
|| ( sna uxa )
|
||||
"
|
||||
RDEPEND="
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXScrnSaver
|
||||
>=x11-libs/pixman-0.27.1
|
||||
>=x11-libs/libdrm-2.4.29[video_cards_intel]
|
||||
dri3? (
|
||||
>=x11-base/xorg-server-1.18
|
||||
)
|
||||
sna? (
|
||||
>=x11-base/xorg-server-1.10
|
||||
)
|
||||
udev? (
|
||||
virtual/udev
|
||||
)
|
||||
xvmc? (
|
||||
x11-libs/libXvMC
|
||||
>=x11-libs/libxcb-1.5
|
||||
x11-libs/xcb-util
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=x11-proto/dri2proto-2.6
|
||||
x11-proto/dri3proto
|
||||
x11-proto/presentproto
|
||||
x11-proto/resourceproto"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.99.917-config-header.patch #575970
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
replace-flags -Os -O2
|
||||
XORG_CONFIGURE_OPTIONS=(
|
||||
$(use_enable debug)
|
||||
$(use_enable dri)
|
||||
$(use_enable dri dri3)
|
||||
$(usex dri3 "--with-default-dri=3")
|
||||
$(use_enable sna)
|
||||
$(use_enable udev)
|
||||
$(use_enable uxa)
|
||||
$(use_enable xvmc)
|
||||
)
|
||||
xorg-2_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if linux_config_exists && \
|
||||
kernel_is -lt 4 3 && ! linux_chkconfig_present DRM_I915_KMS; then
|
||||
echo
|
||||
ewarn "This driver requires KMS support in your kernel"
|
||||
ewarn " Device Drivers --->"
|
||||
ewarn " Graphics support --->"
|
||||
ewarn " Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->"
|
||||
ewarn " <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->"
|
||||
ewarn " i915 driver"
|
||||
ewarn " [*] Enable modesetting on intel by default"
|
||||
echo
|
||||
fi
|
||||
if use dri3; then
|
||||
ewarn "There are reports of crashes when using DRI3, we recommend"
|
||||
ewarn "to be careful when enabling this option. Check the following"
|
||||
ewarn "bugs for discussion and a workaround patch for libdrm:"
|
||||
ewarn "https://bugs.freedesktop.org/show_bug.cgi?id=71759"
|
||||
ewarn "https://bugs.gentoo.org/show_bug.cgi?id=582544"
|
||||
fi
|
||||
}
|
Loading…
Add table
Reference in a new issue