Xext: xvmc: use REQUEST_HEAD_STRUCT and REQUEST_FIELD_* macros
Use the new macros to make request struct parsing / field swapping much easier. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
67292b02e3
commit
9ab956a7ef
75
Xext/xvmc.c
75
Xext/xvmc.c
|
|
@ -4,7 +4,12 @@
|
|||
#include <string.h>
|
||||
#include <X11/X.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include <X11/Xfuncproto.h>
|
||||
#include <X11/extensions/XvMC.h>
|
||||
#include <X11/extensions/Xvproto.h>
|
||||
#include <X11/extensions/XvMCproto.h>
|
||||
|
||||
#include "dix/request_priv.h"
|
||||
#include "dix/screen_hooks_priv.h"
|
||||
#include "Xext/xvdix_priv.h"
|
||||
|
||||
|
|
@ -16,10 +21,6 @@
|
|||
#include "extnsionst.h"
|
||||
#include "extinit_priv.h"
|
||||
#include "servermd.h"
|
||||
#include <X11/Xfuncproto.h>
|
||||
#include <X11/extensions/XvMC.h>
|
||||
#include <X11/extensions/Xvproto.h>
|
||||
#include <X11/extensions/XvMCproto.h>
|
||||
#include "xvmcext.h"
|
||||
|
||||
#ifdef HAS_XVMCSHM
|
||||
|
|
@ -109,6 +110,8 @@ XvMCDestroySubpictureRes(void *data, XID id)
|
|||
static int
|
||||
ProcXvMCQueryVersion(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcQueryVersionReq);
|
||||
|
||||
xvmcQueryVersionReply rep = {
|
||||
.type = X_Reply,
|
||||
.sequenceNumber = client->sequence,
|
||||
|
|
@ -116,9 +119,6 @@ ProcXvMCQueryVersion(ClientPtr client)
|
|||
.minor = SERVER_XVMC_MINOR_VERSION
|
||||
};
|
||||
|
||||
/* REQUEST(xvmcQueryVersionReq); */
|
||||
REQUEST_SIZE_MATCH(xvmcQueryVersionReq);
|
||||
|
||||
WriteToClient(client, sizeof(xvmcQueryVersionReply), &rep);
|
||||
return Success;
|
||||
}
|
||||
|
|
@ -130,8 +130,8 @@ ProcXvMCListSurfaceTypes(ClientPtr client)
|
|||
XvMCScreenPtr pScreenPriv;
|
||||
XvMCAdaptorPtr adaptor = NULL;
|
||||
|
||||
REQUEST(xvmcListSurfaceTypesReq);
|
||||
REQUEST_SIZE_MATCH(xvmcListSurfaceTypesReq);
|
||||
REQUEST_HEAD_STRUCT(xvmcListSurfaceTypesReq);
|
||||
REQUEST_FIELD_CARD32(port);
|
||||
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
|
|
@ -192,8 +192,11 @@ ProcXvMCCreateContext(ClientPtr client)
|
|||
XvMCAdaptorPtr adaptor = NULL;
|
||||
XvMCSurfaceInfoPtr surface = NULL;
|
||||
|
||||
REQUEST(xvmcCreateContextReq);
|
||||
REQUEST_SIZE_MATCH(xvmcCreateContextReq);
|
||||
REQUEST_HEAD_STRUCT(xvmcCreateContextReq);
|
||||
REQUEST_FIELD_CARD32(context_id);
|
||||
REQUEST_FIELD_CARD16(width);
|
||||
REQUEST_FIELD_CARD16(height);
|
||||
REQUEST_FIELD_CARD32(flags);
|
||||
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
|
|
@ -276,12 +279,12 @@ ProcXvMCCreateContext(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCDestroyContext(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcDestroyContextReq);
|
||||
REQUEST_FIELD_CARD32(context_id);
|
||||
|
||||
void *val;
|
||||
int rc;
|
||||
|
||||
REQUEST(xvmcDestroyContextReq);
|
||||
REQUEST_SIZE_MATCH(xvmcDestroyContextReq);
|
||||
|
||||
rc = dixLookupResourceByType(&val, stuff->context_id, XvMCRTContext,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
|
|
@ -295,6 +298,10 @@ ProcXvMCDestroyContext(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCCreateSurface(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcCreateSurfaceReq);
|
||||
REQUEST_FIELD_CARD32(surface_id);
|
||||
REQUEST_FIELD_CARD32(context_id);
|
||||
|
||||
CARD32 *data = NULL;
|
||||
int dwords = 0;
|
||||
int result;
|
||||
|
|
@ -302,9 +309,6 @@ ProcXvMCCreateSurface(ClientPtr client)
|
|||
XvMCSurfacePtr pSurface;
|
||||
XvMCScreenPtr pScreenPriv;
|
||||
|
||||
REQUEST(xvmcCreateSurfaceReq);
|
||||
REQUEST_SIZE_MATCH(xvmcCreateSurfaceReq);
|
||||
|
||||
result = dixLookupResourceByType((void **) &pContext, stuff->context_id,
|
||||
XvMCRTContext, client, DixUseAccess);
|
||||
if (result != Success)
|
||||
|
|
@ -353,12 +357,12 @@ ProcXvMCCreateSurface(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCDestroySurface(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcDestroySurfaceReq);
|
||||
REQUEST_FIELD_CARD32(surface_id);
|
||||
|
||||
void *val;
|
||||
int rc;
|
||||
|
||||
REQUEST(xvmcDestroySurfaceReq);
|
||||
REQUEST_SIZE_MATCH(xvmcDestroySurfaceReq);
|
||||
|
||||
rc = dixLookupResourceByType(&val, stuff->surface_id, XvMCRTSurface,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
|
|
@ -372,6 +376,13 @@ ProcXvMCDestroySurface(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCCreateSubpicture(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcCreateSubpictureReq);
|
||||
REQUEST_FIELD_CARD32(subpicture_id);
|
||||
REQUEST_FIELD_CARD32(context_id);
|
||||
REQUEST_FIELD_CARD32(xvimage_id);
|
||||
REQUEST_FIELD_CARD16(width);
|
||||
REQUEST_FIELD_CARD16(height);
|
||||
|
||||
Bool image_supported = FALSE;
|
||||
CARD32 *data = NULL;
|
||||
int i, result, dwords = 0;
|
||||
|
|
@ -381,9 +392,6 @@ ProcXvMCCreateSubpicture(ClientPtr client)
|
|||
XvMCAdaptorPtr adaptor;
|
||||
XvMCSurfaceInfoPtr surface = NULL;
|
||||
|
||||
REQUEST(xvmcCreateSubpictureReq);
|
||||
REQUEST_SIZE_MATCH(xvmcCreateSubpictureReq);
|
||||
|
||||
result = dixLookupResourceByType((void **) &pContext, stuff->context_id,
|
||||
XvMCRTContext, client, DixUseAccess);
|
||||
if (result != Success)
|
||||
|
|
@ -480,12 +488,12 @@ ProcXvMCCreateSubpicture(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCDestroySubpicture(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcDestroySubpictureReq);
|
||||
REQUEST_FIELD_CARD32(subpicture_id);
|
||||
|
||||
void *val;
|
||||
int rc;
|
||||
|
||||
REQUEST(xvmcDestroySubpictureReq);
|
||||
REQUEST_SIZE_MATCH(xvmcDestroySubpictureReq);
|
||||
|
||||
rc = dixLookupResourceByType(&val, stuff->subpicture_id, XvMCRTSubpicture,
|
||||
client, DixDestroyAccess);
|
||||
if (rc != Success)
|
||||
|
|
@ -499,6 +507,10 @@ ProcXvMCDestroySubpicture(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCListSubpictureTypes(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcListSubpictureTypesReq);
|
||||
REQUEST_FIELD_CARD32(port);
|
||||
REQUEST_FIELD_CARD32(surface_type_id);
|
||||
|
||||
XvPortPtr pPort;
|
||||
XvMCScreenPtr pScreenPriv;
|
||||
ScreenPtr pScreen;
|
||||
|
|
@ -507,9 +519,6 @@ ProcXvMCListSubpictureTypes(ClientPtr client)
|
|||
XvImagePtr pImage;
|
||||
int i, j;
|
||||
|
||||
REQUEST(xvmcListSubpictureTypesReq);
|
||||
REQUEST_SIZE_MATCH(xvmcListSubpictureTypesReq);
|
||||
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
pScreen = pPort->pAdaptor->pScreen;
|
||||
|
|
@ -596,6 +605,11 @@ ProcXvMCListSubpictureTypes(ClientPtr client)
|
|||
static int
|
||||
ProcXvMCGetDRInfo(ClientPtr client)
|
||||
{
|
||||
REQUEST_HEAD_STRUCT(xvmcGetDRInfoReq);
|
||||
REQUEST_FIELD_CARD32(port);
|
||||
REQUEST_FIELD_CARD32(shmKey);
|
||||
REQUEST_FIELD_CARD32(magic);
|
||||
|
||||
XvPortPtr pPort;
|
||||
ScreenPtr pScreen;
|
||||
XvMCScreenPtr pScreenPriv;
|
||||
|
|
@ -604,9 +618,6 @@ ProcXvMCGetDRInfo(ClientPtr client)
|
|||
volatile CARD32 *patternP;
|
||||
#endif
|
||||
|
||||
REQUEST(xvmcGetDRInfoReq);
|
||||
REQUEST_SIZE_MATCH(xvmcGetDRInfoReq);
|
||||
|
||||
VALIDATE_XV_PORT(stuff->port, pPort, DixReadAccess);
|
||||
|
||||
pScreen = pPort->pAdaptor->pScreen;
|
||||
|
|
|
|||
Loading…
Reference in New Issue