[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force Render SVN commit: r47 - in trunk: . debian



Author: dnusinow
Date: 2005-06-09 20:44:22 -0500 (Thu, 09 Jun 2005)
New Revision: 47

Added:
   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:
- Update to newest release (tagged as 0.9 by Daniel, but not in CVS that I
  can see)
- Update debian/copyright download location


Added: trunk/AUTHORS
===================================================================
--- trunk/AUTHORS	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/AUTHORS	2005-06-10 01:44:22 UTC (rev 47)
@@ -0,0 +1 @@
+Keith Packard while at HP Cambridge Research Laboratory, and SuSE, Inc.

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/ChangeLog	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,3 +1,31 @@
+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

Added: trunk/NEWS
===================================================================

Modified: trunk/autogen.sh
===================================================================
--- trunk/autogen.sh	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/autogen.sh	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,50 +1,12 @@
 #! /bin/sh
-#
-# $Id: autogen.sh,v 1.1 2003/04/17 18:17:05 nlevitt Exp $
-#
-# runs autotools to create ./configure and friends
-#
 
-PROJECT=Render
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
 
-srcdir=`dirname "$0"`
-test -z $srcdir && srcdir=.
+ORIGDIR=`pwd`
+cd $srcdir
 
-origdir=`pwd`
-cd "$srcdir"
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
 
-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
-
+$srcdir/configure --enable-maintainer-mode "$@"

Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/configure.ac	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,5 +1,5 @@
 dnl 
-dnl  $Id: configure.ac,v 1.1 2003/04/17 18:16:03 nlevitt Exp $
+dnl  $Id: configure.ac,v 1.4 2004/07/29 07:58:03 keithp Exp $
 dnl 
 dnl  Copyright © 2003 Keith Packard, Noah Levitt
 dnl 
@@ -23,9 +23,10 @@
 dnl
 dnl Process this file with autoconf to create configure.
 
-AC_PREREQ([2.50])
-AC_INIT([render], [0.8])
-AM_INIT_AUTOMAKE(render, 0.8)
+AC_PREREQ([2.57])
+AC_INIT([renderext], [0.9], [keithp@keithp.com], [renderext])
+AM_INIT_AUTOMAKE([dist-bzip2])
+AM_MAINTAINER_MODE
 
 AC_OUTPUT([Makefile
            render.pc])

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/debian/changelog	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,3 +1,9 @@
+render (1:0.9-1) UNRELEASED; urgency=low
+
+  * New upstream release
+
+ -- 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-05-09 19:04:22 UTC (rev 46)
+++ trunk/debian/copyright	2005-06-10 01:44:22 UTC (rev 47)
@@ -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://pdx.freedesktop.org/~xlibs/release/render-0.8.tar.gz
+Downloaded from: http://cvs.freedesktop.org/xlibs/Render/
 
 Upstream copyright:
 

Modified: trunk/protocol
===================================================================
--- trunk/protocol	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/protocol	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,6 +1,6 @@
 			The X Rendering Extension
-			      Version 0.8
-			        2003-5-3
+			      Version 0.9
+			        2004-7-23
 			      Keith Packard
 			    keithp@keithp.com
 
@@ -29,7 +29,7 @@
 	how OpenGL works.
 
  +	Carl Worth for providing the sample implementation of
- 	trapezoid rendering
+ 	trapezoid rendering and showing how broken the spec was
 
  +	Sam Pottle and Jamey Sharp for helping demonstrate the correctness
  	of the trapezoid specification.
@@ -208,9 +208,13 @@
 			p1, p2:		POINTFIX
 		]
 TRAP		[
+			top, bottom:	SPANFIX
+		]
+TRAPEZOID	[
 			top, bottom:	FIXED
 			left, right:	LINEFIX
 		]
+(TRAPEZOID is deprecated)
 COLORTRIANGLE	[
 			p1, p2, p3:	COLORPOINT
 		]
@@ -372,22 +376,13 @@
 
 10. Polygon Rasterization
 
-All polygons must be convex.  Rendering of concave polygons is unspecified
+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
 except that the result must obey the clipping rules.
 
-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.
-
+Composite
 Polygons are rasterized by implicit generating an alpha mask and using that
 in the general compositing operator along with a supplied source image:
 
@@ -404,22 +399,21 @@
 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. 
 
-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 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.
 
----
+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
@@ -436,16 +430,6 @@
  +	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
@@ -460,8 +444,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
@@ -469,13 +453,29 @@
 
 	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,14 +816,15 @@
 	src-x, src-y:   INT16
 	dst:		PICTURE
 	mask-format:	PICTFORMAT or None
-	traps:		LISTofTRAP
+	traps:		LISTofTRAPEZOID
 
-	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:
@@ -1110,6 +1111,19 @@
 	'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
@@ -1158,3 +1172,5 @@
 		QueryPictIndexValues
 	0.8:
 		CreateAnimCursor
+	0.9:
+		AddTrapezoids

Modified: trunk/render.h
===================================================================
--- trunk/render.h	2005-05-09 19:04:22 UTC (rev 46)
+++ trunk/render.h	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,5 +1,5 @@
 /*
- * $Id: render.h,v 1.12 2003/04/21 17:19:22 keithp Exp $
+ * $Id: render.h,v 1.14 2004/07/29 07:58:03 keithp Exp $
  *
  * Copyright � 2000 SuSE, Inc.
  *
@@ -33,7 +33,7 @@
 
 #define RENDER_NAME	"RENDER"
 #define RENDER_MAJOR	0
-#define RENDER_MINOR	8
+#define RENDER_MINOR	9
 
 #define X_RenderQueryVersion		    0
 #define X_RenderQueryPictFormats	    1
@@ -68,8 +68,11 @@
 #define X_RenderSetPictureTransform	    28
 #define X_RenderQueryFilters		    29
 #define X_RenderSetPictureFilter	    30
+/* 0.8 */
 #define X_RenderCreateAnimCursor	    31
-#define RenderNumberRequests		    (X_RenderCreateAnimCursor+1)
+/* 0.9 */
+#define X_RenderAddTraps		    32
+#define RenderNumberRequests		    (X_RenderAddTraps+1)
 
 #define BadPictFormat			    0
 #define BadPicture			    1
@@ -150,11 +153,15 @@
 #define CPPolyMode			    (1 << 10)
 #define CPDither			    (1 << 11)
 #define CPComponentAlpha		    (1 << 12)
-#define CPLastBit			    11
+#define CPLastBit			    12
 
 /* 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-05-09 19:04:22 UTC (rev 46)
+++ trunk/renderproto.h	2005-06-10 01:44:22 UTC (rev 47)
@@ -1,5 +1,5 @@
 /*
- * $Id: renderproto.h,v 1.14 2003/04/21 17:19:22 keithp Exp $
+ * $Id: renderproto.h,v 1.15 2004/07/29 07:58:03 keithp Exp $
  *
  * Copyright � 2000 SuSE, Inc.
  *
@@ -168,6 +168,18 @@
 
 #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
  */
@@ -568,6 +580,19 @@
 
 #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: