rpms/xorg-x11-server/F-12 xorg-x11-server.spec, 1.499, 1.500 xserver-1.7.1-window-pictures.patch, 1.2, 1.3
Soren Sandmann Pedersen
ssp at fedoraproject.org
Wed Nov 4 12:59:55 UTC 2009
- Previous message (by thread): rpms/iprutils/F-12 .cvsignore, 1.18, 1.19 iprutils-initscripts.patch, 1.4, 1.5 iprutils.spec, 1.40, 1.41 sources, 1.19, 1.20
- Next message (by thread): rpms/tcsh/devel tcsh-6.17.00-glob-automount.patch, 1.1, 1.2 tcsh.spec, 1.66, 1.67
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: ssp
Update of /cvs/pkgs/rpms/xorg-x11-server/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28844
Modified Files:
xorg-x11-server.spec xserver-1.7.1-window-pictures.patch
Log Message:
* Wed Nov 4 2009 Soren Sandmann <ssp at redhat.com> 1.7.1-5
- Update xserver-1.7.1-window-pictures.patch. Instead of calling
GetImage(), simply call fb* functions rather than the screen
hooks. (#524244)
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-12/xorg-x11-server.spec,v
retrieving revision 1.499
retrieving revision 1.500
diff -u -p -r1.499 -r1.500
--- xorg-x11-server.spec 3 Nov 2009 22:53:43 -0000 1.499
+++ xorg-x11-server.spec 4 Nov 2009 12:59:55 -0000 1.500
@@ -19,7 +19,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.7.1
-Release: 3%{dist}
+Release: 5%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -506,6 +506,11 @@ rm -rf $RPM_BUILD_ROOT
%{xserver_source_dir}
%changelog
+* Wed Nov 4 2009 Soren Sandmann <ssp at redhat.com> 1.7.1-5
+- Update xserver-1.7.1-window-pictures.patch. Instead of calling
+ GetImage(), simply call fb* functions rather than the screen
+ hooks. (#524244)
+
* Tue Nov 3 2009 Adam Jackson <ajax at redhat.com> 1.7.1-3
- xserver-1.7.1-window-pictures.patch: Fix Render from Pictures backed by
Windows to not crash in the presence of KMS. (#524244)
xserver-1.7.1-window-pictures.patch:
fbpict.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
Index: xserver-1.7.1-window-pictures.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-12/xserver-1.7.1-window-pictures.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- xserver-1.7.1-window-pictures.patch 3 Nov 2009 22:59:25 -0000 1.2
+++ xserver-1.7.1-window-pictures.patch 4 Nov 2009 12:59:55 -0000 1.3
@@ -1,124 +1,50 @@
-From 154b717f261a37af95f09e6645db0ceeb6b22d6a Mon Sep 17 00:00:00 2001
+From 7d1378e2631e0d400943d2d05b5b79a3c631a12f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= <sandmann at redhat.com>
-Date: Wed, 28 Oct 2009 02:54:03 -0400
-Subject: [PATCH] fix Render with window sources
+Date: Wed, 4 Nov 2009 07:46:05 -0500
+Subject: [PATCH] fb: Use fb functions to copy the window to a temporary pixmap.
+Previously, it would use the screen ops, but this meant that the new
+pixmap would be created by the DDX and then immediately accessed by
+software fallbacks without the DDX having a chance to map the drawable
+correctly.
+
+Instead, use fbCreatePixmap() and fbCopyArea() directly, without going
+through the DDX hooks.
---
- fb/fbpict.c | 74 +++++++++++++++++++++++++---------------------------------
- 1 files changed, 32 insertions(+), 42 deletions(-)
+ fb/fbpict.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fb/fbpict.c b/fb/fbpict.c
-index 2fbef15..08bb537 100644
+index 2fbef15..b9fe32a 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
-@@ -268,54 +268,41 @@ create_conical_gradient_image (PictGradient *gradient)
- gradient->nstops);
- }
-
--static DrawablePtr
--copy_drawable (DrawablePtr pDraw)
-+static pixman_image_t *
-+image_from_window (pixman_format_code_t format, DrawablePtr pDraw)
- {
- ScreenPtr pScreen = pDraw->pScreen;
-- PixmapPtr pPixmap;
-- GCPtr pGC;
-+ pixman_image_t *image;
- int width, height;
-- ChangeGCVal gcv[2];
--
-+ uint32_t *bits;
-+
+@@ -280,7 +280,7 @@ copy_drawable (DrawablePtr pDraw)
width = pDraw->width;
height = pDraw->height;
- pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, pDraw->depth, 0);
--
-- if (!pPixmap)
-- return NULL;
--
-- pGC = GetScratchGC (pDraw->depth, pScreen);
--
-- if (!pGC)
-- {
++ pPixmap = fbCreatePixmap (pScreen, width, height, pDraw->depth, 0);
+
+ if (!pPixmap)
+ return NULL;
+@@ -289,7 +289,7 @@ copy_drawable (DrawablePtr pDraw)
+
+ if (!pGC)
+ {
- (*pScreen->DestroyPixmap) (pPixmap);
-+ image = pixman_image_create_bits (format, width, height, NULL, -1);
-+
-+ if (!image)
++ fbDestroyPixmap (pPixmap);
return NULL;
-- }
--
-- /* First fill the pixmap with zeros */
-- gcv[0].val = 0x00000000;
-- gcv[1].val = IncludeInferiors;
-- dixChangeGC (NullClient, pGC, GCBackground | GCSubwindowMode, NULL, gcv);
-- ValidateGC ((DrawablePtr)pPixmap, pGC);
-- miClearDrawable ((DrawablePtr)pPixmap, pGC);
+ }
+
+@@ -302,7 +302,7 @@ copy_drawable (DrawablePtr pDraw)
-- /* Then copy the window there */
-- ValidateGC(&pPixmap->drawable, pGC);
+ /* Then copy the window there */
+ ValidateGC(&pPixmap->drawable, pGC);
- (* pGC->ops->CopyArea) (pDraw, &pPixmap->drawable, pGC, 0, 0, width, height, 0, 0);
-+ bits = pixman_image_get_data (image);
++ fbCopyArea (pDraw, &pPixmap->drawable, pGC, 0, 0, width, height, 0, 0);
-- FreeScratchGC (pGC);
--
-- return &pPixmap->drawable;
-+ (*pScreen->GetImage) (pDraw,
-+ 0, 0, width, height, ZPixmap,
-+ ~0L,
-+ (pointer) bits);
-+
-+ return image;
- }
-
- static void
- destroy_drawable (pixman_image_t *image, void *data)
- {
- DrawablePtr pDrawable = data;
-- ScreenPtr pScreen = pDrawable->pScreen;
-
-- pScreen->DestroyPixmap ((PixmapPtr)pDrawable);
-+ if (!pDrawable)
-+ return;
-+
-+ pDrawable->pScreen->DestroyPixmap ((PixmapPtr)pDrawable);
- }
-
- static pixman_image_t *
-@@ -330,20 +317,23 @@ create_bits_picture (PicturePtr pict,
- DrawablePtr drawable;
-
- if (is_src && pict->pDrawable->type == DRAWABLE_WINDOW)
-- drawable = copy_drawable (pict->pDrawable);
-+ {
-+ image = image_from_window (pict->format, pict->pDrawable);
-+ }
- else
-+ {
- drawable = pict->pDrawable;
--
-- fbGetDrawable (drawable, bits, stride, bpp, xoff, yoff);
-
-- bits = (FbBits*)((CARD8*)bits +
-- (drawable->y + yoff) * stride * sizeof(FbBits) +
-- (drawable->x + xoff) * (bpp / 8));
-+ fbGetDrawable (drawable, bits, stride, bpp, xoff, yoff);
-
-- image = pixman_image_create_bits (
-- pict->format, drawable->width, drawable->height,
-- (uint32_t *)bits, stride * sizeof (FbStride));
--
-+ bits = (FbBits*)((CARD8*)bits +
-+ (drawable->y + yoff) * stride * sizeof(FbBits) +
-+ (drawable->x + xoff) * (bpp / 8));
-+
-+ image = pixman_image_create_bits (
-+ pict->format, drawable->width, drawable->height,
-+ (uint32_t *)bits, stride * sizeof (FbStride));
-+ }
+ FreeScratchGC (pGC);
- #ifdef FB_ACCESS_WRAPPER
- #if FB_SHIFT==5
--
-1.6.4.4
+1.6.5.1
- Previous message (by thread): rpms/iprutils/F-12 .cvsignore, 1.18, 1.19 iprutils-initscripts.patch, 1.4, 1.5 iprutils.spec, 1.40, 1.41 sources, 1.19, 1.20
- Next message (by thread): rpms/tcsh/devel tcsh-6.17.00-glob-automount.patch, 1.1, 1.2 tcsh.spec, 1.66, 1.67
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list