X Strike Force Xrender SVN commit: rev 50 - vendor
Author: branden
Date: 2003-10-06 22:28:58 -0500 (Mon, 06 Oct 2003)
New Revision: 50
Modified:
vendor/ChangeLog
vendor/Filter.c
vendor/Makefile.am
vendor/Makefile.in
vendor/Xrender.c
vendor/Xrenderint.h
vendor/aclocal.m4
vendor/config.h.in
vendor/configure
vendor/configure.ac
Log:
Import updates from Xrender 0.8.3.
Modified: vendor/ChangeLog
===================================================================
--- vendor/ChangeLog 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/ChangeLog 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,3 +1,24 @@
+2003-06-08 10:56 keithp
+
+ * Filter.c, Makefile.am, Xrender.c, Xrenderint.h, configure.ac:
+ Bail on bogus Xsun servers, compile with -DXTHREADS if necessary,
+ get rid of unecessary cast to XRenderInfo *
+
+2003-05-06 09:05 branden
+
+ * ChangeLog: Huh. Did Keith tag xrender-0_8_2 *before* running
+ cvs2cl? Running it again.
+
+2003-05-05 20:56 keithp
+
+ * ChangeLog: Update ChangeLog with spiffy cvs2cl script (thanks
+ Branden)
+
+2003-05-05 20:49 keithp
+
+ * configure.ac: Update version to 0.8.2, add some version-related
+ comments
+
2003-05-05 20:18 branden
* debian/: changelog, compat, control, copyright,
Modified: vendor/Filter.c
===================================================================
--- vendor/Filter.c 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/Filter.c 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,5 +1,5 @@
/*
- * $Id: Filter.c,v 1.3 2003/04/24 03:29:15 nlevitt Exp $
+ * $Id: Filter.c,v 1.4 2003/06/08 17:56:37 keithp Exp $
*
* Copyright � 2002 Keith Packard
*
@@ -43,7 +43,7 @@
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
if (xri->minor_version < 6)
return 0;
Modified: vendor/Makefile.am
===================================================================
--- vendor/Makefile.am 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/Makefile.am 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,5 +1,5 @@
#
-# $Id: Makefile.am,v 1.7 2003/05/03 20:00:16 keithp Exp $
+# $Id: Makefile.am,v 1.9 2003/06/10 00:03:33 nlevitt Exp $
#
# Copyright © 2003 Keith Packard, Noah Levitt
#
@@ -21,7 +21,7 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-AM_CFLAGS = $(RENDER_CFLAGS) $(X_CFLAGS)
+AM_CFLAGS = $(RENDER_CFLAGS) $(X_CFLAGS)
lib_LTLIBRARIES = libXrender.la
Modified: vendor/Makefile.in
===================================================================
--- vendor/Makefile.in 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/Makefile.in 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.7.3 from Makefile.am.
+# Makefile.in generated by automake 1.7.4 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
@@ -15,7 +15,7 @@
@SET_MAKE@
#
-# $Id: Makefile.am,v 1.7 2003/05/03 20:00:16 keithp Exp $
+# $Id: Makefile.am,v 1.9 2003/06/10 00:03:33 nlevitt Exp $
#
# Copyright © 2003 Keith Packard, Noah Levitt
#
@@ -148,7 +148,7 @@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-AM_CFLAGS = $(RENDER_CFLAGS) $(X_CFLAGS)
+AM_CFLAGS = $(RENDER_CFLAGS) $(X_CFLAGS)
lib_LTLIBRARIES = libXrender.la
@@ -317,7 +317,7 @@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -328,7 +328,7 @@
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
-@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -339,7 +339,7 @@
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
-@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@@ -542,7 +542,7 @@
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck:
- cd $(distuninstallcheck_dir) \
+ @cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
@@ -551,11 +551,11 @@
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
- if test '$(srcdir)' = . ; then \
+ @if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
- test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
Modified: vendor/Xrender.c
===================================================================
--- vendor/Xrender.c 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/Xrender.c 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,5 +1,5 @@
/*
- * $Id: Xrender.c,v 1.16 2003/04/24 03:29:15 nlevitt Exp $
+ * $Id: Xrender.c,v 1.17 2003/06/08 17:56:37 keithp Exp $
*
* Copyright © 2000 SuSE, Inc.
*
@@ -64,6 +64,42 @@
}
/*
+ * If the server is missing support for any of the required depths on
+ * any screen, tell the application that Render is not present.
+ */
+
+#define DEPTH_MASK(d) (1 << ((d) - 1))
+
+/*
+ * Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
+ */
+
+#define REQUIRED_DEPTHS (DEPTH_MASK(1) | \
+ DEPTH_MASK(4) | \
+ DEPTH_MASK(8) | \
+ DEPTH_MASK(24) | \
+ DEPTH_MASK(32))
+
+static Bool
+XRenderHasDepths (Display *dpy)
+{
+ int s;
+
+ for (s = 0; s < ScreenCount (dpy); s++)
+ {
+ CARD32 depths = 0;
+ Screen *scr = ScreenOfDisplay (dpy, s);
+ int d;
+
+ for (d = 0; d < scr->ndepths; d++)
+ depths |= DEPTH_MASK(scr->depths[d].depth);
+ if (~depths & REQUIRED_DEPTHS)
+ return False;
+ }
+ return True;
+}
+
+/*
* XRenderExtAddDisplay - add a display to this extension. (Replaces
* XextAddDisplay)
*/
@@ -77,9 +113,13 @@
dpyinfo = (XRenderExtDisplayInfo *) Xmalloc (sizeof (XRenderExtDisplayInfo));
if (!dpyinfo) return NULL;
dpyinfo->display = dpy;
- dpyinfo->data = NULL;
- dpyinfo->codes = XInitExtension (dpy, ext_name);
+ dpyinfo->info = NULL;
+ if (XRenderHasDepths (dpy))
+ dpyinfo->codes = XInitExtension (dpy, ext_name);
+ else
+ dpyinfo->codes = NULL;
+
/*
* if the server has the extension, then we can initialize the
* appropriate function vectors
@@ -171,7 +211,7 @@
XRenderCloseDisplay (Display *dpy, XExtCodes *codes)
{
XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
- if (info->data) XFree (info->data);
+ if (info->info) XFree (info->info);
return XRenderExtRemoveDisplay (&XRenderExtensionInfo, dpy);
}
@@ -209,7 +249,7 @@
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
*major_versionp = xri->major_version;
*minor_versionp = xri->minor_version;
return 1;
@@ -293,7 +333,7 @@
RenderCheckExtension (dpy, info, 0);
LockDisplay (dpy);
- if (info->data)
+ if (info->info)
{
UnlockDisplay (dpy);
return 1;
@@ -425,7 +465,7 @@
xSubpixel++;
screen++;
}
- info->data = (XPointer) xri;
+ info->info = xri;
/*
* Skip any extra data
*/
@@ -450,7 +490,7 @@
if (!XRenderQueryFormats (dpy))
return SubPixelUnknown;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
return xri->screen[screen].subpixel;
}
@@ -466,7 +506,7 @@
if (!XRenderQueryFormats (dpy))
return False;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
xri->screen[screen].subpixel = subpixel;
return True;
}
@@ -482,7 +522,7 @@
RenderCheckExtension (dpy, info, 0);
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
for (nv = 0, xrv = xri->visual; nv < xri->nvisual; nv++, xrv++)
if (xrv->visual == visual)
return xrv->format;
@@ -502,7 +542,7 @@
RenderCheckExtension (dpy, info, 0);
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
for (nf = 0; nf < xri->nformat; nf++)
{
if (mask & PictFormatID)
Modified: vendor/Xrenderint.h
===================================================================
--- vendor/Xrenderint.h 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/Xrenderint.h 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,5 +1,5 @@
/*
- * $Id: Xrenderint.h,v 1.11 2003/05/06 02:06:41 keithp Exp $
+ * $Id: Xrenderint.h,v 1.13 2003/06/10 00:08:32 keithp Exp $
*
* Copyright © 2000 SuSE, Inc.
*
@@ -26,6 +26,7 @@
#ifndef _XRENDERINT_H_
#define _XRENDERINT_H_
+#include "config.h"
#define NEED_EVENTS
#define NEED_REPLIES
#include <X11/Xlibint.h>
@@ -75,7 +76,7 @@
struct _XRenderExtDisplayInfo *next; /* keep a linked list */
Display *display; /* which display this is */
XExtCodes *codes; /* the extension protocol codes */
- XPointer data; /* extra data for the extension to use */
+ XRenderInfo *info; /* extra data for the extension to use */
} XRenderExtDisplayInfo;
/* replaces XExtensionInfo */
Modified: vendor/aclocal.m4
===================================================================
--- vendor/aclocal.m4 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/aclocal.m4 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.7.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.7.4 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
@@ -16,7 +16,7 @@
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -34,15 +34,8 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-# serial 9
+# serial 10
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
AC_PREREQ([2.54])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
@@ -170,7 +163,7 @@
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.7.3])])
+ [AM_AUTOMAKE_VERSION([1.7.4])])
# Helper functions for option handling. -*- Autoconf -*-
@@ -4188,7 +4181,7 @@
# This must be Linux ELF.
linux-gnu*)
case $host_cpu in
- alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
+ alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64* | arm* | m68k)
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
Modified: vendor/config.h.in
===================================================================
--- vendor/config.h.in 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/config.h.in 2003-10-07 03:28:58 UTC (rev 50)
@@ -63,5 +63,8 @@
/* Version number of package */
#undef VERSION
+/* Define if Xlib supports XTHREADS */
+#undef XTHREADS
+
/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
Modified: vendor/configure
===================================================================
--- vendor/configure 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/configure 2003-10-07 03:28:58 UTC (rev 50)
@@ -1713,7 +1713,7 @@
# Define the identity of the package.
PACKAGE=xrender
- VERSION=0.8.2
+ VERSION=0.8.3
cat >>confdefs.h <<_ACEOF
@@ -2612,12 +2612,12 @@
(exit $ac_status); }; }; then
for ac_declaration in \
''\
- '#include <stdlib.h>' \
'extern "C" void std::exit (int) throw (); using std::exit;' \
'extern "C" void std::exit (int); using std::exit;' \
'extern "C" void exit (int) throw ();' \
'extern "C" void exit (int);' \
- 'void exit (int);'
+ 'void exit (int);' \
+ '#include <stdlib.h>'
do
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
@@ -3342,7 +3342,7 @@
# This must be Linux ELF.
linux-gnu*)
case $host_cpu in
- alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*)
+ alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64* | arm* | m68k)
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
@@ -8971,6 +8971,74 @@
{ (exit 1); exit 1; }; }
fi
+# Check for XTHREADS
+
+
+
+
+save_LIBS="$LIBS"
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $X_CFLAGS"
+LIBS="$LIBS $X_LIBS -lX11"
+
+echo "$as_me:$LINENO: checking for XTHREADS in Xlib" >&5
+echo $ECHO_N "checking for XTHREADS in Xlib... $ECHO_C" >&6
+if test "$cross_compiling" = yes; then
+ xthreads=yes
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <X11/Xlib.h>
+int
+main ()
+{
+return XInitThreads() == 0 ? 0 : 1;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ xthreads=no
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+xthreads=yes
+fi
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+echo "$as_me:$LINENO: result: $xthreads" >&5
+echo "${ECHO_T}$xthreads" >&6
+
+LIBS="$save_LIBS"
+CFLAGS="$save_CFLAGS"
+
+if test "x$xthreads" = "xyes"
+then
+ cat >>confdefs.h <<\_ACEOF
+#define XTHREADS 1
+_ACEOF
+
+fi
+
# Check render configuration, strip extra digits from package version to
# find the required protocol version
Modified: vendor/configure.ac
===================================================================
--- vendor/configure.ac 2003-10-07 03:21:44 UTC (rev 49)
+++ vendor/configure.ac 2003-10-07 03:28:58 UTC (rev 50)
@@ -1,5 +1,5 @@
dnl
-dnl $Id: configure.ac,v 1.9 2003/05/06 03:49:18 keithp Exp $
+dnl $Id: configure.ac,v 1.12 2003/06/10 00:03:33 nlevitt Exp $
dnl
dnl Copyright © 2003 Keith Packard, Noah Levitt
dnl
@@ -33,7 +33,7 @@
dnl digit in the version number to track changes which don't affect the
dnl protocol, so Xrender version l.n.m corresponds to protocol version l.n
dnl
-AM_INIT_AUTOMAKE(xrender, 0.8.2)
+AM_INIT_AUTOMAKE(xrender, 0.8.3)
AM_CONFIG_HEADER(config.h)
# Check for progs
@@ -48,6 +48,33 @@
AC_MSG_ERROR([X is required, but it was either disabled or not found.])
fi
+# Check for XTHREADS
+
+AH_TEMPLATE([XTHREADS], [Define if Xlib supports XTHREADS])
+
+save_LIBS="$LIBS"
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $X_CFLAGS"
+LIBS="$LIBS $X_LIBS -lX11"
+
+AC_MSG_CHECKING([for XTHREADS in Xlib])
+AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([[#include <X11/Xlib.h>]],
+ [[return XInitThreads() == 0 ? 0 : 1;]])],
+ [xthreads=no],
+ [xthreads=yes],
+ [xthreads=yes])
+
+AC_MSG_RESULT($xthreads)
+
+LIBS="$save_LIBS"
+CFLAGS="$save_CFLAGS"
+
+if test "x$xthreads" = "xyes"
+then
+ AC_DEFINE(XTHREADS, 1)
+fi
+
# Check render configuration, strip extra digits from package version to
# find the required protocol version
Reply to: