rpms/xorg-x11-server/F-12 xserver-1.7.1-glx14-swrast.patch, NONE, 1.1 xserver-1.7.1-window-picture-performance-regression.patch, NONE, 1.1 xorg-x11-server.spec, 1.507, 1.508

Adam Jackson ajax at fedoraproject.org
Tue Nov 24 18:39:54 UTC 2009


Author: ajax

Update of /cvs/pkgs/rpms/xorg-x11-server/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3135

Modified Files:
	xorg-x11-server.spec 
Added Files:
	xserver-1.7.1-glx14-swrast.patch 
	xserver-1.7.1-window-picture-performance-regression.patch 
Log Message:
* Tue Nov 24 2009 Adam Jackson <ajax at redhat.com> 1.7.1-12
- xserver-1.7.1-glx14-swrast.patch: Enable GLX 1.4 for software GLX.


xserver-1.7.1-glx14-swrast.patch:
 glxdriswrast.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- NEW FILE xserver-1.7.1-glx14-swrast.patch ---
>From 25a0107768c9f25e8edc5e423ca8b1d0813f2d04 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax at redhat.com>
Date: Tue, 24 Nov 2009 13:38:46 -0500
Subject: [PATCH] Enable GLX 1.4 for swrast

---
 glx/glxdriswrast.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
index 44f658f..20f9f90 100644
--- a/glx/glxdriswrast.c
+++ b/glx/glxdriswrast.c
@@ -510,6 +510,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
 
     __glXScreenInit(&screen->base, pScreen);
 
+    screen->base.GLXmajor = 1;
+    screen->base.GLXminor = 4;
+
     LogMessage(X_INFO,
 	       "AIGLX: Loaded and initialized %s\n", filename);
 
-- 
1.6.5.2


xserver-1.7.1-window-picture-performance-regression.patch:
 fbpict.c |   28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

--- NEW FILE xserver-1.7.1-window-picture-performance-regression.patch ---
>From 8940385270d2752e03117fa6c24adafff7586422 Mon Sep 17 00:00:00 2001
From: Aaron Plattner <aaronp at nvidia.com>
Date: Tue, 24 Nov 2009 11:08:42 -0500
Subject: [PATCH] Patch over performance regression in KDE

---
 fb/fbpict.c |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/fb/fbpict.c b/fb/fbpict.c
index 5c96427..5799e37 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
@@ -317,6 +317,27 @@ destroy_drawable (pixman_image_t *image, void *data)
     pScreen->DestroyPixmap ((PixmapPtr)pDrawable);
 }
 
+/*
+ * Returns TRUE when the specified window is fully contained within its bounding
+ * pixmap.
+ */
+static Bool
+window_is_fully_contained(WindowPtr pWin)
+{
+    PixmapPtr pBoundingPix = (*pWin->drawable.pScreen->GetWindowPixmap)(pWin);
+    int x = pWin->drawable.x, y = pWin->drawable.y;
+
+#ifdef COMPOSITE
+    /* Translate from screen coordinates to pixmap coordinates */
+    x -= pBoundingPix->screen_x;
+    y -= pBoundingPix->screen_y;
+#endif
+
+    return x >= 0 && y >= 0 &&
+	   x + pWin->drawable.width <= pBoundingPix->drawable.width &&
+	   y + pWin->drawable.height <= pBoundingPix->drawable.height;
+}
+
 static pixman_image_t *
 create_bits_picture (PicturePtr pict,
 		     Bool	has_clip,
@@ -328,7 +349,11 @@ create_bits_picture (PicturePtr pict,
     pixman_image_t *image;
     DrawablePtr drawable;
 
-    if (is_src && pict->pDrawable->type == DRAWABLE_WINDOW)
+    /* Copy the source window if part of it lies outside its bounding pixmap to
+     * avoid reading outside that pixmap's bounds, since Pixman doesn't clip the
+     * source image per pixel */
+    if (is_src && pict->pDrawable->type == DRAWABLE_WINDOW &&
+	    !window_is_fully_contained((WindowPtr)pict->pDrawable))
 	drawable = copy_drawable (pict->pDrawable);
     else
 	drawable = pict->pDrawable;
-- 
1.6.5.2



Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-12/xorg-x11-server.spec,v
retrieving revision 1.507
retrieving revision 1.508
diff -u -p -r1.507 -r1.508
--- xorg-x11-server.spec	24 Nov 2009 18:36:36 -0000	1.507
+++ xorg-x11-server.spec	24 Nov 2009 18:39:53 -0000	1.508
@@ -19,7 +19,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.7.1
-Release:   11%{dist}
+Release:   12%{dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -83,6 +83,7 @@ Patch6052: xserver-1.7.1-libcrypto.patch
 Patch6053: xserver-1.7.1-sigaction.patch
 Patch6054: xserver-1.7.1-stat-sanity.patch
 Patch6055: xserver-1.7.1-window-picture-performance-regression.patch
+Patch6066: xserver-1.7.1-glx14-swrast.patch
 
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
@@ -510,6 +511,9 @@ rm -rf $RPM_BUILD_ROOT
 %{xserver_source_dir}
 
 %changelog
+* Tue Nov 24 2009 Adam Jackson <ajax at redhat.com> 1.7.1-12
+- xserver-1.7.1-glx14-swrast.patch: Enable GLX 1.4 for software GLX.
+
 * Tue Nov 24 2009 Adam Jackson <ajax at redhat.com> 1.7.1-11
 - xserver-1.7.1-window-picture-performance-regression.patch: Paper over a
   performance regression caused by the window picture fixes.




More information about the fedora-extras-commits mailing list