summaryrefslogtreecommitdiff
path: root/render/picturestr.h
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2006-01-03 22:06:23 +0000
committerEric Anholt <anholt@freebsd.org>2006-01-03 22:06:23 +0000
commit601ab861b46a62b0742ffd3e937c4fab129664f0 (patch)
treea3d9c641c83283e941302a9495d4d5234b493eed /render/picturestr.h
parent1729fc882ceec392331566c95efd5968fe9e97fd (diff)
Add glyph privates for Xgl, which uses them to implement a glyph cache. EXA
would probably also like to do this. This breaks module ABI for EXA and XAA, and likely breaks proprietary drivers as well.
Diffstat (limited to 'render/picturestr.h')
-rw-r--r--render/picturestr.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/render/picturestr.h b/render/picturestr.h
index ab6785c33..e81d769d5 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -306,6 +306,12 @@ typedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
int ntri,
xTriangle *tris);
+typedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
+ GlyphPtr glyph);
+
+typedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
+ GlyphPtr glyph);
+
typedef struct _PictureScreen {
int totalPictureSize;
unsigned int *PicturePrivateSizes;
@@ -358,6 +364,14 @@ typedef struct _PictureScreen {
AddTrapsProcPtr AddTraps;
+ int totalGlyphPrivateSize;
+ unsigned int *glyphPrivateSizes;
+ int glyphPrivateLen;
+ int glyphPrivateOffset;
+
+ RealizeGlyphProcPtr RealizeGlyph;
+ UnrealizeGlyphProcPtr UnrealizeGlyph;
+
} PictureScreenRec, *PictureScreenPtr;
extern int PictureScreenPrivateIndex;
@@ -372,6 +386,9 @@ extern RESTYPE GlyphSetType;
#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
+#define GetGlyphPrivatesForScreen(glyph, s) \
+ ((glyph)->devPrivates + (GetPictureScreen (s))->glyphPrivateOffset)
+
#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
if (!pPicture) { \