DRI2/GLX: use new swap event types
Use the new event types so we can pass a valid SBC value to clients. Fix up the completion calls to use CARD32 instead of CARD64 to match the new field size. Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
a3cb7d097a
commit
932513e23b
|
@ -774,11 +774,11 @@ RECORDPROTO="recordproto >= 1.13.99.1"
|
|||
SCRNSAVERPROTO="scrnsaverproto >= 1.1"
|
||||
RESOURCEPROTO="resourceproto"
|
||||
DRIPROTO="xf86driproto >= 2.1.0"
|
||||
DRI2PROTO="dri2proto >= 2.3"
|
||||
DRI2PROTO="dri2proto >= 2.6"
|
||||
XINERAMAPROTO="xineramaproto"
|
||||
BIGFONTPROTO="xf86bigfontproto >= 1.2.0"
|
||||
DGAPROTO="xf86dgaproto >= 2.0.99.1"
|
||||
GLPROTO="glproto >= 1.4.10"
|
||||
GLPROTO="glproto >= 1.4.14"
|
||||
DMXPROTO="dmxproto >= 2.2.99.1"
|
||||
VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
|
||||
WINDOWSWMPROTO="windowswmproto"
|
||||
|
|
|
@ -163,10 +163,10 @@ __glXDRIdrawableWaitGL(__GLXdrawable *drawable)
|
|||
|
||||
static void
|
||||
__glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust,
|
||||
CARD64 msc, CARD64 sbc)
|
||||
CARD64 msc, CARD32 sbc)
|
||||
{
|
||||
__GLXdrawable *drawable = data;
|
||||
xGLXBufferSwapComplete wire;
|
||||
xGLXBufferSwapComplete2 wire;
|
||||
|
||||
if (!(drawable->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK))
|
||||
return;
|
||||
|
@ -192,8 +192,7 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust,
|
|||
wire.ust_lo = ust & 0xffffffff;
|
||||
wire.msc_hi = msc >> 32;
|
||||
wire.msc_lo = msc & 0xffffffff;
|
||||
wire.sbc_hi = sbc >> 32;
|
||||
wire.sbc_lo = sbc & 0xffffffff;
|
||||
wire.sbc = sbc;
|
||||
|
||||
WriteEventsToClient(client, 1, (xEvent *) &wire);
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ extern CARD8 dri2_minor;
|
|||
|
||||
typedef DRI2BufferRec DRI2Buffer2Rec, *DRI2Buffer2Ptr;
|
||||
typedef void (*DRI2SwapEventPtr)(ClientPtr client, void *data, int type,
|
||||
CARD64 ust, CARD64 msc, CARD64 sbc);
|
||||
CARD64 ust, CARD64 msc, CARD32 sbc);
|
||||
|
||||
|
||||
typedef DRI2BufferPtr (*DRI2CreateBuffersProcPtr)(DrawablePtr pDraw,
|
||||
|
|
|
@ -357,9 +357,9 @@ vals_to_card64(CARD32 lo, CARD32 hi)
|
|||
|
||||
static void
|
||||
DRI2SwapEvent(ClientPtr client, void *data, int type, CARD64 ust, CARD64 msc,
|
||||
CARD64 sbc)
|
||||
CARD32 sbc)
|
||||
{
|
||||
xDRI2BufferSwapComplete event;
|
||||
xDRI2BufferSwapComplete2 event;
|
||||
DrawablePtr pDrawable = data;
|
||||
|
||||
event.type = DRI2EventBase + DRI2_BufferSwapComplete;
|
||||
|
@ -369,8 +369,7 @@ DRI2SwapEvent(ClientPtr client, void *data, int type, CARD64 ust, CARD64 msc,
|
|||
event.ust_lo = ust & 0xffffffff;
|
||||
event.msc_hi = (CARD64)msc >> 32;
|
||||
event.msc_lo = msc & 0xffffffff;
|
||||
event.sbc_hi = (CARD64)sbc >> 32;
|
||||
event.sbc_lo = sbc & 0xffffffff;
|
||||
event.sbc = sbc;
|
||||
|
||||
WriteEventsToClient(client, 1, (xEvent *)&event);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue