From: | "Chi-Thanh Christopher Nguyen (chithanh)" <chithanh@g.o> |
---|---|
To: | gentoo-commits@l.g.o |
Subject: | [gentoo-commits] gentoo-x86 commit in x11-drivers/xf86-video-intel/files: xf86-video-intel-2.20.19-discard-mappings.patch |
Date: | Thu, 31 Jan 2013 14:54:34 |
Message-Id: | 20130131145431.7D40B2171E@flycatcher.gentoo.org |
1 | chithanh 13/01/31 14:54:31 |
2 | |
3 | Added: xf86-video-intel-2.20.19-discard-mappings.patch |
4 | Log: |
5 | Add patch for bug #454412. Remove old. |
6 | |
7 | (Portage version: 2.1.11.31/cvs/Linux x86_64, unsigned Manifest commit) |
8 | |
9 | Revision Changes Path |
10 | 1.1 x11-drivers/xf86-video-intel/files/xf86-video-intel-2.20.19-discard-mappings.patch |
11 | |
12 | file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.20.19-discard-mappings.patch?rev=1.1&view=markup |
13 | plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.20.19-discard-mappings.patch?rev=1.1&content-type=text/plain |
14 | |
15 | Index: xf86-video-intel-2.20.19-discard-mappings.patch |
16 | =================================================================== |
17 | From de28027ffc649920268ae6fdd64146f08310e8a4 Mon Sep 17 00:00:00 2001 |
18 | From: Chris Wilson <chris@×××××××××××××××.uk> |
19 | Date: Wed, 30 Jan 2013 08:42:48 +0000 |
20 | Subject: sna/dri: Make sure we discard the existing mappings when swapping GPU bo |
21 | |
22 | If the GPU bo is currently mapped to the Pixmap, we need to be sure to |
23 | invalidate that mapping if we swap the GPU bo (for SwapBuffers). If we |
24 | forget, we leave a dangling pointer to chase. |
25 | |
26 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60042 |
27 | Signed-off-by: Chris Wilson <chris@×××××××××××××××.uk> |
28 | --- |
29 | diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c |
30 | index 15b87dd..e33cd78 100644 |
31 | --- a/src/sna/sna_dri.c |
32 | +++ b/src/sna/sna_dri.c |
33 | @@ -498,6 +498,12 @@ static void set_bo(PixmapPtr pixmap, struct kgem_bo *bo) |
34 | if (priv->gpu_bo != bo) { |
35 | kgem_bo_destroy(&sna->kgem, priv->gpu_bo); |
36 | priv->gpu_bo = ref(bo); |
37 | + if (priv->mapped) { |
38 | + assert(!priv->shm && priv->stride); |
39 | + pixmap->devPrivate.ptr = PTR(priv->ptr); |
40 | + pixmap->devKind = priv->stride; |
41 | + priv->mapped = false; |
42 | + } |
43 | } |
44 | if (bo->domain != DOMAIN_GPU) |
45 | bo->domain = DOMAIN_NONE; |
46 | -- |
47 | cgit v0.9.0.2-2-gbebe |