mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 10:14:52 +00:00
render: consolidate byte-swapping in ProcRenderSetPictureFilter()
No need for extra functions and call tables for the few trivial lines. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
committed by
Enrico Weigelt
parent
0c981140cf
commit
4d41eaa043
@@ -98,7 +98,6 @@ static int ProcRenderCreateConicalGradient(ClientPtr pClient);
|
||||
|
||||
static int ProcRenderDispatch(ClientPtr pClient);
|
||||
|
||||
static int SProcRenderSetPictureFilter(ClientPtr pClient);
|
||||
static int SProcRenderAddTraps(ClientPtr pClient);
|
||||
static int SProcRenderCreateSolidFill(ClientPtr pClient);
|
||||
static int SProcRenderCreateLinearGradient(ClientPtr pClient);
|
||||
@@ -176,7 +175,7 @@ int (*SProcRenderVector[RenderNumberRequests]) (ClientPtr) = {
|
||||
ProcRenderCreateCursor,
|
||||
ProcRenderSetPictureTransform,
|
||||
ProcRenderQueryFilters,
|
||||
SProcRenderSetPictureFilter,
|
||||
ProcRenderSetPictureFilter,
|
||||
ProcRenderCreateAnimCursor,
|
||||
SProcRenderAddTraps,
|
||||
SProcRenderCreateSolidFill,
|
||||
@@ -1688,16 +1687,14 @@ ProcRenderQueryFilters(ClientPtr client)
|
||||
}
|
||||
|
||||
static int
|
||||
SingleRenderSetPictureFilter(ClientPtr client)
|
||||
SingleRenderSetPictureFilter(ClientPtr client, xRenderSetPictureFilterReq *stuff)
|
||||
{
|
||||
REQUEST(xRenderSetPictureFilterReq);
|
||||
PicturePtr pPicture;
|
||||
int result;
|
||||
xFixed *params;
|
||||
int nparams;
|
||||
char *name;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);
|
||||
VERIFY_PICTURE(pPicture, stuff->picture, client, DixSetAttrAccess);
|
||||
name = (char *) (stuff + 1);
|
||||
params = (xFixed *) (name + pad_to_int32(stuff->nbytes));
|
||||
@@ -1938,17 +1935,6 @@ ProcRenderDispatch(ClientPtr client)
|
||||
return BadRequest;
|
||||
}
|
||||
|
||||
static int _X_COLD
|
||||
SProcRenderSetPictureFilter(ClientPtr client)
|
||||
{
|
||||
REQUEST(xRenderSetPictureFilterReq);
|
||||
REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);
|
||||
|
||||
swapl(&stuff->picture);
|
||||
swaps(&stuff->nbytes);
|
||||
return ProcRenderSetPictureFilter(client);
|
||||
}
|
||||
|
||||
static int _X_COLD
|
||||
SProcRenderAddTraps(ClientPtr client)
|
||||
{
|
||||
@@ -2196,19 +2182,16 @@ PanoramiXRenderSetPictureTransform(ClientPtr client, xRenderSetPictureTransformR
|
||||
}
|
||||
|
||||
static int
|
||||
PanoramiXRenderSetPictureFilter(ClientPtr client)
|
||||
PanoramiXRenderSetPictureFilter(ClientPtr client, xRenderSetPictureFilterReq *stuff)
|
||||
{
|
||||
REQUEST(xRenderSetPictureFilterReq);
|
||||
int result = Success;
|
||||
PanoramiXRes *pict;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);
|
||||
|
||||
VERIFY_XIN_PICTURE(pict, stuff->picture, client, DixWriteAccess);
|
||||
|
||||
XINERAMA_FOR_EACH_SCREEN_BACKWARD({
|
||||
stuff->picture = pict->info[walkScreenIdx].id;
|
||||
result = SingleRenderSetPictureFilter(client);
|
||||
result = SingleRenderSetPictureFilter(client, stuff);
|
||||
if (result != Success)
|
||||
break;
|
||||
});
|
||||
@@ -3093,11 +3076,19 @@ ProcRenderSetPictureTransform(ClientPtr client)
|
||||
static int
|
||||
ProcRenderSetPictureFilter(ClientPtr client)
|
||||
{
|
||||
REQUEST(xRenderSetPictureFilterReq);
|
||||
REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);
|
||||
|
||||
if (client->swapped) {
|
||||
swapl(&stuff->picture);
|
||||
swaps(&stuff->nbytes);
|
||||
}
|
||||
|
||||
#ifdef XINERAMA
|
||||
return (usePanoramiX ? PanoramiXRenderSetPictureFilter(client)
|
||||
: SingleRenderSetPictureFilter(client));
|
||||
return (usePanoramiX ? PanoramiXRenderSetPictureFilter(client, stuff)
|
||||
: SingleRenderSetPictureFilter(client, stuff));
|
||||
#else
|
||||
return SingleRenderSetPictureFilter(client);
|
||||
return SingleRenderSetPictureFilter(client, stuff);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user