X Strike Force Render SVN commit: r49 - in trunk: . debian
Author: branden
Date: 2005-06-16 11:42:41 -0500 (Thu, 16 Jun 2005)
New Revision: 49
Removed:
trunk/AUTHORS
trunk/NEWS
Modified:
trunk/ChangeLog
trunk/autogen.sh
trunk/configure.ac
trunk/debian/changelog
trunk/debian/copyright
trunk/protocol
trunk/render.h
trunk/renderproto.h
Log:
Revert revisions 47 and 48, because:
1) a new upstream release hadn't actually been made yet at the time, and
more importantly;
2) new upstream releases need to show up on the vendor branch first,
be tagged, and *then* copied to trunk.
Deleted: trunk/AUTHORS
===================================================================
--- trunk/AUTHORS 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/AUTHORS 2005-06-16 16:42:41 UTC (rev 49)
@@ -1 +0,0 @@
-Keith Packard while at HP Cambridge Research Laboratory, and SuSE, Inc.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/ChangeLog 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,31 +1,3 @@
-2004-07-29 Keith Packard <keithp@keithp.com>
-
- * configure.ac:
- * protocol:
- * render.h:
- * renderproto.h:
- Specify new AddTraps request.
- Change pixelization specification.
-
-2004-07-03 Eric Anholt <anholt@FreeBSD.org>
-
- * render.h:
- Bugzilla #635: Correct the definition of CPLastBit to account for
- ComponentAlpha, which may fix behavior of an X server's
- SetPictureToDefaults.
-
-2004-02-03 Jim Gettys <jg@freedesktop.org>
-
- * Add AUTHOR file.
-
-2004-01-15 Daniel Stone <daniel@fooishbar.org>
- * Tag release 0.8 for first freedesktop.org clientside lib release.
-
-2003-11-09 Eric Anholt <anholt@FreeBSD.org>
-
- * configure.ac:
- Rename dist to renderext
-
2003-04-21 Keith Packard <keithp@keithp.com>
+ Added ChangeLog
Deleted: trunk/NEWS
===================================================================
Modified: trunk/autogen.sh
===================================================================
--- trunk/autogen.sh 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/autogen.sh 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,12 +1,50 @@
#! /bin/sh
+#
+# $Id: autogen.sh,v 1.1 2003/04/17 18:17:05 nlevitt Exp $
+#
+# runs autotools to create ./configure and friends
+#
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
+PROJECT=Render
-ORIGDIR=`pwd`
-cd $srcdir
+srcdir=`dirname "$0"`
+test -z $srcdir && srcdir=.
-autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
+origdir=`pwd`
+cd "$srcdir"
-$srcdir/configure --enable-maintainer-mode "$@"
+if test -z "$AUTOGEN_SUBDIR_MODE" && test -z "$*"
+then
+ echo "I am going to run ./configure with no arguments - if you wish "
+ echo "to pass any to it, please specify them on the $0 command line."
+fi
+
+# Use the versioned executables if available.
+aclocal=aclocal-1.7
+automake=automake-1.7
+$aclocal --version </dev/null >/dev/null 2>&1 || aclocal=aclocal
+$automake --version </dev/null >/dev/null 2>&1 || automake=automake
+
+
+rm -f config.guess config.sub depcomp install-sh missing mkinstalldirs
+rm -f config.cache acconfig.h
+rm -rf autom4te.cache
+
+set_option=':'
+test -n "${BASH_VERSION+set}" && set_option='set'
+
+$set_option -x
+
+$aclocal $ACLOCAL_FLAGS || exit 1
+$automake --foreign --add-missing --copy || exit 1
+autoconf || exit 1
+cd "$origdir" || exit 1
+
+if test -z "$AUTOGEN_SUBDIR_MODE"
+then
+ "$srcdir/configure" "$@" || exit 1
+ $set_option +x
+fi
+
+exit 0
+
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/configure.ac 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,5 +1,5 @@
dnl
-dnl $Id: configure.ac,v 1.4 2004/07/29 07:58:03 keithp Exp $
+dnl $Id: configure.ac,v 1.1 2003/04/17 18:16:03 nlevitt Exp $
dnl
dnl Copyright © 2003 Keith Packard, Noah Levitt
dnl
@@ -23,10 +23,9 @@
dnl
dnl Process this file with autoconf to create configure.
-AC_PREREQ([2.57])
-AC_INIT([renderext], [0.9], [keithp@keithp.com], [renderext])
-AM_INIT_AUTOMAKE([dist-bzip2])
-AM_MAINTAINER_MODE
+AC_PREREQ([2.50])
+AC_INIT([render], [0.8])
+AM_INIT_AUTOMAKE(render, 0.8)
AC_OUTPUT([Makefile
render.pc])
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/debian/changelog 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,10 +1,3 @@
-render (1:0.9-1) UNRELEASED; urgency=low
-
- * New upstream release
- * Update debian/copyright to show correct upstream URL
-
- -- David Nusinow <dnusinow@debian.org> Thu, 9 Jun 2005 21:40:01 -0400
-
render (1:0.8-1) unstable; urgency=low
* Sponsored upload of package prepared at Branden's request by Josh Triplett
Modified: trunk/debian/copyright
===================================================================
--- trunk/debian/copyright 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/debian/copyright 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,7 +1,7 @@
This package was Debianized by Branden Robinson <branden@debian.org> on
Sun, 4 May 2003 01:12:21 -0500.
-Downloaded from: http://cvs.freedesktop.org/xlibs/Render/
+Downloaded from: http://pdx.freedesktop.org/~xlibs/release/render-0.8.tar.gz
Upstream copyright:
Modified: trunk/protocol
===================================================================
--- trunk/protocol 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/protocol 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,6 +1,6 @@
The X Rendering Extension
- Version 0.9
- 2004-7-23
+ Version 0.8
+ 2003-5-3
Keith Packard
keithp@keithp.com
@@ -29,7 +29,7 @@
how OpenGL works.
+ Carl Worth for providing the sample implementation of
- trapezoid rendering and showing how broken the spec was
+ trapezoid rendering
+ Sam Pottle and Jamey Sharp for helping demonstrate the correctness
of the trapezoid specification.
@@ -208,13 +208,9 @@
p1, p2: POINTFIX
]
TRAP [
- top, bottom: SPANFIX
- ]
-TRAPEZOID [
top, bottom: FIXED
left, right: LINEFIX
]
-(TRAPEZOID is deprecated)
COLORTRIANGLE [
p1, p2, p3: COLORPOINT
]
@@ -376,13 +372,22 @@
10. Polygon Rasterization
-Render provides only two kinds of polygons, trapezoids and triangles. To
-improve efficiency, several different wire encodings exist for each.
-
-All trapezoids must be convex. Rendering of concave trapezoids is unspecified
+All polygons must be convex. Rendering of concave polygons is unspecified
except that the result must obey the clipping rules.
-Composite
+Each polygon request fills the region closed by the specified path. The
+path is automatically closed if the last point does not coincide with the
+first point.
+
+A point is infinitely small and the path is an infinitely thin line. A
+pixel is inside if the center point of the pixel is inside and the center
+point is not on the boundary. If the center point is on the boundary, the
+pixel is inside if and only if the polygon interior is immediately to its
+right (x increasing direction). Pixels with centers along a horizontal edge
+are a special case and are inside if and only if the polygon interior is
+immediately below (y increasing direction). A polygon contains a pixel if
+the pixel is inside the polygon.
+
Polygons are rasterized by implicit generating an alpha mask and using that
in the general compositing operator along with a supplied source image:
@@ -399,21 +404,22 @@
the alpha width in the fallback format before application of the compositing
operator.
-Rasterization
-Alpha values are generated by point sampling the coverage of a square
-surrounding the center of each pixel by the polygon.
+---
-In Precise poly mode, the sample points are located in a regular grid. When
-alpha depth 'e' is even, the regular grid is 2**(e/2) + 1 samples wide and
-2**(e/2) -1 samples high. For odd alpha depth 'o', the sample grid is 2**o
-- 1 samples wide and 1 sample high. Note that odd alpha depth usually
-occurs only at depth 1, so this misshapen sample grid has no ill effects.
-The sample grid is centered within the pixel and then each sample point is
-rounded down to a point on the sub-pixel coordinate grid.
+This needs rewriting to match current trapezoid specification and
+base other polygons on that. I suspect imprecise polygons will need
+to have a relaxed specification as well; hardware is unlikely to
+meet the "sum to one" constraint.
-In Imprecise mode, the location of the sample points is not specified, but
-the implementation must conform to the following constraints:
+---
+When rasterized in Precise mode, the pixelization will match this
+specification exactly.
+
+When rasterized in Imprecise mode, the pixelization may deviate from this
+specification by up to 1/2 pixel along any edge subject to the following
+constraints:
+
+ Abutting edges must match precisely. When specifying two polygons
abutting along a common edge, if that edge is specified with the
same coordinates in each polygon then the sum of alpha values for
@@ -430,6 +436,16 @@
+ Order independent. Two identical polygons specified with vertices
in different orders must generate identical results.
+Polygons can also be specified with colors for each vertex. These color
+values are interpolated along the edges and across each scanline.
+
+When rasterized in Precise mode, the interpolated colors are exact.
+
+When rasterized in Imprecise mode, the color of each pixel may optionally be
+interpolated from a triangle containing the pixel which is formed from any
+three polygon vertices. Any interpolated color value can err up to 1 lsb in
+each channel.
+
11. Image Filtering
When computing pixels from source and mask images, a filter may be applied
@@ -444,8 +460,8 @@
Filter Name Description
- nearest Nearest neighbor filtering
- bilinear Linear interpolation in two dimensions
+ Nearest Nearest neighbor filtering
+ Bilinear Linear interpolation in two dimensions
Additional names may be provided for any filter as aliases. A set of
standard alias names are required to be mapped to a provided filter so that
@@ -453,29 +469,13 @@
Alias name Intended interpretation
- fast High performance, quality similar to Nearest
- good Reasonable performance, quality similar to Bilinear
- best Highest quality available, performance may not
+ Fast High performance, quality similar to Nearest
+ Good Reasonable performance, quality similar to Bilinear
+ Best Highest quality available, performance may not
be suitable for interactive use
Aliases must map directly to a non-aliased filter name.
-There is also a set of standard filters which are not required but may be
-provided. If they are provided, using the standard name, they must match
-the definition specified here.
-
- Filter Name Description
-
- convolution MxN convolution filter. The values specified
- in SetPictureFilter are M, N and then M * N
- filter parameters. M and N must be integers
- represented as fixed point numbers.
- gaussian Gaussian blur. The value specified is a radius
- in pixels (which can be fractional). A standard
- Gaussian 2D convolution filter will be applied.
- binomial Binomial blur. An approximation of a Gaussian
- blur using binomial coefficients
-
12. Glyph Rendering
Glyphs are small alpha masks which can be stored in the X server and
@@ -816,15 +816,14 @@
src-x, src-y: INT16
dst: PICTURE
mask-format: PICTFORMAT or None
- traps: LISTofTRAPEZOID
+ traps: LISTofTRAP
- This request rasterizes the list of trapezoids.
-
- For each trap, the area between the left and right edges is filled
- from the top to the bottom. src-x and src-y register the pattern to
- the floor of the top x and y coordinate of the left edge of the
- first trapezoid, they are adjusted for subsequent trapezoids so that
- the pattern remains globally aligned within the destination.
+ This request rasterizes the list of trapezoids. For each trap, the
+ area between the left and right edges is filled from the top to the
+ bottom. src-x and src-y register the pattern to the floor of the
+ top x and y coordinate of the left edge of the first trapezoid, they
+ are adjusted for subsequent trapezoids so that the pattern remains
+ globally aligned within the destination.
When mask-format is not None, trapezoids are rendered in the
following way with the effective mask computed in mask-format:
@@ -1111,19 +1110,6 @@
'cursors', showing each cursor in the element for the number of
milliseconds indicated by the 'delay' member of that element.
-AddTraps
- picture: PICTURE
- off-x, off-y: INT16
- trapezoids: LISTofTRAP
-
- Errors: Match
-
- Each trap is PictOpAdd'ed to 'picture'. 'off-x', 'off-y'
- are added to each coordinate.
-
- 'picture' must be an alpha-only picture else a 'Match' error is
- returned.
-
15. Extension Versioning
The Render extension was developed in parallel with the implementation to
@@ -1172,5 +1158,3 @@
QueryPictIndexValues
0.8:
CreateAnimCursor
- 0.9:
- AddTrapezoids
Modified: trunk/render.h
===================================================================
--- trunk/render.h 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/render.h 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,5 +1,5 @@
/*
- * $Id: render.h,v 1.14 2004/07/29 07:58:03 keithp Exp $
+ * $Id: render.h,v 1.12 2003/04/21 17:19:22 keithp Exp $
*
* Copyright � 2000 SuSE, Inc.
*
@@ -33,7 +33,7 @@
#define RENDER_NAME "RENDER"
#define RENDER_MAJOR 0
-#define RENDER_MINOR 9
+#define RENDER_MINOR 8
#define X_RenderQueryVersion 0
#define X_RenderQueryPictFormats 1
@@ -68,11 +68,8 @@
#define X_RenderSetPictureTransform 28
#define X_RenderQueryFilters 29
#define X_RenderSetPictureFilter 30
-/* 0.8 */
#define X_RenderCreateAnimCursor 31
-/* 0.9 */
-#define X_RenderAddTraps 32
-#define RenderNumberRequests (X_RenderAddTraps+1)
+#define RenderNumberRequests (X_RenderCreateAnimCursor+1)
#define BadPictFormat 0
#define BadPicture 1
@@ -153,15 +150,11 @@
#define CPPolyMode (1 << 10)
#define CPDither (1 << 11)
#define CPComponentAlpha (1 << 12)
-#define CPLastBit 12
+#define CPLastBit 11
/* Filters included in 0.6 */
#define FilterNearest "nearest"
#define FilterBilinear "bilinear"
-/* Other standard, but not required filters */
-#define FilterConvolution "convolution"
-#define FilterGaussian "gaussian"
-#define FilterBinomial "binomial"
#define FilterFast "fast"
#define FilterGood "good"
Modified: trunk/renderproto.h
===================================================================
--- trunk/renderproto.h 2005-06-10 02:04:53 UTC (rev 48)
+++ trunk/renderproto.h 2005-06-16 16:42:41 UTC (rev 49)
@@ -1,5 +1,5 @@
/*
- * $Id: renderproto.h,v 1.15 2004/07/29 07:58:03 keithp Exp $
+ * $Id: renderproto.h,v 1.14 2003/04/21 17:19:22 keithp Exp $
*
* Copyright � 2000 SuSE, Inc.
*
@@ -168,18 +168,6 @@
#define sz_xGlyphElt 8
-typedef struct {
- Fixed l, r, y;
-} xSpanFix;
-
-#define sz_xSpanFix 12
-
-typedef struct {
- xSpanFix top, bot;
-} xTrap;
-
-#define sz_xTrap 24
-
/*
* requests and replies
*/
@@ -580,19 +568,6 @@
#define sz_xRenderCreateAnimCursorReq 8
-/* 0.9 and higher */
-
-typedef struct {
- CARD8 reqType;
- CARD8 renderReqType;
- CARD16 length B16;
- Picture picture;
- INT16 xOff B16;
- INT16 yOff B16;
-} xRenderAddTrapsReq;
-
-#define sz_xRenderAddTrapsReq 12
-
#undef Window
#undef Drawable
#undef Font
Reply to: