xserver/include picture.h,1.25,1.26 picturestr.h,1.30,1.31

Dave Airlie xserver-commit at pdx.freedesktop.org
Tue Jan 3 01:20:00 PST 2006


Committed by: airlied

Update of /cvs/xserver/xserver/include
In directory gabe:/tmp/cvs-serv11094/include

Modified Files:
	picture.h picturestr.h 
Log Message:
fb/render changes from Xgl


Index: picture.h
===================================================================
RCS file: /cvs/xserver/xserver/include/picture.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- picture.h	27 May 2005 14:15:13 -0000	1.25
+++ picture.h	3 Jan 2006 09:19:58 -0000	1.26
@@ -64,6 +64,8 @@
 #define PICT_TYPE_ABGR	3
 #define PICT_TYPE_COLOR	4
 #define PICT_TYPE_GRAY	5
+#define PICT_TYPE_YUY2  6
+#define PICT_TYPE_YV12  7
 
 #define PICT_FORMAT_COLOR(f)	(PICT_FORMAT_TYPE(f) & 2)
 
@@ -115,6 +117,10 @@
 
 #define PICT_g1		PICT_FORMAT(1,PICT_TYPE_GRAY,0,0,0,0)
 
+/* YUV formats */
+#define PICT_yuy2	PICT_FORMAT(16,PICT_TYPE_YUY2,0,0,0,0)
+#define PICT_yv12	PICT_FORMAT(12,PICT_TYPE_YV12,0,0,0,0)
+
 /*
  * For dynamic indexed visuals (GrayScale and PseudoColor), these control the 
  * selection of colors allocated for drawing to Pictures.  The default

Index: picturestr.h
===================================================================
RCS file: /cvs/xserver/xserver/include/picturestr.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- picturestr.h	29 Jun 2005 11:57:16 -0000	1.30
+++ picturestr.h	3 Jan 2006 09:19:58 -0000	1.31
@@ -30,6 +30,8 @@
 #include "scrnintstr.h"
 #include "resource.h"
 
+#define PictTypeOther 0xff
+
 typedef struct _DirectFormat {
     CARD16	    red, redMask;
     CARD16	    green, greenMask;
@@ -62,43 +64,80 @@
     xFixed	    matrix[3][3];
 } PictTransform, *PictTransformPtr;
 
+typedef void (*DestroySourcePictProcPtr) (PicturePtr pPicture);
+
 #define PICT_GRADIENT_STOPTABLE_SIZE 1024
+
 #define SourcePictTypeSolidFill 0
-#define SourcePictTypeLinear 1
-#define SourcePictTypeRadial 2
-#define SourcePictTypeConical 3
+#define SourcePictTypeLinear    1
+#define SourcePictTypeRadial    2
+#define SourcePictTypeConical   3
+#define SourcePictTypeOther     4
+
+#define SourcePictClassUnknown    0
+#define SourcePictClassHorizontal 1
+#define SourcePictClassVertical   2
+
+typedef struct _PictSource {
+    unsigned int	     type;
+    unsigned int	     class;
+    DevUnion		     devPrivate;
+    DestroySourcePictProcPtr Destroy;
+} PictSourceRec, *PictSourcePtr;
 
 typedef struct _PictSolidFill {
-    unsigned int type;
+    unsigned int	     type;
+    unsigned int	     class;
+    DevUnion		     devPrivate;
+    DestroySourcePictProcPtr Destroy;
     CARD32 color;
 } PictSolidFill, *PictSolidFillPtr;
 
 typedef struct _PictGradientStop {
     xFixed x;
-    xRenderColor color;
+    CARD32 color;
 } PictGradientStop, *PictGradientStopPtr;
 
 typedef struct _PictGradient {
-    unsigned int type;
+    unsigned int	     type;
+    unsigned int	     class;
+    DevUnion		     devPrivate;
+    DestroySourcePictProcPtr Destroy;
     int nstops;
     PictGradientStopPtr stops;
-    CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
+    int	stopRange;
+    CARD32 *colorTable;
+    int	colorTableSize;
 } PictGradient, *PictGradientPtr;
 
 typedef struct _PictLinearGradient {
-    unsigned int type;
+    unsigned int	     type;
+    unsigned int	     class;
+    DevUnion		     devPrivate;
+    DestroySourcePictProcPtr Destroy;
     int nstops;
     PictGradientStopPtr stops;
-    CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
+    int	stopRange;
+    CARD32 *colorTable;
+    int	colorTableSize;
     xPointFixed p1;
     xPointFixed p2;
 } PictLinearGradient, *PictLinearGradientPtr;
 
 typedef struct _PictRadialGradient {
-    unsigned int type;
+    unsigned int	     type;
+    unsigned int	     class;
+    DevUnion		     devPrivate;
+    DestroySourcePictProcPtr Destroy;
     int nstops;
     PictGradientStopPtr stops;
-    CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
+    int	stopRange;
+    CARD32 *colorTable;
+    int	colorTableSize;
+    xPointFixed inner;
+    xPointFixed outer;
+    xFixed inner_radius;
+    xFixed outer_radius;
     double fx;
     double fy;
     double dx;
@@ -109,16 +148,22 @@
 } PictRadialGradient, *PictRadialGradientPtr;
 
 typedef struct _PictConicalGradient {
-    unsigned int type;
+    unsigned int	     type;
+    unsigned int	     class;
+    DevUnion		     devPrivate;
+    DestroySourcePictProcPtr Destroy;
     int nstops;
     PictGradientStopPtr stops;
-    CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
+    int	stopRange;
+    CARD32 *colorTable;
+    int	colorTableSize;
     xPointFixed center;
     xFixed angle;
 } PictConicalGradient, *PictConicalGradientPtr;
 
 typedef union _SourcePict {
     unsigned int type;
+    PictSourceRec source;
     PictSolidFill solidFill;
     PictGradient gradient;
     PictLinearGradient linear;
@@ -601,6 +646,11 @@
 PictureTransformPoint3d (PictTransformPtr transform,
                          PictVectorPtr	vector);
 
+CARD32
+PictureGradientColor (PictGradientStopPtr stop1,
+		      PictGradientStopPtr stop2,
+		      CARD32	          x);
+
 void RenderExtensionInit (void);
 
 Bool
@@ -617,6 +667,10 @@
 	  xTrap		*traps);
 
 PicturePtr
+CreateDevicePicture (Picture pid,
+		     int     *error);
+
+PicturePtr
 CreateSolidPicture (Picture pid,
                     xRenderColor *color,
                     int *error);



More information about the xserver-commit mailing list