diff options
author | Koop Mast <kwm@FreeBSD.org> | 2015-04-18 15:20:38 +0000 |
---|---|---|
committer | Koop Mast <kwm@FreeBSD.org> | 2015-04-18 15:20:38 +0000 |
commit | ea9c9200276d48ce3464f09bfce842b8f1d732c3 (patch) | |
tree | 3babf9f6a4435cafd25f08e8798c3e4fe69edb5c /x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c | |
parent | Convert to USES=autoreconf (diff) |
Add patches to allow xf86-video-intel to build with newer xorg-server
versions that 1.14.
Obtained from: xorg devel repo
Diffstat (limited to 'x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c')
-rw-r--r-- | x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c | 62 |
1 files changed, 57 insertions, 5 deletions
diff --git a/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c b/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c index dc14a5c5c6d4..9578842f0af4 100644 --- a/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c +++ b/x11-drivers/xf86-video-intel/files/patch-src__sna__sna_accel.c @@ -1,6 +1,58 @@ ---- src/sna/sna_accel.c.orig 2014-10-28 00:26:56.720761613 +0100 -+++ src/sna/sna_accel.c 2014-10-28 00:28:12.783756153 +0100 -@@ -14830,7 +14830,7 @@ +--- src/sna/sna_accel.c.orig 2013-08-20 20:26:26 UTC ++++ src/sna/sna_accel.c +@@ -3797,6 +3797,7 @@ static bool must_check sna_gc_move_to_cp + sgc->priv = gc->pCompositeClip; + gc->pCompositeClip = region; + ++#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0) + if (gc->clientClipType == CT_PIXMAP) { + PixmapPtr clip = gc->clientClip; + gc->clientClip = region_from_bitmap(gc->pScreen, clip); +@@ -3804,7 +3805,9 @@ static bool must_check sna_gc_move_to_cp + gc->clientClipType = gc->clientClip ? CT_REGION : CT_NONE; + changes |= GCClipMask; + } else ++#else + changes &= ~GCClipMask; ++#endif + + if (changes || drawable->serialNumber != sgc->serial) { + gc->serialNumber = sgc->serial; +@@ -5562,6 +5565,15 @@ static inline bool box_equal(const BoxRe + return *(const uint64_t *)a == *(const uint64_t *)b; + } + ++static inline bool has_clip(GCPtr gc) ++{ ++#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0) ++ return gc->clientClipType != CT_NONE; ++#else ++ return gc->clientClip != NULL; ++#endif ++} ++ + static RegionPtr + sna_do_copy(DrawablePtr src, DrawablePtr dst, GCPtr gc, + int sx, int sy, +@@ -5628,7 +5640,7 @@ sna_do_copy(DrawablePtr src, DrawablePtr + + /* Compute source clip region */ + if (src->type == DRAWABLE_PIXMAP) { +- if (src == dst && gc->clientClipType == CT_NONE) { ++ if (src == dst && !has_clip(gc)) { + DBG(("%s: pixmap -- using gc clip\n", __FUNCTION__)); + clip = gc->pCompositeClip; + } else { +@@ -14391,7 +14403,7 @@ sna_validate_gc(GCPtr gc, unsigned long + + if (changes & (GCClipMask|GCSubwindowMode) || + drawable->serialNumber != (gc->serialNumber & DRAWABLE_SERIAL_BITS) || +- (gc->clientClipType != CT_NONE && (changes & (GCClipXOrigin | GCClipYOrigin)))) ++ (has_clip(gc) && (changes & (GCClipXOrigin | GCClipYOrigin)))) + miComputeCompositeClip(gc, drawable); + + sna_gc(gc)->changes |= changes; +@@ -14830,7 +14842,7 @@ static bool has_offload_slaves(struct sn { #if HAS_PIXMAP_SHARING ScreenPtr screen = sna->scrn->pScreen; @@ -9,7 +61,7 @@ xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { assert(dirty->src == sna->front); -@@ -14987,7 +14987,7 @@ +@@ -14987,7 +14999,7 @@ static void sna_accel_post_damage(struct { #if HAS_PIXMAP_SHARING ScreenPtr screen = sna->scrn->pScreen; @@ -18,7 +70,7 @@ bool flush = false; xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { -@@ -15216,7 +15216,7 @@ +@@ -15216,7 +15228,7 @@ migrate_dirty_tracking(PixmapPtr old_fro { #if HAS_PIXMAP_SHARING ScreenPtr screen = old_front->drawable.pScreen; |