vrclient: Dereference typedefs

This commit is contained in:
Andrew Eikum 2019-09-17 15:16:30 -05:00
parent ede0f96149
commit 223286df88
52 changed files with 172 additions and 94 deletions

View File

@ -382,12 +382,12 @@ def handle_method(cfile, classname, winclassname, cppname, method, cpp, cpp_h, e
elif strip_ns(param.type.get_pointee().get_canonical().spelling) in system_structs:
do_unwrap = (strip_ns(param.type.get_pointee().get_canonical().spelling), param.spelling)
typename = "win" + do_unwrap[0] + "_" + display_sdkver(sdkver) + " *"
elif param.type.get_pointee().kind == clang.cindex.TypeKind.POINTER and \
elif param.type.get_pointee().get_canonical().kind == clang.cindex.TypeKind.POINTER and \
strip_ns(param.type.get_pointee().get_pointee().get_canonical().spelling) in system_structs:
do_wrap = (strip_ns(param.type.get_pointee().get_pointee().get_canonical().spelling), param.spelling)
typename = "win" + do_wrap[0] + "_" + display_sdkver(sdkver) + " **"
elif real_type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(real_type):
elif real_type.get_canonical().kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(real_type.get_canonical()):
do_win_to_lin = (strip_ns(real_type.spelling), param.spelling)
do_lin_to_win = (strip_ns(real_type.spelling), param.spelling)
#preserve pointers
@ -771,8 +771,8 @@ def struct_needs_conversion_nocache(struct):
for field in struct.get_fields():
if struct.get_offset(field.spelling) != windows_struct.get_offset(field.spelling):
return True
if field.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(field.type):
if field.type.get_canonical().kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(field.type.get_canonical()):
return True
#check 64-bit compat
@ -783,8 +783,8 @@ def struct_needs_conversion_nocache(struct):
for field in lin64_struct.get_fields():
if lin64_struct.get_offset(field.spelling) != windows_struct.get_offset(field.spelling):
return True
if field.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(field.type):
if field.type.get_canonical().kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(field.type.get_canonical()):
return True
return False
@ -797,9 +797,10 @@ def struct_needs_conversion(struct):
return struct_conversion_cache[sdkver][strip_const(struct.spelling)]
def get_field_attribute_str(field):
if field.type.kind != clang.cindex.TypeKind.RECORD:
ftype = field.type.get_canonical()
if ftype.kind != clang.cindex.TypeKind.RECORD:
return ""
win_struct = find_windows_struct(field.type)
win_struct = find_windows_struct(ftype)
align = win_struct.get_align()
return " __attribute__((aligned(" + str(align) + ")))"
@ -822,7 +823,7 @@ def handle_struct(sdkver, struct):
which = set()
if struct_needs_conversion(struct.type):
if struct_needs_conversion(struct.type.get_canonical()):
which.add(LIN_TO_WIN)
which.add(WIN_TO_LIN)
@ -858,13 +859,13 @@ def handle_struct(sdkver, struct):
cppfile.write("struct win%s {\n" % handler_name)
for m in struct.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL:
if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY:
if m.type.get_canonical().kind == clang.cindex.TypeKind.CONSTANTARRAY:
cppfile.write(" %s %s[%u];\n" % (m.type.element_type.spelling, m.displayname, m.type.element_count))
elif m.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(m.type):
elif m.type.get_canonical().kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(m.type.get_canonical()):
cppfile.write(" win%s_%s %s;\n" % (strip_ns(m.type.spelling), display_sdkver(sdkver), m.displayname))
else:
if m.type.kind == clang.cindex.TypeKind.POINTER and \
if m.type.get_canonical().kind == clang.cindex.TypeKind.POINTER and \
m.type.get_pointee().kind == clang.cindex.TypeKind.FUNCTIONPROTO:
cppfile.write(" void *%s; /*fn pointer*/\n" % m.displayname)
else:
@ -883,12 +884,12 @@ def handle_struct(sdkver, struct):
for m in struct.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL:
if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY:
if m.type.get_canonical().kind == clang.cindex.TypeKind.CONSTANTARRAY:
#TODO: if this is a struct, or packed differently, we'll have to
# copy each element in a for-loop
cppfile.write(" memcpy(win->%s, lin->%s, sizeof(win->%s));\n" % (m.displayname, m.displayname, m.displayname))
elif m.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(m.type):
elif m.type.get_canonical().kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(m.type.get_canonical()):
cppfile.write(" lin_to_win_struct_%s_%s(&lin->%s, &win->%s);\n" % (strip_ns(m.type.spelling), display_sdkver(sdkver), m.displayname, m.displayname))
else:
cppfile.write(" win->%s = lin->%s;\n" % (m.displayname, m.displayname))
@ -904,12 +905,12 @@ def handle_struct(sdkver, struct):
for m in struct.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL:
if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY:
if m.type.get_canonical().kind == clang.cindex.TypeKind.CONSTANTARRAY:
#TODO: if this is a struct, or packed differently, we'll have to
# copy each element in a for-loop
cppfile.write(" memcpy(lin->%s, win->%s, sizeof(lin->%s));\n" % (m.displayname, m.displayname, m.displayname))
elif m.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(m.type):
elif m.type.get_canonical().kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(m.type.get_canonical()):
cppfile.write(" win_to_lin_struct_%s_%s(&win->%s, &lin->%s);\n" % (m.type.spelling, display_sdkver(sdkver), m.displayname, m.displayname))
else:
cppfile.write(" lin->%s = win->%s;\n" % (m.displayname, m.displayname))
@ -925,7 +926,7 @@ def handle_struct(sdkver, struct):
for m in struct.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL:
if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY:
if m.type.get_canonical().kind == clang.cindex.TypeKind.CONSTANTARRAY:
#TODO: if this is a struct, or packed differently, we'll have to
# copy each element in a for-loop
cppfile.write(" memcpy(win->%s, lin->%s, sizeof(win->%s));\n" % (m.displayname, m.displayname, m.displayname))

View File

@ -71,7 +71,14 @@ uint32_t cppIVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName(void
bool cppIVRRenderModels_IVRRenderModels_002_GetComponentState(void *linux_side, const char * pchRenderModelName, const char * pchComponentName, VRControllerState_t * pControllerState, RenderModel_ComponentState_t * pComponentState)
{
return ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, (const vr::VRControllerState_t *)pControllerState, (vr::RenderModel_ComponentState_t *)pComponentState);
const VRControllerState_t lin;
bool _ret;
if(pControllerState)
struct_const VRControllerState_t_0915_win_to_lin(pControllerState, &lin);
_ret = ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, pControllerState ? &lin : nullptr, (vr::RenderModel_ComponentState_t *)pComponentState);
if(pControllerState)
struct_const VRControllerState_t_0915_lin_to_win(&lin, pControllerState);
return _ret;
}
bool cppIVRRenderModels_IVRRenderModels_002_RenderModelHasComponent(void *linux_side, const char * pchRenderModelName, const char * pchComponentName)

View File

@ -81,7 +81,14 @@ uint32_t cppIVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName(void
bool cppIVRRenderModels_IVRRenderModels_004_GetComponentState(void *linux_side, const char * pchRenderModelName, const char * pchComponentName, VRControllerState_t * pControllerState, RenderModel_ControllerMode_State_t * pState, RenderModel_ComponentState_t * pComponentState)
{
return ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, (const vr::VRControllerState_t *)pControllerState, (const vr::RenderModel_ControllerMode_State_t *)pState, (vr::RenderModel_ComponentState_t *)pComponentState);
const VRControllerState_t lin;
bool _ret;
if(pControllerState)
struct_const VRControllerState_t_0918_win_to_lin(pControllerState, &lin);
_ret = ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, pControllerState ? &lin : nullptr, (const vr::RenderModel_ControllerMode_State_t *)pState, (vr::RenderModel_ComponentState_t *)pComponentState);
if(pControllerState)
struct_const VRControllerState_t_0918_lin_to_win(&lin, pControllerState);
return _ret;
}
bool cppIVRRenderModels_IVRRenderModels_004_RenderModelHasComponent(void *linux_side, const char * pchRenderModelName, const char * pchComponentName)

View File

@ -86,7 +86,14 @@ uint32_t cppIVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName(void
bool cppIVRRenderModels_IVRRenderModels_005_GetComponentState(void *linux_side, const char * pchRenderModelName, const char * pchComponentName, VRControllerState_t * pControllerState, RenderModel_ControllerMode_State_t * pState, RenderModel_ComponentState_t * pComponentState)
{
return ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, (const vr::VRControllerState_t *)pControllerState, (const vr::RenderModel_ControllerMode_State_t *)pState, (vr::RenderModel_ComponentState_t *)pComponentState);
const VRControllerState_t lin;
bool _ret;
if(pControllerState)
struct_const VRControllerState_t_1015_win_to_lin(pControllerState, &lin);
_ret = ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, pControllerState ? &lin : nullptr, (const vr::RenderModel_ControllerMode_State_t *)pState, (vr::RenderModel_ComponentState_t *)pComponentState);
if(pControllerState)
struct_const VRControllerState_t_1015_lin_to_win(&lin, pControllerState);
return _ret;
}
bool cppIVRRenderModels_IVRRenderModels_005_RenderModelHasComponent(void *linux_side, const char * pchRenderModelName, const char * pchComponentName)

View File

@ -91,7 +91,14 @@ bool cppIVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath(void
bool cppIVRRenderModels_IVRRenderModels_006_GetComponentState(void *linux_side, const char * pchRenderModelName, const char * pchComponentName, VRControllerState_t * pControllerState, RenderModel_ControllerMode_State_t * pState, RenderModel_ComponentState_t * pComponentState)
{
return ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, (const vr::VRControllerState_t *)pControllerState, (const vr::RenderModel_ControllerMode_State_t *)pState, (vr::RenderModel_ComponentState_t *)pComponentState);
const VRControllerState_t lin;
bool _ret;
if(pControllerState)
struct_const VRControllerState_t_1610_win_to_lin(pControllerState, &lin);
_ret = ((IVRRenderModels*)linux_side)->GetComponentState((const char *)pchRenderModelName, (const char *)pchComponentName, pControllerState ? &lin : nullptr, (const vr::RenderModel_ControllerMode_State_t *)pState, (vr::RenderModel_ComponentState_t *)pComponentState);
if(pControllerState)
struct_const VRControllerState_t_1610_lin_to_win(&lin, pControllerState);
return _ret;
}
bool cppIVRRenderModels_IVRRenderModels_006_RenderModelHasComponent(void *linux_side, const char * pchRenderModelName, const char * pchComponentName)

View File

