summaryrefslogtreecommitdiff
path: root/render/picturestr.h
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2010-10-06 09:56:56 -0400
committerAdam Jackson <ajax@redhat.com>2010-11-30 13:46:08 -0500
commit48bc8d0dd99284f509bc6de01a8fd24a7bfc69d5 (patch)
tree7788024e5c4e80019bf2235cad13e925dca1a46a /render/picturestr.h
parent7ee965a300c9eddcc1acacf9414cfe3e589222a8 (diff)
render: repack PictureRec
Eliminate the unused dither field, move filter and stateChanges into the bitfield, and reorder elements to pack holes on LP64. sizeof(PictureRec) ILP32 LP64 before: 84 152 after: 72 120 Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'render/picturestr.h')
-rw-r--r--render/picturestr.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/render/picturestr.h b/render/picturestr.h
index 5c6c41e23..ae69eef10 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -151,8 +151,6 @@ typedef struct _Picture {
PictFormatShort format; /* PICT_FORMAT */
int refcnt;
CARD32 id;
- PicturePtr pNext; /* chain on same drawable */
-
unsigned int repeat : 1;
unsigned int graphicsExposures : 1;
unsigned int subWindowMode : 1;
@@ -162,7 +160,11 @@ typedef struct _Picture {
unsigned int clientClipType : 2;
unsigned int componentAlpha : 1;
unsigned int repeatType : 2;
- unsigned int unused : 21;
+ unsigned int filter : 3;
+ unsigned int stateChanges : CPLastBit;
+ unsigned int unused : 18 - CPLastBit;
+
+ PicturePtr pNext; /* chain on same drawable */
PicturePtr alphaMap;
DDXPointRec alphaOrigin;
@@ -170,9 +172,6 @@ typedef struct _Picture {
DDXPointRec clipOrigin;
pointer clientClip;
- Atom dither;
-
- unsigned long stateChanges;
unsigned long serialNumber;
RegionPtr pCompositeClip;
@@ -181,10 +180,9 @@ typedef struct _Picture {
PictTransform *transform;
- int filter;
+ SourcePictPtr pSourcePict;
xFixed *filter_params;
int filter_nparams;
- SourcePictPtr pSourcePict;
} PictureRec;
typedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id,
@@ -205,6 +203,7 @@ typedef struct {
#define PictFilterBest 4
#define PictFilterConvolution 5
+/* if you add an 8th filter, expand the filter bitfield above */
typedef struct {
char *alias;