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 <[EMAIL PROTECTED]> - - * configure.ac: - * protocol: - * render.h: - * renderproto.h: - Specify new AddTraps request. - Change pixelization specification. - -2004-07-03 Eric Anholt <[EMAIL PROTECTED]> - - * 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 <[EMAIL PROTECTED]> - - * Add AUTHOR file. - -2004-01-15 Daniel Stone <[EMAIL PROTECTED]> - * Tag release 0.8 for first freedesktop.org clientside lib release. - -2003-11-09 Eric Anholt <[EMAIL PROTECTED]> - - * configure.ac: - Rename dist to renderext - 2003-04-21 Keith Packard <[EMAIL PROTECTED]> + 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], [EMAIL PROTECTED], [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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] @@ -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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]