aboutsummaryrefslogtreecommitdiffstats
path: root/xorg-server-hwcursor-gamma
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server-hwcursor-gamma')
-rw-r--r--xorg-server-hwcursor-gamma/PKGBUILD4
-rw-r--r--xorg-server-hwcursor-gamma/autoconfig-nvidia.patch28
-rw-r--r--xorg-server-hwcursor-gamma/glamor-upstream-fix.patch178
3 files changed, 2 insertions, 208 deletions
diff --git a/xorg-server-hwcursor-gamma/PKGBUILD b/xorg-server-hwcursor-gamma/PKGBUILD
index c40b769..af943e2 100644
--- a/xorg-server-hwcursor-gamma/PKGBUILD
+++ b/xorg-server-hwcursor-gamma/PKGBUILD
@@ -4,7 +4,7 @@
_pkgname=xorg-server
pkgname=xorg-server-hwcursor-gamma
-pkgver=1.16.2.901
+pkgver=1.16.3
pkgrel=1
pkgdesc="Xorg X server with patch to apply gamma ramps on hardware cursors"
depends=(libepoxy libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev libxshmfence libgl)
@@ -28,7 +28,7 @@ source=(${url}/releases/individual/xserver/${_pkgname}-${pkgver}.tar.bz2
0001-When-an-cursor-is-set-it-is-adjusted-to-use-the.patch
0002-Fix-for-full-and-semi-transparency-under-negative-im.patch
0003-Use-Harms-s-suggest-do-not-use-inline-if.-And-fix-si.patch)
-sha256sums=('ef885a5ce441e6ae5c73461b624f9e66e801e52eaf495e551663306ec4464ba6'
+sha256sums=('5e0f443238af1078b48f6eea98a382861b59187da221c2cf714d31c1d560b0fb'
'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84'
'af1c3d2ea5de7f6a6b5f7c60951a189a4749d1495e5462f3157ae7ac8fe1dc56'
'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
diff --git a/xorg-server-hwcursor-gamma/autoconfig-nvidia.patch b/xorg-server-hwcursor-gamma/autoconfig-nvidia.patch
deleted file mode 100644
index 6d5220a..0000000
--- a/xorg-server-hwcursor-gamma/autoconfig-nvidia.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c
---- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000
-+++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000
-@@ -1144,7 +1144,23 @@
- int idx = 0;
-
- #ifdef __linux__
-- driverList[idx++] = "nouveau";
-+ switch (dev->device_id)
-+ {
-+ /* NV1 */
-+ case 0x0008:
-+ case 0x0009:
-+ driverList[idx++] = "vesa";
-+ break;
-+ /* NV3 */
-+ case 0x0018:
-+ case 0x0019:
-+ driverList[idx++] = "nouveau";
-+ break;
-+ default:
-+ driverList[idx++] = "nouveau";
-+ driverList[idx++] = "nvidia";
-+ break;
-+ }
- #endif
- driverList[idx++] = "nv";
- break;
diff --git a/xorg-server-hwcursor-gamma/glamor-upstream-fix.patch b/xorg-server-hwcursor-gamma/glamor-upstream-fix.patch
deleted file mode 100644
index 89dd4d0..0000000
--- a/xorg-server-hwcursor-gamma/glamor-upstream-fix.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 3c0431b8911241552a15a43e4279c50658b50a18 Mon Sep 17 00:00:00 2001
-From: Keith Packard <keithp@keithp.com>
-Date: Wed, 16 Jul 2014 23:03:23 +0000
-Subject: glamor: Fix temp picture coordinates in glamor_composite_clipped_region
-
-To understand this patch, let's start at the protocol interface where
-the relationship between the coordinate spaces is documented:
-
- static Bool
- _glamor_composite(CARD8 op,
- PicturePtr source,
- PicturePtr mask,
- PicturePtr dest,
- INT16 x_source,
- INT16 y_source,
- INT16 x_mask,
- INT16 y_mask,
- INT16 x_dest, INT16 y_dest,
- CARD16 width, CARD16 height, Bool fallback)
-
-The coordinates are passed to this function directly off the wire and
-are all relative to their respective drawables. For Windows, this means
-that they are relative to the upper left corner of the window, in
-whatever pixmap that window is getting drawn to.
-
-_glamor_composite calls miComputeCompositeRegion to construct a clipped
-region to actually render to. In reality, miComputeCompositeRegion clips
-only to the destination these days; source clip region based clipping
-would have to respect the transform, which isn't really possible. The
-returned region is relative to the screen in which dest lives; offset by
-dest->drawable.x and dest->drawable.y.
-
-What is important to realize here is that, because of clipping, the
-composite region may not have the same position within the destination
-drawable as x_dest, y_dest. The protocol coordinates now exist solely to
-'pin' the three objects together.
-
- extents->x1,y1 Screen origin of clipped operation
- width,height Extents of the clipped operation
- x_dest,y_dest Unclipped destination-relative operation coordinate
- x_source,y_source Unclipped source-relative operation coordinate
- x_mask,y_mask Unclipped mask-relative operation coordinate
-
-One thing we want to know is what the offset is from the original
-operation origin to the clipped origin
-
- Destination drawable relative coordinates of the clipped operation:
-
- x_dest_clipped = extents->x1 - dest->drawable.x
- y_dest_clipped = extents->y1 - dest->drawable.y
-
- Offset from the original operation origin:
-
- x_off_clipped = x_dest_clipped - x_dest
- y_off_clipped = y_dest_clipped - y_dest
-
- Source drawable relative coordinates of the clipped operation:
-
- x_source_clipped = x_source + x_off_clipped;
- y_source_clipped = y_source + y_off_clipped;
-
- Mask drawable relative coordinates of the clipped operation:
-
- x_mask_clipped = x_source + x_off_clipped;
- y_mask_clipped = y_source + y_off_clipped;
-
-This is where the original code fails -- it doesn't subtract the
-destination drawable location when computing the distance that the
-operation has been moved by clipping. Here's what it does when
-constructing a temporary source picture:
-
- temp_src =
- glamor_convert_gradient_picture(screen, source,
- extent->x1 + x_source - x_dest,
- extent->y1 + y_source - y_dest,
- width, height);
- ...
- x_temp_src = -extent->x1 + x_dest;
- y_temp_src = -extent->y1 + y_dest;
-
-glamor_convert_gradient_picture needs source drawable relative
-coordinates, but that is not what it's getting; it's getting
-screen-relative coordinates for the destination, adjusted by the
-distance between the provided source and destination operation
-coordinates. We want x_source_clipped and y_source_clipped:
-
- x_source_clipped = x_source + x_off_clipped
- = x_source + x_dest_clipped - x_dest
- = x_source + extents->x1 - dest->drawable.x - x_dest
-
-x_temp_src/y_temp_src are supposed to be the coordinates of the original
-operation translated to the temporary picture:
-
- x_temp_src = x_source - x_source_clipped;
- y_temp_src = y_source - y_source_clipped;
-
-Note that x_source_clipped/y_source_clipped will never be less than
-x_source/y_source because all we're doing is clipping. This means that
-x_temp_src/y_temp_src will always be non-positive; the original source
-coordinate can never be strictly *inside* the temporary image or we
-could have made the temporary image smaller.
-
- x_temp_src = x_source - x_source_clipped
- = x_source - (x_source + x_off_clipped)
- = -x_off_clipped
- = x_dest - x_dest_clipped
- = x_dest - (extents->x1 - dest->drawable.x)
-
-Again, this is off by the destination origin within the screen
-coordinate space.
-
-The code should look like:
-
- temp_src =
- glamor_convert_gradient_picture(screen, source,
- extent->x1 + x_source - x_dest - dest->pDrawable->x,
- extent->y1 + y_source - y_dest - dest->pDrawable->y,
- width, height);
-
- x_temp_src = -extent->x1 + x_dest + dest->pDrawable->x;
- y_temp_src = -extent->y1 + y_dest + dest->pDrawable->y;
-
-Signed-off-by: Keith Packard <keithp@keithp.com>
-Reviewed-by: Markus Wick <markus@selfnet.de>
-(cherry picked from commit 55f5bfb578e934319d1308cbb56c900c5ac7cfa7)
-Signed-off-by: Julien Cristau <jcristau@debian.org>
----
-diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c
-index 14ab738..e5d5d2c 100644
---- a/glamor/glamor_render.c
-+++ b/glamor/glamor_render.c
-@@ -1450,8 +1450,8 @@ glamor_composite_clipped_region(CARD8 op,
- || source_pixmap->drawable.height != height)))) {
- temp_src =
- glamor_convert_gradient_picture(screen, source,
-- extent->x1 + x_source - x_dest,
-- extent->y1 + y_source - y_dest,
-+ extent->x1 + x_source - x_dest - dest->pDrawable->x,
-+ extent->y1 + y_source - y_dest - dest->pDrawable->y,
- width, height);
- if (!temp_src) {
- temp_src = source;
-@@ -1459,8 +1459,8 @@ glamor_composite_clipped_region(CARD8 op,
- }
- temp_src_priv =
- glamor_get_pixmap_private((PixmapPtr) (temp_src->pDrawable));
-- x_temp_src = -extent->x1 + x_dest;
-- y_temp_src = -extent->y1 + y_dest;
-+ x_temp_src = -extent->x1 + x_dest + dest->pDrawable->x;
-+ y_temp_src = -extent->y1 + y_dest + dest->pDrawable->y;
- }
-
- if (mask
-@@ -1474,8 +1474,8 @@ glamor_composite_clipped_region(CARD8 op,
- * to do reduce one convertion. */
- temp_mask =
- glamor_convert_gradient_picture(screen, mask,
-- extent->x1 + x_mask - x_dest,
-- extent->y1 + y_mask - y_dest,
-+ extent->x1 + x_mask - x_dest - dest->pDrawable->x,
-+ extent->y1 + y_mask - y_dest - dest->pDrawable->y,
- width, height);
- if (!temp_mask) {
- temp_mask = mask;
-@@ -1483,8 +1483,8 @@ glamor_composite_clipped_region(CARD8 op,
- }
- temp_mask_priv =
- glamor_get_pixmap_private((PixmapPtr) (temp_mask->pDrawable));
-- x_temp_mask = -extent->x1 + x_dest;
-- y_temp_mask = -extent->y1 + y_dest;
-+ x_temp_mask = -extent->x1 + x_dest + dest->pDrawable->x;
-+ y_temp_mask = -extent->y1 + y_dest + dest->pDrawable->y;
- }
- /* Do two-pass PictOpOver componentAlpha, until we enable
- * dual source color blending.
---
-cgit v0.9.0.2-2-gbebe
-