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>
This commit is contained in:
parent
7ee965a300
commit
48bc8d0dd9
|
@ -1011,8 +1011,6 @@ void dmxValidatePicture(PicturePtr pPicture, Mask mask)
|
||||||
attribs.poly_edge = pPicture->polyEdge;
|
attribs.poly_edge = pPicture->polyEdge;
|
||||||
if (mask & CPPolyMode)
|
if (mask & CPPolyMode)
|
||||||
attribs.poly_mode = pPicture->polyMode;
|
attribs.poly_mode = pPicture->polyMode;
|
||||||
if (mask & CPDither)
|
|
||||||
attribs.dither = pPicture->dither;
|
|
||||||
if (mask & CPComponentAlpha)
|
if (mask & CPComponentAlpha)
|
||||||
attribs.component_alpha = pPicture->componentAlpha;
|
attribs.component_alpha = pPicture->componentAlpha;
|
||||||
|
|
||||||
|
|
|
@ -735,13 +735,12 @@ SetPictureToDefaults (PicturePtr pPicture)
|
||||||
|
|
||||||
pPicture->transform = 0;
|
pPicture->transform = 0;
|
||||||
|
|
||||||
pPicture->dither = None;
|
|
||||||
pPicture->filter = PictureGetFilterId (FilterNearest, -1, TRUE);
|
pPicture->filter = PictureGetFilterId (FilterNearest, -1, TRUE);
|
||||||
pPicture->filter_params = 0;
|
pPicture->filter_params = 0;
|
||||||
pPicture->filter_nparams = 0;
|
pPicture->filter_nparams = 0;
|
||||||
|
|
||||||
pPicture->serialNumber = GC_CHANGE_SERIAL_BIT;
|
pPicture->serialNumber = GC_CHANGE_SERIAL_BIT;
|
||||||
pPicture->stateChanges = (1 << (CPLastBit+1)) - 1;
|
pPicture->stateChanges = -1;
|
||||||
pPicture->pSourcePict = 0;
|
pPicture->pSourcePict = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1261,7 +1260,7 @@ ChangePicture (PicturePtr pPicture,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CPDither:
|
case CPDither:
|
||||||
pPicture->dither = NEXT_VAL(Atom);
|
(void) NEXT_VAL(Atom); /* unimplemented */
|
||||||
break;
|
break;
|
||||||
case CPComponentAlpha:
|
case CPComponentAlpha:
|
||||||
{
|
{
|
||||||
|
@ -1480,7 +1479,6 @@ CopyPicture (PicturePtr pSrc,
|
||||||
pDst->polyMode = pSrc->polyMode;
|
pDst->polyMode = pSrc->polyMode;
|
||||||
break;
|
break;
|
||||||
case CPDither:
|
case CPDither:
|
||||||
pDst->dither = pSrc->dither;
|
|
||||||
break;
|
break;
|
||||||
case CPComponentAlpha:
|
case CPComponentAlpha:
|
||||||
pDst->componentAlpha = pSrc->componentAlpha;
|
pDst->componentAlpha = pSrc->componentAlpha;
|
||||||
|
|
|
@ -151,8 +151,6 @@ typedef struct _Picture {
|
||||||
PictFormatShort format; /* PICT_FORMAT */
|
PictFormatShort format; /* PICT_FORMAT */
|
||||||
int refcnt;
|
int refcnt;
|
||||||
CARD32 id;
|
CARD32 id;
|
||||||
PicturePtr pNext; /* chain on same drawable */
|
|
||||||
|
|
||||||
unsigned int repeat : 1;
|
unsigned int repeat : 1;
|
||||||
unsigned int graphicsExposures : 1;
|
unsigned int graphicsExposures : 1;
|
||||||
unsigned int subWindowMode : 1;
|
unsigned int subWindowMode : 1;
|
||||||
|
@ -162,7 +160,11 @@ typedef struct _Picture {
|
||||||
unsigned int clientClipType : 2;
|
unsigned int clientClipType : 2;
|
||||||
unsigned int componentAlpha : 1;
|
unsigned int componentAlpha : 1;
|
||||||
unsigned int repeatType : 2;
|
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;
|
PicturePtr alphaMap;
|
||||||
DDXPointRec alphaOrigin;
|
DDXPointRec alphaOrigin;
|
||||||
|
@ -170,9 +172,6 @@ typedef struct _Picture {
|
||||||
DDXPointRec clipOrigin;
|
DDXPointRec clipOrigin;
|
||||||
pointer clientClip;
|
pointer clientClip;
|
||||||
|
|
||||||
Atom dither;
|
|
||||||
|
|
||||||
unsigned long stateChanges;
|
|
||||||
unsigned long serialNumber;
|
unsigned long serialNumber;
|
||||||
|
|
||||||
RegionPtr pCompositeClip;
|
RegionPtr pCompositeClip;
|
||||||
|
@ -181,10 +180,9 @@ typedef struct _Picture {
|
||||||
|
|
||||||
PictTransform *transform;
|
PictTransform *transform;
|
||||||
|
|
||||||
int filter;
|
SourcePictPtr pSourcePict;
|
||||||
xFixed *filter_params;
|
xFixed *filter_params;
|
||||||
int filter_nparams;
|
int filter_nparams;
|
||||||
SourcePictPtr pSourcePict;
|
|
||||||
} PictureRec;
|
} PictureRec;
|
||||||
|
|
||||||
typedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id,
|
typedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id,
|
||||||
|
@ -205,6 +203,7 @@ typedef struct {
|
||||||
#define PictFilterBest 4
|
#define PictFilterBest 4
|
||||||
|
|
||||||
#define PictFilterConvolution 5
|
#define PictFilterConvolution 5
|
||||||
|
/* if you add an 8th filter, expand the filter bitfield above */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *alias;
|
char *alias;
|
||||||
|
|
Loading…
Reference in New Issue