@ -66,7 +66,14 @@ const vr::CameraVideoStreamFrame_t * cppIVRTrackedCamera_IVRTrackedCamera_001_Ge
bool cppIVRTrackedCamera_IVRTrackedCamera_001_ReleaseVideoStreamFrame(void *linux_side, TrackedDeviceIndex_t nDeviceIndex, CameraVideoStreamFrame_t * pFrameImage)
{
return ((IVRTrackedCamera*)linux_side)->ReleaseVideoStreamFrame((vr::TrackedDeviceIndex_t)nDeviceIndex, (const vr::CameraVideoStreamFrame_t *)pFrameImage);
const CameraVideoStreamFrame_t lin;
bool _ret;
if(pFrameImage)
struct_const CameraVideoStreamFrame_t_0914_win_to_lin(pFrameImage, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->ReleaseVideoStreamFrame((vr::TrackedDeviceIndex_t)nDeviceIndex, pFrameImage ? &lin : nullptr);
if(pFrameImage)
struct_const CameraVideoStreamFrame_t_0914_lin_to_win(&lin, pFrameImage);
return _ret;
}
bool cppIVRTrackedCamera_IVRTrackedCamera_001_SetAutoExposure(void *linux_side, TrackedDeviceIndex_t nDeviceIndex, bool bEnable)

View File

@ -46,7 +46,14 @@ vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_ReleaseVideoS
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_GetVideoStreamFrameBuffer(void *linux_side, TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize)
{
return ((IVRTrackedCamera*)linux_side)->GetVideoStreamFrameBuffer((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pFrameBuffer, (uint32_t)nFrameBufferSize, (vr::CameraVideoStreamFrameHeader_t *)pFrameHeader, (uint32_t)nFrameHeaderSize);
CameraVideoStreamFrameHeader_t lin;
vr::EVRTrackedCameraError _ret;
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1017_win_to_lin(pFrameHeader, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->GetVideoStreamFrameBuffer((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pFrameBuffer, (uint32_t)nFrameBufferSize, pFrameHeader ? &lin : nullptr, (uint32_t)nFrameHeaderSize);
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1017_lin_to_win(&lin, pFrameHeader);
return _ret;
}
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_GetVideoStreamTextureSize(void *linux_side, TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, VRTextureBounds_t * pTextureBounds, uint32_t * pnWidth, uint32_t * pnHeight)
@ -56,12 +63,26 @@ vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_GetVideoStrea
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_GetVideoStreamTextureD3D11(void *linux_side, TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize)
{
return ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureD3D11((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pD3D11DeviceOrResource, (void **)ppD3D11ShaderResourceView, (vr::CameraVideoStreamFrameHeader_t *)pFrameHeader, (uint32_t)nFrameHeaderSize);
CameraVideoStreamFrameHeader_t lin;
vr::EVRTrackedCameraError _ret;
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1017_win_to_lin(pFrameHeader, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureD3D11((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pD3D11DeviceOrResource, (void **)ppD3D11ShaderResourceView, pFrameHeader ? &lin : nullptr, (uint32_t)nFrameHeaderSize);
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1017_lin_to_win(&lin, pFrameHeader);
return _ret;
}
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_GetVideoStreamTextureGL(void *linux_side, TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, glUInt_t * pglTextureId, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize)
{
return ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureGL((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (vr::glUInt_t *)pglTextureId, (vr::CameraVideoStreamFrameHeader_t *)pFrameHeader, (uint32_t)nFrameHeaderSize);
CameraVideoStreamFrameHeader_t lin;
vr::EVRTrackedCameraError _ret;
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1017_win_to_lin(pFrameHeader, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureGL((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (vr::glUInt_t *)pglTextureId, pFrameHeader ? &lin : nullptr, (uint32_t)nFrameHeaderSize);
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1017_lin_to_win(&lin, pFrameHeader);
return _ret;
}
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_004_ReleaseVideoStreamTextureGL(void *linux_side, TrackedCameraHandle_t hTrackedCamera, glUInt_t glTextureId)

View File

@ -46,7 +46,14 @@ vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_ReleaseVideoS
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamFrameBuffer(void *linux_side, TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize)
{
return ((IVRTrackedCamera*)linux_side)->GetVideoStreamFrameBuffer((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pFrameBuffer, (uint32_t)nFrameBufferSize, (vr::CameraVideoStreamFrameHeader_t *)pFrameHeader, (uint32_t)nFrameHeaderSize);
CameraVideoStreamFrameHeader_t lin;
vr::EVRTrackedCameraError _ret;
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_win_to_lin(pFrameHeader, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->GetVideoStreamFrameBuffer((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pFrameBuffer, (uint32_t)nFrameBufferSize, pFrameHeader ? &lin : nullptr, (uint32_t)nFrameHeaderSize);
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_lin_to_win(&lin, pFrameHeader);
return _ret;
}
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureSize(void *linux_side, TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, VRTextureBounds_t * pTextureBounds, uint32_t * pnWidth, uint32_t * pnHeight)
@ -56,12 +63,26 @@ vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStrea
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureD3D11(void *linux_side, TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize)
{
return ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureD3D11((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pD3D11DeviceOrResource, (void **)ppD3D11ShaderResourceView, (vr::CameraVideoStreamFrameHeader_t *)pFrameHeader, (uint32_t)nFrameHeaderSize);
CameraVideoStreamFrameHeader_t lin;
vr::EVRTrackedCameraError _ret;
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_win_to_lin(pFrameHeader, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureD3D11((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (void *)pD3D11DeviceOrResource, (void **)ppD3D11ShaderResourceView, pFrameHeader ? &lin : nullptr, (uint32_t)nFrameHeaderSize);
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_lin_to_win(&lin, pFrameHeader);
return _ret;
}
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_GetVideoStreamTextureGL(void *linux_side, TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, glUInt_t * pglTextureId, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize)
{
return ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureGL((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (vr::glUInt_t *)pglTextureId, (vr::CameraVideoStreamFrameHeader_t *)pFrameHeader, (uint32_t)nFrameHeaderSize);
CameraVideoStreamFrameHeader_t lin;
vr::EVRTrackedCameraError _ret;
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_win_to_lin(pFrameHeader, &lin);
_ret = ((IVRTrackedCamera*)linux_side)->GetVideoStreamTextureGL((vr::TrackedCameraHandle_t)hTrackedCamera, (vr::EVRTrackedCameraFrameType)eFrameType, (vr::glUInt_t *)pglTextureId, pFrameHeader ? &lin : nullptr, (uint32_t)nFrameHeaderSize);
if(pFrameHeader)
struct_CameraVideoStreamFrameHeader_t_1610_lin_to_win(&lin, pFrameHeader);
return _ret;
}
vr::EVRTrackedCameraError cppIVRTrackedCamera_IVRTrackedCamera_005_ReleaseVideoStreamTextureGL(void *linux_side, TrackedCameraHandle_t hTrackedCamera, glUInt_t glTextureId)

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_090_unwrap(winRenderModel_t_090 *w)
struct winVREvent_t_090 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_090 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_091_unwrap(winRenderModel_t_091 *w)
struct winVREvent_t_091 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_091 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_0910_unwrap(winRenderModel_t_0910 *w)
struct winVREvent_t_0910 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_0910 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -10,7 +10,7 @@ extern "C" {
struct winVREvent_t_0912 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -67,7 +67,7 @@ struct winCameraVideoStreamFrame_t_0912 {
double m_flFrameElapsedTime;
double m_flFrameCaptureTime;
bool m_bPoseIsValid;
vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking;
vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking __attribute__((aligned(4)));
float m_Pad[4];
void * m_pImageData;
} __attribute__ ((ms_struct));
@ -120,7 +120,7 @@ struct winCompositor_FrameTiming_0912 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -10,7 +10,7 @@ extern "C" {
struct winVREvent_t_0913 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -67,7 +67,7 @@ struct winCameraVideoStreamFrame_t_0913 {
double m_flFrameElapsedTime;
double m_flFrameCaptureTime;
bool m_bPoseIsValid;
vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking;
vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking __attribute__((aligned(4)));
float m_Pad[4];
void * m_pImageData;
} __attribute__ ((ms_struct));
@ -120,7 +120,7 @@ struct winCompositor_FrameTiming_0913 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -10,7 +10,7 @@ extern "C" {
struct winVREvent_t_0914 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -71,7 +71,7 @@ struct winCameraVideoStreamFrame_t_0914 {
double m_flFrameCaptureTime;
uint64_t m_nFrameCaptureTicks;
bool m_bPoseIsValid;
vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking;
vr::HmdMatrix34_t m_matDeviceToAbsoluteTracking __attribute__((aligned(4)));
float m_Pad[4];
void * m_pImageData;
} __attribute__ ((ms_struct));
@ -132,7 +132,7 @@ struct winCompositor_FrameTiming_0914 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -11,7 +11,7 @@ struct winVREvent_t_0915 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_0916 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_0917 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_0918 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_0919 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_092_unwrap(winRenderModel_t_092 *w)
struct winVREvent_t_092 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_092 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_0920 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_093_unwrap(winRenderModel_t_093 *w)
struct winVREvent_t_093 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_093 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_094_unwrap(winRenderModel_t_094 *w)
struct winVREvent_t_094 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_094 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_096_unwrap(winRenderModel_t_096 *w)
struct winVREvent_t_096 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_096 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_097_unwrap(winRenderModel_t_097 *w)
struct winVREvent_t_097 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_097 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_098_unwrap(winRenderModel_t_098 *w)
struct winVREvent_t_098 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_098 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -114,7 +114,7 @@ struct RenderModel_t *struct_RenderModel_t_099_unwrap(winRenderModel_t_099 *w)
struct winVREvent_t_099 {
vr::EVREventType eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
float eventAgeSeconds;
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -165,7 +165,7 @@ struct winCompositor_FrameTiming_099 {
float frameVSync;
uint32_t droppedFrames;
uint32_t frameIndex;
vr::TrackedDevicePose_t pose;
vr::TrackedDevicePose_t pose __attribute__((aligned(4)));
float prediction;
float m_flFrameIntervalMs;
float m_flSceneRenderCpuMs;

View File

@ -11,7 +11,7 @@ struct winVREvent_t_100 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_101 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1010 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1011 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1012 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1013 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1014 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1015 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1016 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1017 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_102 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -88,7 +88,7 @@ struct winCompositor_FrameTiming_102 {
float m_flCompositorUpdateStartMs;
float m_flCompositorUpdateEndMs;
float m_flCompositorRenderStartMs;
vr::TrackedDevicePose_t m_HmdPose;
vr::TrackedDevicePose_t m_HmdPose __attribute__((aligned(4)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_103 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)
@ -88,7 +88,7 @@ struct winCompositor_FrameTiming_103 {
float m_flCompositorUpdateStartMs;
float m_flCompositorUpdateEndMs;
float m_flCompositorRenderStartMs;
vr::TrackedDevicePose_t m_HmdPose;
vr::TrackedDevicePose_t m_HmdPose __attribute__((aligned(4)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_103a {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_104 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_105 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_106 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_107 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_108 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_109 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_113b {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1210 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1322 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1418 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1517 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)

View File

@ -11,7 +11,7 @@ struct winVREvent_t_1610 {
uint32_t eventType;
vr::TrackedDeviceIndex_t trackedDeviceIndex;
float eventAgeSeconds;
vr::VREvent_Data_t data;
vr::VREvent_Data_t data __attribute__((aligned(8)));
} __attribute__ ((ms_struct));
#pragma pack(pop)