vrclient: Fix x64 thunks for C API.

* Clean up the stack properly.
* Do not push parameters after shadow register space.
This commit is contained in:
Józef Kucia 2018-07-26 17:02:25 +02:00 committed by Andrew Eikum
parent 5c4e0ab079
commit 23ffdc5ec8
20 changed files with 2438 additions and 2382 deletions

View file

@ -195,23 +195,23 @@ winIVRInput_IVRInput_003 *create_winIVRInput_IVRInput_003_FnTable(void *linux_si
int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath);
init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle);
init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle);
init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle);
init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState);
init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData);
init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData);
init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData);
init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData);
init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed);
init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData);
init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction);
init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins);
init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName);
init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo);
init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins);
init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet);
init_thunk(&thunks[0], r, winIVRInput_IVRInput_003_SetActionManifestPath, 1);
init_thunk(&thunks[1], r, winIVRInput_IVRInput_003_GetActionSetHandle, 2);
init_thunk(&thunks[2], r, winIVRInput_IVRInput_003_GetActionHandle, 2);
init_thunk(&thunks[3], r, winIVRInput_IVRInput_003_GetInputSourceHandle, 2);
init_thunk(&thunks[4], r, winIVRInput_IVRInput_003_UpdateActionState, 3);
init_thunk(&thunks[5], r, winIVRInput_IVRInput_003_GetDigitalActionData, 3);
init_thunk(&thunks[6], r, winIVRInput_IVRInput_003_GetAnalogActionData, 3);
init_thunk(&thunks[7], r, winIVRInput_IVRInput_003_GetPoseActionData, 5);
init_thunk(&thunks[8], r, winIVRInput_IVRInput_003_GetSkeletalActionData, 7);
init_thunk(&thunks[9], r, winIVRInput_IVRInput_003_GetSkeletalActionDataCompressed, 6);
init_thunk(&thunks[10], r, winIVRInput_IVRInput_003_UncompressSkeletalActionData, 5);
init_thunk(&thunks[11], r, winIVRInput_IVRInput_003_TriggerHapticVibrationAction, 5);
init_thunk(&thunks[12], r, winIVRInput_IVRInput_003_GetActionOrigins, 4);
init_thunk(&thunks[13], r, winIVRInput_IVRInput_003_GetOriginLocalizedName, 3);
init_thunk(&thunks[14], r, winIVRInput_IVRInput_003_GetOriginTrackedDeviceInfo, 3);
init_thunk(&thunks[15], r, winIVRInput_IVRInput_003_ShowActionOrigins, 2);
init_thunk(&thunks[16], r, winIVRInput_IVRInput_003_ShowBindingsForActionSet, 4);
for (i = 0; i < 17; i++)
vtable[i] = &thunks[i];
r->linux_side = linux_side;