rpms/xorg-x11-server/F-11 xserver-1.6.1-exa-create-pixmap2.patch, NONE, 1.1 xorg-x11-server.spec, 1.439, 1.440

Dave Airlie airlied at fedoraproject.org
Thu Apr 23 02:10:54 UTC 2009


Author: airlied

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

Modified Files:
	xorg-x11-server.spec 
Added Files:
	xserver-1.6.1-exa-create-pixmap2.patch 
Log Message:
* Thu Apr 23 2009 Dave Airlie <airlied at redhat.com> 1.6.1-8
- xserver-1.6.1-exa-create-pixmap2.patch - add support for tiling create
  pixmap hook - need to fix firefox on ati rs690 crashes


xserver-1.6.1-exa-create-pixmap2.patch:

--- NEW FILE xserver-1.6.1-exa-create-pixmap2.patch ---
>From f270ca8e1788453babe292bf2e67d3d30459effa Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied at redhat.com>
Date: Thu, 23 Apr 2009 12:02:22 +1000
Subject: [PATCH] exa: add support for tiling to create pixmap hooks

This adds support for passing w/h/d info to the pixmap creation
hook in the driver so they can support tiling better.
---
 exa/exa.c |   11 +++++++----
 exa/exa.h |    4 +++-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/exa/exa.c b/exa/exa.c
index 9b7091d..9e284a4 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -285,7 +285,7 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
     if (w > 32767 || h > 32767)
 	return NullPixmap;
 
-    if (!pExaScr->info->CreatePixmap) {
+    if (!pExaScr->info->CreatePixmap && !pExaScr->info->CreatePixmap2) {
         pPixmap = fbCreatePixmap (pScreen, w, h, depth, usage_hint);
     } else {
         driver_alloc = 1;
@@ -319,7 +319,10 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
 	 */
 	pPixmap->devPrivate.ptr = NULL;
 
-        pExaPixmap->driverPriv = pExaScr->info->CreatePixmap(pScreen, datasize, 0);
+	if (pExaScr->info->CreatePixmap2)
+		pExaPixmap->driverPriv = pExaScr->info->CreatePixmap2(pScreen, w, h, depth, usage_hint, bpp);
+	else
+		pExaPixmap->driverPriv = pExaScr->info->CreatePixmap(pScreen, datasize, 0);
         if (!pExaPixmap->driverPriv) {
              fbDestroyPixmap(pPixmap);
              return NULL;
@@ -964,7 +967,7 @@ exaDriverInit (ScreenPtr		pScreen,
 
 	pExaScr->SavedModifyPixmapHeader = pScreen->ModifyPixmapHeader;
 	pScreen->ModifyPixmapHeader = exaModifyPixmapHeader;
-	if (!pExaScr->info->CreatePixmap) {
+        if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS)) {
 	    LogMessage(X_INFO, "EXA(%d): Offscreen pixmap area of %lu bytes\n",
 		       pScreen->myNum,
 		       pExaScr->info->memorySize - pExaScr->info->offScreenBase);
@@ -977,7 +980,7 @@ exaDriverInit (ScreenPtr		pScreen,
     else
         LogMessage(X_INFO, "EXA(%d): No offscreen pixmaps\n", pScreen->myNum);
 
-    if (!pExaScr->info->CreatePixmap) {
+    if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS)) {
 	DBG_PIXMAP(("============== %ld < %ld\n", pExaScr->info->offScreenBase,
 		    pExaScr->info->memorySize));
 	if (pExaScr->info->offScreenBase < pExaScr->info->memorySize) {
diff --git a/exa/exa.h b/exa/exa.h
index 5982e1a..d14b02d 100644
--- a/exa/exa.h
+++ b/exa/exa.h
@@ -39,7 +39,7 @@
 #include "fb.h"
 
 #define EXA_VERSION_MAJOR   2
-#define EXA_VERSION_MINOR   4
+#define EXA_VERSION_MINOR   5
 #define EXA_VERSION_RELEASE 0
 
 typedef struct _ExaOffscreenArea ExaOffscreenArea;
@@ -711,6 +711,8 @@ typedef struct _ExaDriver {
                               int depth, int bitsPerPixel, int devKind,
                               pointer pPixData);
 
+    void *(*CreatePixmap2)(ScreenPtr pScreen, int width, int height,
+			   int depth, int usage_hint, int bitsPerPixel);
     /** @} */
 } ExaDriverRec, *ExaDriverPtr;
 
-- 
1.6.0.6



Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-11/xorg-x11-server.spec,v
retrieving revision 1.439
retrieving revision 1.440
diff -u -r1.439 -r1.440
--- xorg-x11-server.spec	22 Apr 2009 14:51:25 -0000	1.439
+++ xorg-x11-server.spec	23 Apr 2009 02:10:23 -0000	1.440
@@ -19,7 +19,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.6.1
-Release:   7%{?dist}
+Release:   8%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -109,6 +109,7 @@
 
 # Nominated for 1.6.2
 Patch6033: xserver-1.6.1-activate-device.patch
+Patch6034: xserver-1.6.1-exa-create-pixmap2.patch
 
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
@@ -542,6 +543,10 @@
 
 
 %changelog
+* Thu Apr 23 2009 Dave Airlie <airlied at redhat.com> 1.6.1-8
+- xserver-1.6.1-exa-create-pixmap2.patch - add support for tiling create
+  pixmap hook - need to fix firefox on ati rs690 crashes
+
 * Wed Apr 22 2009 Adam Jackson <ajax at redhat.com> 1.6.1-7
 - Conflict with too-old versions of xorg-x11-drivers. (#497144)
 




More information about the fedora-extras-commits mailing list