diff options
-rw-r--r-- | x11/libdrm/Makefile | 3 | ||||
-rw-r--r-- | x11/libdrm/distinfo | 4 | ||||
-rw-r--r-- | x11/libdrm/patches/patch-ad | 37 |
3 files changed, 25 insertions, 19 deletions
diff --git a/x11/libdrm/Makefile b/x11/libdrm/Makefile index 8aa7e1e7f00..3d8a7e6dd4e 100644 --- a/x11/libdrm/Makefile +++ b/x11/libdrm/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.44 2014/05/04 16:50:32 wiz Exp $ +# $NetBSD: Makefile,v 1.45 2014/07/20 08:29:27 wiz Exp $ DISTNAME= libdrm-2.4.54 +PKGREVISION= 1 CATEGORIES= x11 graphics MASTER_SITES= http://dri.freedesktop.org/libdrm/ EXTRACT_SUFX= .tar.bz2 diff --git a/x11/libdrm/distinfo b/x11/libdrm/distinfo index 4ebca1ad97c..ae5d562595f 100644 --- a/x11/libdrm/distinfo +++ b/x11/libdrm/distinfo @@ -1,11 +1,11 @@ -$NetBSD: distinfo,v 1.42 2014/05/04 16:50:32 wiz Exp $ +$NetBSD: distinfo,v 1.43 2014/07/20 08:29:27 wiz Exp $ SHA1 (libdrm-2.4.54.tar.bz2) = b73d69b42800755ed9dfd8aa9a906fe941cfbb7e RMD160 (libdrm-2.4.54.tar.bz2) = 260f57de82e65ff5677d6a08cfed608951f85634 Size (libdrm-2.4.54.tar.bz2) = 644930 bytes SHA1 (patch-ab) = 66dadd3244bfa9c69be0982fd2108deb94483de2 SHA1 (patch-ac) = 67c998df7dfc0dabc86320ea6d015cede3e464ea -SHA1 (patch-ad) = ea3ef8de8db782ddab23f182f1e6bd9d8f612a78 +SHA1 (patch-ad) = b9c8d708830c8b182c8e491fe5a9e5d0f2d44a5f SHA1 (patch-include_drm_drm.h) = d370e83da5c39f0e49094787c5f4580758c911b0 SHA1 (patch-libkms_linux.c) = 737d0a8e7b742ee9d24fec94c72de6b4915dd675 SHA1 (patch-libkms_vmwgfx.c) = 373390c7c33df27227607ee1b8110bc65ca37af6 diff --git a/x11/libdrm/patches/patch-ad b/x11/libdrm/patches/patch-ad index 8691bb26969..963028cf9a7 100644 --- a/x11/libdrm/patches/patch-ad +++ b/x11/libdrm/patches/patch-ad @@ -1,11 +1,22 @@ -$NetBSD: patch-ad,v 1.1 2010/04/19 18:46:15 tnn Exp $ +$NetBSD: patch-ad,v 1.2 2014/07/20 08:29:27 wiz Exp $ ---- xf86atomic.h.orig 2010-03-22 20:39:27.000000000 +0000 +Fix Solaris atomic_dec_and_test. +Add NetBSD atomic ops support. + +--- xf86atomic.h.orig 2010-05-18 17:00:43.000000000 +0000 +++ xf86atomic.h -@@ -92,6 +92,23 @@ typedef struct { uint_t atomic; } atomic - - #endif - +@@ -85,7 +85,24 @@ typedef struct { uint_t atomic; } atomic + # define atomic_read(x) (int) ((x)->atomic) + # define atomic_set(x, val) ((x)->atomic = (uint_t)(val)) + # define atomic_inc(x) (atomic_inc_uint (&(x)->atomic)) +-# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 1) ++# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 0) ++# define atomic_add(x, v) (atomic_add_int(&(x)->atomic, (v))) ++# define atomic_dec(x, v) (atomic_add_int(&(x)->atomic, -(v))) ++# define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv) ++ ++#endif ++ +#if defined(__NetBSD__) && !defined(HAS_ATOMIC_OPS) /* NetBSD */ + +#include <sys/atomic.h> @@ -16,13 +27,7 @@ $NetBSD: patch-ad,v 1.1 2010/04/19 18:46:15 tnn Exp $ +# define atomic_read(x) (int) ((x)->atomic) +# define atomic_set(x, val) ((x)->atomic = (val)) +# define atomic_inc(x) (atomic_inc_uint (&(x)->atomic)) -+# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 1) -+# define atomic_add(x, v) (atomic_add_int(&(x)->atomic, (v))) -+# define atomic_dec(x, v) (atomic_add_int(&(x)->atomic, -(v))) -+# define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv) -+ -+#endif -+ - #if ! HAS_ATOMIC_OPS - #error libdrm requires atomic operations, please define them for your CPU/compiler. - #endif ++# define atomic_dec_and_test(x) (atomic_dec_uint_nv(&(x)->atomic) == 0) + # define atomic_add(x, v) (atomic_add_int(&(x)->atomic, (v))) + # define atomic_dec(x, v) (atomic_add_int(&(x)->atomic, -(v))) + # define atomic_cmpxchg(x, oldv, newv) atomic_cas_uint (&(x)->atomic, oldv, newv) |