xserver/fb Makefile.am, 1.5, 1.6 fbedge.c, NONE, 1.1 fbedgeimp.h, NONE, 1.1 fbpict.c, 1.30, 1.31 fbpict.h, 1.17, 1.18 fbtrap.c, 1.11, 1.12

Keith Packard <xserver-commit-u7BhqnqprCWvj1b/[email protected]>
Newsgroups gmane.comp.freedesktop.xserver.cvs
Message-ID <[email protected]>
Committed by: keithp

Update of /cvs/xserver/xserver/fb
In directory pdx:/tmp/cvs-serv18390/fb

Modified Files:
	Makefile.am fbpict.c fbpict.h fbtrap.c 
Added Files:
	fbedge.c fbedgeimp.h 
Log Message:
2004-07-29  Keith Packard  <[email protected]>

	* fb/Makefile.am:
	* fb/fbedge.c: (fbRasterizeEdges):
	* fb/fbedgeimp.h:
	* fb/fbpict.c: (fbPictureInit):
	* fb/fbpict.h:
	* fb/fbtrap.c: (fbAddTraps), (fbRasterizeTrapezoid), (_GreaterY),
	(_Clockwise), (fbAddTriangles):
	* include/mipict.h:
	* include/picture.h:
	* include/picturestr.h:
	* include/renderedge.h:
	* render/Makefile.am:
	* render/mipict.c: (miIsSolidAlpha), (miPictureInit):
	* render/mitrap.c: (miTrapezoids):
	* render/mitri.c: (miTriangles), (miTriStrip), (miTriFan):
	* render/picture.c: (AddTraps):
	* render/render.c: (RenderNumberRequests), (ProcRenderAddTraps),
	(SProcRenderAddTraps), (PanoramiXRenderAddTraps),
	(PanoramiXRenderInit):
	* render/renderedge.c: (RenderSampleCeilY), (RenderSampleFloorY),
	(RenderEdgeStep), (_RenderEdgeMultiInit), (RenderEdgeInit),
	(RenderLineFixedEdgeInit):
	Change polygon fill semantics to regular point sampling
	Add RenderAddTraps request


Index: Makefile.am
===================================================================
RCS file: /cvs/xserver/xserver/fb/Makefile.am,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Makefile.am	11 Nov 2003 05:46:07 -0000	1.5
+++ Makefile.am	29 Jul 2004 08:10:15 -0000	1.6
@@ -19,6 +19,8 @@
 	fbcmap.c	\
 	fbcompose.c	\
 	fbcopy.c	\
+	fbedge.c	\
+	fbedgeimp.h	\
 	fbfill.c	\
 	fbfillrect.c	\
 	fbfillsp.c	\

--- NEW FILE: fbedge.c ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: fbedgeimp.h ---
(This appears to be a binary file; contents omitted.)

Index: fbpict.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbpict.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- fbpict.c	13 May 2004 21:09:30 -0000	1.30
+++ fbpict.c	29 Jul 2004 08:10:15 -0000	1.31
@@ -1726,8 +1726,8 @@
     ps->Glyphs = miGlyphs;
     ps->CompositeRects = miCompositeRects;
     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
-
-    
+    ps->AddTraps = fbAddTraps;
+    ps->AddTriangles = fbAddTriangles;
 #endif /* RENDER */
 
     return TRUE;

Index: fbpict.h
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbpict.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- fbpict.h	13 May 2004 21:09:30 -0000	1.17
+++ fbpict.h	29 Jul 2004 08:10:15 -0000	1.18
@@ -25,6 +25,8 @@
 #ifndef _FBPICT_H_
 #define _FBPICT_H_
 
+#include "renderedge.h"
+
 #define FbIntMult(a,b,t) ( (t) = (a) * (b) + 0x80, ( ( ( (t)>>8 ) + (t) )>>8 ) )
 #define FbIntDiv(a,b)	 (((CARD16) (a) * 255) / (b))
 
@@ -135,6 +137,15 @@
  */
 extern FbAccessMap  fbAccessMap[];
 
+/* fbaddtrap.c */
+
+void
+fbAddTraps (PicturePtr	pPicture,
+	    INT16	xOff,
+	    INT16	yOff,
+	    int		ntrap,
+	    xTrap	*traps);
+
 /* fbcompose.c */
 
 typedef struct _fbCompSrc {
@@ -753,6 +764,17 @@
 		    CARD16	height);
 
 
+/* fbedge.c */
+void
+fbRasterizeEdges (FbBits	*buf,
+		  int		bpp,
+		  int		width,
+		  int		stride,
+		  RenderEdge	*l,
+		  RenderEdge	*r,
+		  xFixed	t,
+		  xFixed	b);
+
 /* fbpict.c */
 CARD32
 fbOver (CARD32 x, CARD32 y);
@@ -1019,10 +1041,25 @@
 	     CARD16     height);
 
 /* fbtrap.c */
+
+void
+fbAddTraps (PicturePtr	pPicture,
+	    INT16	xOff,
+	    INT16	yOff,
+	    int		ntrap,
+	    xTrap	*traps);
+
 void
 fbRasterizeTrapezoid (PicturePtr    alpha,
 		      xTrapezoid    *trap,
 		      int	    x_off,
 		      int	    y_off);
 
+void
+fbAddTriangles (PicturePtr  pPicture,
+		INT16	    xOff,
+		INT16	    yOff,
+		int	    ntri,
+		xTriangle   *tris);
+
 #endif /* _FBPICT_H_ */

Index: fbtrap.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbtrap.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- fbtrap.c	11 Sep 2003 05:12:50 -0000	1.11
+++ fbtrap.c	29 Jul 2004 08:10:15 -0000	1.12
@@ -1,30 +1,26 @@
 /*
  * $Id$
  *
- * Copyright © 2000 University of Southern California
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of University
- * of Southern California not be used in advertising or publicity
[...1520 lines suppressed...]
-    {
-        return ((area >> bits) * ((1 << depth) - 1)) >> (31 - depth);
-    }
-
-Avoiding the branch bubble in the AREA_MULT could be done with either:
-
-area = (w * h + 1) >> 1;
-area |= ((area - 1) & 0x80000000);
-
-or
-        #define AREA_MULT(w,h) ((((w)*(h) + 1) >> 1) | ((w)&(h)&0x10000) << 15)
-
-depending on your preference, the first takes one less operation but
-can't be expressed as a macro; the second takes a large constant which may
-require an additional instruction on some processors.  The differences
-will be swamped by the cost of the multiply.
-
-*/
-
 #endif /* RENDER */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.