diff options
author | marha <marha@users.sourceforge.net> | 2012-06-04 09:40:31 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-06-04 09:40:31 +0200 |
commit | 63918271b55923e417b14b9e7add4443582cfab3 (patch) | |
tree | 59fc1c26991bbdb97d306da11408e98f49e05607 /xorg-server/hw/xfree86/dri2/dri2ext.c | |
parent | 7d6bc8457187e6c4284201b3a6625357c4aca9b4 (diff) | |
parent | 1af6fc1b5d93e54d6674de8b5870448b29f139a7 (diff) | |
download | vcxsrv-63918271b55923e417b14b9e7add4443582cfab3.tar.gz vcxsrv-63918271b55923e417b14b9e7add4443582cfab3.tar.bz2 vcxsrv-63918271b55923e417b14b9e7add4443582cfab3.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/hw/xfree86/dri2/dri2ext.c')
-rw-r--r-- | xorg-server/hw/xfree86/dri2/dri2ext.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/xorg-server/hw/xfree86/dri2/dri2ext.c b/xorg-server/hw/xfree86/dri2/dri2ext.c index 61578f3c1..c6f5b4e11 100644 --- a/xorg-server/hw/xfree86/dri2/dri2ext.c +++ b/xorg-server/hw/xfree86/dri2/dri2ext.c @@ -535,6 +535,37 @@ ProcDRI2WaitSBC(ClientPtr client) } static int +ProcDRI2GetParam(ClientPtr client) +{ + REQUEST(xDRI2GetParamReq); + xDRI2GetParamReply rep; + DrawablePtr pDrawable; + CARD64 value; + int status; + + REQUEST_SIZE_MATCH(xDRI2GetParamReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + + if (!validDrawable(client, stuff->drawable, DixReadAccess, + &pDrawable, &status)) + return status; + + status = DRI2GetParam(client, pDrawable, stuff->param, + &rep.is_param_recognized, &value); + rep.value_hi = value >> 32; + rep.value_lo = value & 0xffffffff; + + if (status != Success) + return status; + + WriteToClient(client, sizeof(xDRI2GetParamReply), &rep); + + return status; +} + +static int ProcDRI2Dispatch(ClientPtr client) { REQUEST(xReq); @@ -572,6 +603,8 @@ ProcDRI2Dispatch(ClientPtr client) return ProcDRI2WaitSBC(client); case X_DRI2SwapInterval: return ProcDRI2SwapInterval(client); + case X_DRI2GetParam: + return ProcDRI2GetParam(client); default: return BadRequest; } |