xserver: Branch 'server-1.10-branch' - 3 commits
Jeremy Huddleston
jeremyhu at kemper.freedesktop.org
Fri Feb 10 15:52:01 PST 2012
configure.ac | 13 -------
doc/xml/dtrace/Xserver-DTrace.xml | 14 ++++----
fb/fbpict.c | 4 +-
os/Makefile.am | 17 +++-------
render/mipict.c | 62 +++++++++-----------------------------
render/mipict.h | 7 +---
6 files changed, 31 insertions(+), 86 deletions(-)
New commits:
commit c632a678b804ff29cfca20a3d7388d65504445c9
Author: Alan Coopersmith <alan.coopersmith at oracle.com>
Date: Thu Sep 1 16:48:37 2011 -0700
Assign ids to more tags in Xserver-Dtrace.xml
Keeps xsltproc from adding random-number id tags to html output so that
it's easier to see real changes vs. different random numbers.
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
Reviewed-by: Matt Dew <marcoz at osource.org>
(cherry picked from commit 58d3d46d6cc0d7a81db6bad61d158f3b9af8af71)
diff --git a/doc/xml/dtrace/Xserver-DTrace.xml b/doc/xml/dtrace/Xserver-DTrace.xml
index 290f0d3..34368d5 100644
--- a/doc/xml/dtrace/Xserver-DTrace.xml
+++ b/doc/xml/dtrace/Xserver-DTrace.xml
@@ -15,7 +15,7 @@
</affiliation>
</author>
<releaseinfo>X.Org Xserver version &xserver.version;</releaseinfo>
- <legalnotice>
+ <legalnotice id="copyright">
<para>
Copyright (c) 2005, 2006, 2007, 2010, Oracle and/or its affiliates.
All rights reserved.
@@ -79,7 +79,7 @@ DEALINGS IN THE SOFTWARE.
<parameter>arg2</parameter>, etc. These tables should help you
determine what the real data is for each of the probe arguments.
- <table>
+ <table id="Probes_and_their_arguments">
<title>Probes and their arguments</title>
<tgroup cols='7'>
<colspec colname="probe" colwidth="2*"/>
@@ -195,7 +195,7 @@ DEALINGS IN THE SOFTWARE.
To access data buffers referenced via <type>uintptr_t</type>'s, you will
need to use <ulink url="http://wikis.sun.com/display/DTrace/Actions+and+Subroutines#ActionsandSubroutines-{{copyin}}"><function>copyin()</function></ulink>.
- <table>
+ <table id="Probe_Arguments">
<title>Probe Arguments</title>
<tgroup cols='3'>
<colspec colname="arg" colwidth="2*"/>
@@ -313,7 +313,7 @@ DEALINGS IN THE SOFTWARE.
<sect1 id="examples">
<title>Examples</title>
- <example>
+ <example id="Counting_requests_by_request_name">
<title>Counting requests by request name</title>
<para>
@@ -370,7 +370,7 @@ Xserver*:::request-start
</para>
</example>
- <example>
+ <example id="Get_average_CPU_time_per_request">
<title>Get average CPU time per request</title>
<para>This script records the CPU time used between the probes at
@@ -419,7 +419,7 @@ Xserver*:::request-done
</para>
</example>
- <example>
+ <example id="Monitoring_clients_that_connect_and_disconnect">
<title>Monitoring clients that connect and disconnect</title>
<para>
@@ -476,7 +476,7 @@ CPU ID FUNCTION:NAME
</para>
</example>
- <example>
+ <example id="Monitoring_clients_creating_Pixmaps">
<title>Monitoring clients creating Pixmaps</title>
<para>
commit 8e19cee3c16ed739380e4b79896a7d756d98c050
Author: Rami Ylimäki <rami.ylimaki at vincit.fi>
Date: Tue Jun 15 14:44:38 2010 +0200
Revert "os: Prevent backtrace from being stopped in noreturn functions."
This reverts commit 579715f830fbbca9e1ecb17dc18176132f5969e7.
The patch is not needed anymore. I haven't encountered backtrace
problems with GCC 4.3.3. Even if the problems still persisted, this
commit should be removed and instead the definition of _X_NORETURN
should be modified to be empty if GCC/ARM is used. However, currently
it seems that ARM backtraces are OK even if _X_NORETURN is used and
-mapcs-frame is not defined in CFLAGS.
Signed-off-by: Rami Ylimäki <rami.ylimaki at vincit.fi>
Reviewed-by: Jamey Sharp <jamey at minilop.net>
(cherry picked from commit 2b364bf970b2ce6829af656990c33afd0d365f3c)
diff --git a/configure.ac b/configure.ac
index 455c3db..d098bff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -312,19 +312,6 @@ AC_CHECK_HEADER([execinfo.h],[
])]
)
-dnl ARM needs additional compiler flags for proper backtraces if GCC is
-dnl used. Compile a dummy program with the -mapcs-frame option. If it
-dnl succeeds, we know that we are building for ARM with GCC.
-old_CFLAGS="$CFLAGS"
-CFLAGS="-mapcs-frame"
-AC_COMPILE_IFELSE(
- AC_LANG_PROGRAM([[ ]]),
- ARM_BACKTRACE_CFLAGS="$CFLAGS",
- ARM_BACKTRACE_CFLAGS=""
-)
-CFLAGS="$old_CFLAGS"
-AC_SUBST(ARM_BACKTRACE_CFLAGS)
-
dnl ---------------------------------------------------------------------------
dnl Bus options and CPU capabilities. Replaces logic in
dnl hw/xfree86/os-support/bus/Makefile.am, among others.
diff --git a/os/Makefile.am b/os/Makefile.am
index 3e4f2c5..66a4a0f 100644
--- a/os/Makefile.am
+++ b/os/Makefile.am
@@ -1,19 +1,11 @@
-noinst_LTLIBRARIES = libos.la liblog.la
+noinst_LTLIBRARIES = libos.la
AM_CFLAGS = $(DIX_CFLAGS) $(SHA1_CFLAGS)
SECURERPC_SRCS = rpcauth.c
XDMCP_SRCS = xdmcp.c
STRLCAT_SRCS = strlcat.c strlcpy.c
-
-# Build a convenience library liblog.la that will be added into
-# libos.la. The split is done so that log.c can be built with
-# different compiler options.
-liblog_la_SOURCES = log.c
-# Add flags needed for proper backtraces of functions marked with GCC
-# __attribute__((noreturn)). Currently those flags are needed for
-# FatalError and AbortServer in log.c.
-liblog_la_CFLAGS = $(AM_CFLAGS) $(ARM_BACKTRACE_CFLAGS)
+XORG_SRCS = log.c
libos_la_SOURCES = \
WaitFor.c \
@@ -32,8 +24,9 @@ libos_la_SOURCES = \
xdmauth.c \
xsha1.c \
xstrans.c \
- xprintf.c
-libos_la_LIBADD = @SHA1_LIBS@ $(DLOPEN_LIBS) liblog.la
+ xprintf.c \
+ $(XORG_SRCS)
+libos_la_LIBADD = @SHA1_LIBS@ $(DLOPEN_LIBS)
if SECURE_RPC
libos_la_SOURCES += $(SECURERPC_SRCS)
commit 4975887a30a2c8f1bbba9127eee17f7099c3ecd1
Author: Søren Sandmann Pedersen <ssp at redhat.com>
Date: Wed Mar 9 13:57:25 2011 -0500
Remove geometry arguments from miSourceValidate()
The only user of the geometry coordinates is the software sprite code,
which uses them to remove the pointer whenever the window beneath is
being used as a source. However, using Window pictures as a source is
extremely rare (let alone *partial* windows), so there is no harm done
in just validating all of the drawable.
Additionally, the miSourceValidate() function was buggy in at least
three respects:
(a) It added drawable->{x,y} before calling down, which is wrong since
the misprite code already adds them in its check. (Alternatively,
the misprite code is wrong, but there are actual users who would
notice if that code was broken).
(b) It didn't account for the width of the interpolation filter, so if
the Picture had a bilinear or convolution filter, the edges
surrounding the source area would not be validated.
(c) It didn't validate alpha maps.
Finally, computing the bounding box of the transform on every
composite request was a real performance issue in pixman, so
presumably it could be one here as well.
This patch changes miSourceValidate() to simply validate all of the
underlying drawable.
Reviewed-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Keith Packard <keithp at keithp.com>
Signed-off-by: Soren Sandmann <ssp at redhat.com>
(cherry picked from commit 57b35adaed112520c3b3b2fbad13cf5a91cd6652)
diff --git a/fb/fbpict.c b/fb/fbpict.c
index d438cdc..471f7e3 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
@@ -54,9 +54,9 @@ fbComposite (CARD8 op,
int msk_xoff, msk_yoff;
int dst_xoff, dst_yoff;
- miCompositeSourceValidate (pSrc, xSrc - xDst, ySrc - yDst, width, height);
+ miCompositeSourceValidate (pSrc);
if (pMask)
- miCompositeSourceValidate (pMask, xMask - xDst, yMask - yDst, width, height);
+ miCompositeSourceValidate (pMask);
src = image_from_pict (pSrc, FALSE, &src_xoff, &src_yoff);
mask = image_from_pict (pMask, FALSE, &msk_xoff, &msk_yoff);
diff --git a/render/mipict.c b/render/mipict.c
index de5eea6..2159ebe 100644
--- a/render/mipict.c
+++ b/render/mipict.c
@@ -333,12 +333,8 @@ miClipPictureSrc (RegionPtr pRegion,
return TRUE;
}
-void
-miCompositeSourceValidate (PicturePtr pPicture,
- INT16 x,
- INT16 y,
- CARD16 width,
- CARD16 height)
+static void
+SourceValidateOnePicture (PicturePtr pPicture)
{
DrawablePtr pDrawable = pPicture->pDrawable;
ScreenPtr pScreen;
@@ -347,50 +343,22 @@ miCompositeSourceValidate (PicturePtr pPicture,
return;
pScreen = pDrawable->pScreen;
-
+
if (pScreen->SourceValidate)
{
- if (pPicture->transform)
- {
- xPoint points[4];
- int i;
- int xmin, ymin, xmax, ymax;
-
-#define VectorSet(i,_x,_y) { points[i].x = _x; points[i].y = _y; }
- VectorSet (0, x, y);
- VectorSet (1, x + width, y);
- VectorSet (2, x, y + height);
- VectorSet (3, x + width, y + height);
- xmin = ymin = 32767;
- xmax = ymax = -32737;
- for (i = 0; i < 4; i++)
- {
- PictVector t;
- t.vector[0] = IntToxFixed (points[i].x);
- t.vector[1] = IntToxFixed (points[i].y);
- t.vector[2] = xFixed1;
- if (pixman_transform_point (pPicture->transform, &t))
- {
- int tx = xFixedToInt (t.vector[0]);
- int ty = xFixedToInt (t.vector[1]);
- if (tx < xmin) xmin = tx;
- if (tx > xmax) xmax = tx;
- if (ty < ymin) ymin = ty;
- if (ty > ymax) ymax = ty;
- }
- }
- x = xmin;
- y = ymin;
- width = xmax - xmin;
- height = ymax - ymin;
- }
- x += pPicture->pDrawable->x;
- y += pPicture->pDrawable->y;
- (*pScreen->SourceValidate) (pDrawable, x, y, width, height,
- pPicture->subWindowMode);
+ pScreen->SourceValidate (
+ pDrawable, 0, 0, pDrawable->width, pDrawable->height, pPicture->subWindowMode);
}
}
+void
+miCompositeSourceValidate (PicturePtr pPicture)
+{
+ SourceValidateOnePicture (pPicture);
+ if (pPicture->alphaMap)
+ SourceValidateOnePicture (pPicture->alphaMap);
+}
+
/*
* returns FALSE if the final region is empty. Indistinguishable from
* an allocation failure, but rendering ignores those anyways.
@@ -480,9 +448,9 @@ miComputeCompositeRegion (RegionPtr pRegion,
}
- miCompositeSourceValidate (pSrc, xSrc, ySrc, width, height);
+ miCompositeSourceValidate (pSrc);
if (pMask)
- miCompositeSourceValidate (pMask, xMask, yMask, width, height);
+ miCompositeSourceValidate (pMask);
return TRUE;
}
diff --git a/render/mipict.h b/render/mipict.h
index eb6b664..4f5b3ba 100644
--- a/render/mipict.h
+++ b/render/mipict.h
@@ -81,11 +81,8 @@ miChangePictureFilter (PicturePtr pPicture,
int nparams);
extern _X_EXPORT void
-miCompositeSourceValidate (PicturePtr pPicture,
- INT16 x,
- INT16 y,
- CARD16 width,
- CARD16 height);
+miCompositeSourceValidate (PicturePtr pPicture);
+
extern _X_EXPORT Bool
miComputeCompositeRegion (RegionPtr pRegion,
PicturePtr pSrc,
More information about the xorg-commit
mailing list