[xorg-x11-drv-ati/f17] radeon-no-ums.patch: Disable UMS support entirely. Just Say No.™

Adam Jackson ajax at fedoraproject.org
Wed Mar 28 20:08:13 UTC 2012


commit 97b64f08bfa3a346952739308b1706ef53c50903
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Mar 28 16:08:10 2012 -0400

    radeon-no-ums.patch: Disable UMS support entirely. Just Say No.™
    
    - radeon-new-list-api.patch: Handle new xserver list API.

 radeon-new-list-api.patch |  118 +++++++++++++++++++++++++++++++++++++++++++++
 xorg-x11-drv-ati.spec     |    3 +
 2 files changed, 121 insertions(+), 0 deletions(-)
---
diff --git a/radeon-new-list-api.patch b/radeon-new-list-api.patch
new file mode 100644
index 0000000..43fa945
--- /dev/null
+++ b/radeon-new-list-api.patch
@@ -0,0 +1,118 @@
+From c66ae235700f5efe64eb168327551b8f1d153c9c Mon Sep 17 00:00:00 2001
+From: Michel Dänzer <michel.daenzer at amd.com>
+Date: Mon, 13 Feb 2012 09:43:58 +0000
+Subject: Handle new xorg_list API.
+
+Fixes https://bugs.freedesktop.org/show_bug.cgi?id=45937
+
+Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
+---
+diff --git a/configure.ac b/configure.ac
+index 29f129a..0083325 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -234,10 +234,18 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ 	      [#include "xorg-server.h"])
+ 
+ AC_CHECK_HEADERS([list.h],
+-		 [], [],
++		 [have_list_h="yes"], [have_list_h="no"],
+ 		 [#include <X11/Xdefs.h>
+ 		  #include "xorg-server.h"])
+ 
++if test "x$have_list_h" = xyes; then
++    AC_CHECK_DECL(xorg_list_init,
++		  [AC_DEFINE(HAVE_XORG_LIST, 1, [Have xorg_list API])], [],
++		  [#include <X11/Xdefs.h>
++		   #include "xorg-server.h"
++		   #include "list.h"])
++fi
++
+ CPPFLAGS="$SAVE_CPPFLAGS"
+ 
+ AM_CONDITIONAL(USE_EXA, test "x$USE_EXA" = xyes)
+diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
+index 835575f..cf905a1 100644
+--- a/src/radeon_dri2.c
++++ b/src/radeon_dri2.c
+@@ -40,6 +40,13 @@
+ 
+ #if HAVE_LIST_H
+ #include "list.h"
++#if !HAVE_XORG_LIST
++#define xorg_list			list
++#define xorg_list_init			list_init
++#define xorg_list_add			list_add
++#define xorg_list_del			list_del
++#define xorg_list_for_each_entry	list_for_each_entry
++#endif
+ #endif
+ 
+ #ifdef RADEON_DRI2
+@@ -515,11 +522,11 @@ typedef struct _DRI2FrameEvent {
+ 
+     Bool valid;
+ 
+-    struct list link;
++    struct xorg_list link;
+ } DRI2FrameEventRec, *DRI2FrameEventPtr;
+ 
+ typedef struct _DRI2ClientEvents {
+-    struct list   reference_list;
++    struct xorg_list   reference_list;
+ } DRI2ClientEventsRec, *DRI2ClientEventsPtr;
+ 
+ #if HAS_DEVPRIVATEKEYREC
+@@ -538,7 +545,7 @@ DevPrivateKey DRI2ClientEventsPrivateKey = &DRI2ClientEventsPrivateKeyIndex;
+     dixLookupPrivate(&(pClient)->devPrivates, DRI2ClientEventsPrivateKey))
+ 
+ static int
+-ListAddDRI2ClientEvents(ClientPtr client, struct list *entry)
++ListAddDRI2ClientEvents(ClientPtr client, struct xorg_list *entry)
+ {
+     DRI2ClientEventsPtr pClientPriv;
+     pClientPriv = GetDRI2ClientEvents(client);
+@@ -547,12 +554,12 @@ ListAddDRI2ClientEvents(ClientPtr client, struct list *entry)
+         return BadAlloc;
+     }
+ 
+-    list_add(entry, &pClientPriv->reference_list);
++    xorg_list_add(entry, &pClientPriv->reference_list);
+     return 0;
+ }
+ 
+ static void
+-ListDelDRI2ClientEvents(ClientPtr client, struct list *entry)
++ListDelDRI2ClientEvents(ClientPtr client, struct xorg_list *entry)
+ {
+     DRI2ClientEventsPtr pClientPriv;
+     pClientPriv = GetDRI2ClientEvents(client);
+@@ -560,7 +567,7 @@ ListDelDRI2ClientEvents(ClientPtr client, struct list *entry)
+     if (!pClientPriv) {
+         return;
+     }
+-    list_del(entry);
++    xorg_list_del(entry);
+ }
+ 
+ static void
+@@ -574,7 +581,7 @@ radeon_dri2_client_state_changed(CallbackListPtr *ClientStateCallback, pointer d
+ 
+     switch (pClient->clientState) {
+     case ClientStateInitial:
+-        list_init(&pClientEventsPriv->reference_list);
++        xorg_list_init(&pClientEventsPriv->reference_list);
+         break;
+     case ClientStateRunning:
+         break;
+@@ -582,7 +589,7 @@ radeon_dri2_client_state_changed(CallbackListPtr *ClientStateCallback, pointer d
+     case ClientStateRetained:
+     case ClientStateGone:
+         if (pClientEventsPriv) {
+-            list_for_each_entry(ref, &pClientEventsPriv->reference_list, link) {
++            xorg_list_for_each_entry(ref, &pClientEventsPriv->reference_list, link) {
+                 ref->valid = FALSE;
+             }
+         }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/xorg-x11-drv-ati.spec b/xorg-x11-drv-ati.spec
index c8f5c40..03ec1fb 100644
--- a/xorg-x11-drv-ati.spec
+++ b/xorg-x11-drv-ati.spec
@@ -23,6 +23,7 @@ Patch6:     radeon-6.9.0-bgnr-enable.patch
 Patch10:    radeon-6.12.2-lvds-default-modes.patch
 Patch13:    fix-default-modes.patch
 Patch14:    radeon-no-ums.patch
+Patch15:    radeon-new-list-api.patch
 
 ExcludeArch: s390 s390x
 
@@ -46,6 +47,7 @@ X.Org X11 ati video driver.
 %patch10 -p1 -b .lvds
 %patch13 -p1 -b .def
 %patch14 -p1 -b .no-ums
+%patch15 -p1 -b .list
 
 %build
 autoreconf -iv
@@ -75,6 +77,7 @@ rm -rf $RPM_BUILD_ROOT
 %changelog
 * Wed Mar 28 2012 Adam Jackson <ajax at redhat.com> 6.14.3-12
 - radeon-no-ums.patch: Disable UMS support entirely. Just Say No.™
+- radeon-new-list-api.patch: Handle new xserver list API.
 
 * Mon Mar 05 2012 Adam Jackson <ajax at redhat.com> 6.14.3-11
 - Don't package UMS theatre support


More information about the scm-commits mailing list