vrclient: Support v2.2.3.

CW-Bug-Id: #23412
This commit is contained in:
Paul Gofman 2024-02-14 14:06:15 -06:00 committed by Arkadiusz Hiler
parent 2d93d45926
commit 76369eb526
21 changed files with 8130 additions and 40 deletions

2
openvr

@ -1 +1 @@
Subproject commit 15f0838a0487feb7da60acd39aab8099b994234c
Subproject commit f51d87ecf8f7903e859b0aa4d617ff1e5f33db5a

View File

@ -72,6 +72,7 @@ SOURCES = \
cppIVRCompositor_IVRCompositor_024.cpp \
cppIVRCompositor_IVRCompositor_026.cpp \
cppIVRCompositor_IVRCompositor_027.cpp \
cppIVRCompositor_IVRCompositor_028.cpp \
cppIVRControlPanel_IVRControlPanel_006.cpp \
cppIVRDriverManager_IVRDriverManager_001.cpp \
cppIVRExtendedDisplay_IVRExtendedDisplay_001.cpp \

View File

@ -0,0 +1,393 @@
/* This file is auto-generated, do not edit. */
#include "unix_private.h"
#if 0
#pragma makedep unix
#endif
NTSTATUS IVRCompositor_IVRCompositor_028_SetTrackingSpace( void *args )
{
struct IVRCompositor_IVRCompositor_028_SetTrackingSpace_params *params = (struct IVRCompositor_IVRCompositor_028_SetTrackingSpace_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->SetTrackingSpace( params->eOrigin );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetTrackingSpace( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetTrackingSpace_params *params = (struct IVRCompositor_IVRCompositor_028_GetTrackingSpace_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetTrackingSpace( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_WaitGetPoses( void *args )
{
struct IVRCompositor_IVRCompositor_028_WaitGetPoses_params *params = (struct IVRCompositor_IVRCompositor_028_WaitGetPoses_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->WaitGetPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPoses( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetLastPoses_params *params = (struct IVRCompositor_IVRCompositor_028_GetLastPoses_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetLastPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex_params *params = (struct IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetLastPoseForTrackedDeviceIndex( params->unDeviceIndex, params->pOutputPose, params->pOutputGamePose );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame( void *args )
{
struct IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame_params *params = (struct IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ClearLastSubmittedFrame( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_PostPresentHandoff( void *args )
{
struct IVRCompositor_IVRCompositor_028_PostPresentHandoff_params *params = (struct IVRCompositor_IVRCompositor_028_PostPresentHandoff_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->PostPresentHandoff( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetFrameTiming( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetFrameTiming_params *params = (struct IVRCompositor_IVRCompositor_028_GetFrameTiming_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetFrameTiming( params->pTiming, params->unFramesAgo );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetFrameTimings( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetFrameTimings_params *params = (struct IVRCompositor_IVRCompositor_028_GetFrameTimings_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetFrameTimings( params->pTiming, params->nFrames );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining_params *params = (struct IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetFrameTimeRemaining( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetCumulativeStats( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetCumulativeStats_params *params = (struct IVRCompositor_IVRCompositor_028_GetCumulativeStats_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->GetCumulativeStats( params->pStats, params->nStatsSizeInBytes );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_FadeToColor( void *args )
{
struct IVRCompositor_IVRCompositor_028_FadeToColor_params *params = (struct IVRCompositor_IVRCompositor_028_FadeToColor_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->FadeToColor( params->fSeconds, params->fRed, params->fGreen, params->fBlue, params->fAlpha, params->bBackground );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetCurrentFadeColor( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetCurrentFadeColor_params *params = (struct IVRCompositor_IVRCompositor_028_GetCurrentFadeColor_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
*params->_ret = iface->GetCurrentFadeColor( params->bBackground );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_FadeGrid( void *args )
{
struct IVRCompositor_IVRCompositor_028_FadeGrid_params *params = (struct IVRCompositor_IVRCompositor_028_FadeGrid_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->FadeGrid( params->fSeconds, params->bFadeGridIn );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha_params *params = (struct IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetCurrentGridAlpha( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ClearSkyboxOverride( void *args )
{
struct IVRCompositor_IVRCompositor_028_ClearSkyboxOverride_params *params = (struct IVRCompositor_IVRCompositor_028_ClearSkyboxOverride_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ClearSkyboxOverride( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorBringToFront( void *args )
{
struct IVRCompositor_IVRCompositor_028_CompositorBringToFront_params *params = (struct IVRCompositor_IVRCompositor_028_CompositorBringToFront_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->CompositorBringToFront( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorGoToBack( void *args )
{
struct IVRCompositor_IVRCompositor_028_CompositorGoToBack_params *params = (struct IVRCompositor_IVRCompositor_028_CompositorGoToBack_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->CompositorGoToBack( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorQuit( void *args )
{
struct IVRCompositor_IVRCompositor_028_CompositorQuit_params *params = (struct IVRCompositor_IVRCompositor_028_CompositorQuit_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->CompositorQuit( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_IsFullscreen( void *args )
{
struct IVRCompositor_IVRCompositor_028_IsFullscreen_params *params = (struct IVRCompositor_IVRCompositor_028_IsFullscreen_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->IsFullscreen( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess_params *params = (struct IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetCurrentSceneFocusProcess( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastFrameRenderer( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetLastFrameRenderer_params *params = (struct IVRCompositor_IVRCompositor_028_GetLastFrameRenderer_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetLastFrameRenderer( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_CanRenderScene( void *args )
{
struct IVRCompositor_IVRCompositor_028_CanRenderScene_params *params = (struct IVRCompositor_IVRCompositor_028_CanRenderScene_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->CanRenderScene( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ShowMirrorWindow( void *args )
{
struct IVRCompositor_IVRCompositor_028_ShowMirrorWindow_params *params = (struct IVRCompositor_IVRCompositor_028_ShowMirrorWindow_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ShowMirrorWindow( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_HideMirrorWindow( void *args )
{
struct IVRCompositor_IVRCompositor_028_HideMirrorWindow_params *params = (struct IVRCompositor_IVRCompositor_028_HideMirrorWindow_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->HideMirrorWindow( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible( void *args )
{
struct IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible_params *params = (struct IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->IsMirrorWindowVisible( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorDumpImages( void *args )
{
struct IVRCompositor_IVRCompositor_028_CompositorDumpImages_params *params = (struct IVRCompositor_IVRCompositor_028_CompositorDumpImages_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->CompositorDumpImages( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources( void *args )
{
struct IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources_params *params = (struct IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->ShouldAppRenderWithLowResources( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn( void *args )
{
struct IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn_params *params = (struct IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ForceInterleavedReprojectionOn( params->bOverride );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ForceReconnectProcess( void *args )
{
struct IVRCompositor_IVRCompositor_028_ForceReconnectProcess_params *params = (struct IVRCompositor_IVRCompositor_028_ForceReconnectProcess_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ForceReconnectProcess( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_SuspendRendering( void *args )
{
struct IVRCompositor_IVRCompositor_028_SuspendRendering_params *params = (struct IVRCompositor_IVRCompositor_028_SuspendRendering_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->SuspendRendering( params->bSuspend );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11_params *params = (struct IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetMirrorTextureD3D11( params->eEye, params->pD3D11DeviceOrResource, params->ppD3D11ShaderResourceView );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11( void *args )
{
struct IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11_params *params = (struct IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ReleaseMirrorTextureD3D11( params->pD3D11ShaderResourceView );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetMirrorTextureGL( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetMirrorTextureGL_params *params = (struct IVRCompositor_IVRCompositor_028_GetMirrorTextureGL_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetMirrorTextureGL( params->eEye, params->pglTextureId, params->pglSharedTextureHandle );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture( void *args )
{
struct IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture_params *params = (struct IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->ReleaseSharedGLTexture( params->glTextureId, params->glSharedTextureHandle );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess( void *args )
{
struct IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess_params *params = (struct IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->LockGLSharedTextureForAccess( params->glSharedTextureHandle );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess( void *args )
{
struct IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess_params *params = (struct IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->UnlockGLSharedTextureForAccess( params->glSharedTextureHandle );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired_params *params = (struct IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetVulkanInstanceExtensionsRequired( params->pchValue, params->unBufferSize );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_SetExplicitTimingMode( void *args )
{
struct IVRCompositor_IVRCompositor_028_SetExplicitTimingMode_params *params = (struct IVRCompositor_IVRCompositor_028_SetExplicitTimingMode_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->SetExplicitTimingMode( params->eTimingMode );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData( void *args )
{
struct IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData_params *params = (struct IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->SubmitExplicitTimingData( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled( void *args )
{
struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled_params *params = (struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->IsMotionSmoothingEnabled( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported( void *args )
{
struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported_params *params = (struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->IsMotionSmoothingSupported( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading( void *args )
{
struct IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading_params *params = (struct IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->IsCurrentSceneFocusAppLoading( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_SetStageOverride_Async( void *args )
{
struct IVRCompositor_IVRCompositor_028_SetStageOverride_Async_params *params = (struct IVRCompositor_IVRCompositor_028_SetStageOverride_Async_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
char *u_pchRenderModelPath = vrclient_dos_to_unix_path( params->pchRenderModelPath );
params->_ret = iface->SetStageOverride_Async( u_pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings );
vrclient_free_path( u_pchRenderModelPath );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_ClearStageOverride( void *args )
{
struct IVRCompositor_IVRCompositor_028_ClearStageOverride_params *params = (struct IVRCompositor_IVRCompositor_028_ClearStageOverride_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
iface->ClearStageOverride( );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults_params *params = (struct IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetCompositorBenchmarkResults( params->pBenchmarkResults, params->nSizeOfBenchmarkResults );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs_params *params = (struct IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetLastPosePredictionIDs( params->pRenderPosePredictionID, params->pGamePosePredictionID );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetPosesForFrame( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetPosesForFrame_params *params = (struct IVRCompositor_IVRCompositor_028_GetPosesForFrame_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
params->_ret = iface->GetPosesForFrame( params->unPosePredictionID, params->pPoseArray, params->unPoseArrayCount );
return 0;
}

View File

@ -31,7 +31,7 @@ NTSTATUS IVROverlayView_IVROverlayView_003_PostOverlayEvent( void *args )
{
struct IVROverlayView_IVROverlayView_003_PostOverlayEvent_params *params = (struct IVROverlayView_IVROverlayView_003_PostOverlayEvent_params *)args;
struct u_IVROverlayView_IVROverlayView_003 *iface = (struct u_IVROverlayView_IVROverlayView_003 *)params->linux_side;
u_VREvent_t_2010 u_pvrEvent;
u_VREvent_t_223 u_pvrEvent;
if (params->pvrEvent) u_pvrEvent = *params->pvrEvent;
iface->PostOverlayEvent( params->ulOverlayHandle, params->pvrEvent ? &u_pvrEvent : nullptr );
return 0;

View File

@ -377,7 +377,7 @@ NTSTATUS IVROverlay_IVROverlay_027_PollNextOverlayEvent( void *args )
{
struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params *params = (struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params *)args;
struct u_IVROverlay_IVROverlay_027 *iface = (struct u_IVROverlay_IVROverlay_027 *)params->linux_side;
u_VREvent_t_2010 u_pEvent;
u_VREvent_t_223 u_pEvent;
if (params->pEvent) u_pEvent = *params->pEvent;
uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0;
params->_ret = iface->PollNextOverlayEvent( params->ulOverlayHandle, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent );

View File

@ -233,7 +233,7 @@ NTSTATUS IVRSystem_IVRSystem_022_PollNextEvent( void *args )
{
struct IVRSystem_IVRSystem_022_PollNextEvent_params *params = (struct IVRSystem_IVRSystem_022_PollNextEvent_params *)args;
struct u_IVRSystem_IVRSystem_022 *iface = (struct u_IVRSystem_IVRSystem_022 *)params->linux_side;
u_VREvent_t_2010 u_pEvent;
u_VREvent_t_223 u_pEvent;
if (params->pEvent) u_pEvent = *params->pEvent;
uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0;
params->_ret = iface->PollNextEvent( params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent );
@ -245,7 +245,7 @@ NTSTATUS IVRSystem_IVRSystem_022_PollNextEventWithPose( void *args )
{
struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params *params = (struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params *)args;
struct u_IVRSystem_IVRSystem_022 *iface = (struct u_IVRSystem_IVRSystem_022 *)params->linux_side;
u_VREvent_t_2010 u_pEvent;
u_VREvent_t_223 u_pEvent;
if (params->pEvent) u_pEvent = *params->pEvent;
uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0;
params->_ret = iface->PollNextEventWithPose( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent, params->pTrackedDevicePose );

View File

@ -11,6 +11,7 @@ import os
import re
SDK_VERSIONS = [
"v2.2.3",
"v2.0.10",
"v1.26.7",
"v1.23.7",
@ -234,6 +235,7 @@ MANUAL_METHODS = {
"IVRSystem_GetDXGIOutputInfo": lambda ver, abi: abi == 'w',
"IVRSystem_GetOutputDevice": lambda ver, abi: abi == 'u' and ver > 16,
"IVRCompositor_Submit": lambda ver, abi: ver > 8,
"IVRCompositor_SubmitWithArrayIndex": lambda ver, abi: ver > 8,
"IVRCompositor_SetSkyboxOverride": lambda ver, abi: ver > 8,
"IVRCompositor_PostPresentHandoff": lambda ver, abi: abi == 'w',
"IVRCompositor_WaitGetPoses": lambda ver, abi: abi == 'w' and ver > 15,

View File

@ -0,0 +1,35 @@
//========= Copyright Valve Corporation ============//
#include "openvr.h"
namespace vr
{
class IVRClientCore
{
public:
/** Initializes the system */
virtual EVRInitError Init( vr::EVRApplicationType eApplicationType, const char *pStartupInfo ) = 0;
/** cleans up everything in vrclient.dll and prepares the DLL to be unloaded */
virtual void Cleanup() = 0;
/** checks to see if the specified interface/version is supported in this vrclient.dll */
virtual EVRInitError IsInterfaceVersionValid( const char *pchInterfaceVersion ) = 0;
/** Retrieves any interface from vrclient.dll */
virtual void *GetGenericInterface( const char *pchNameAndVersion, EVRInitError *peError ) = 0;
/** Returns true if any driver has an HMD attached. Can be called outside of Init/Cleanup */
virtual bool BIsHmdPresent() = 0;
/** Returns an English error string from inside vrclient.dll which might be newer than the API DLL */
virtual const char *GetEnglishStringForHmdError( vr::EVRInitError eError ) = 0;
/** Returns an error symbol from inside vrclient.dll which might be newer than the API DLL */
virtual const char *GetIDForVRInitError( vr::EVRInitError eError ) = 0;
};
static const char * const IVRClientCore_Version = "IVRClientCore_003";
}

File diff suppressed because it is too large Load Diff

View File

@ -3825,7 +3825,7 @@ struct u_IVROverlayView_IVROverlayView_003
#ifdef __cplusplus
virtual uint32_t AcquireOverlayView( uint64_t, u_VRNativeDevice_t *, u_VROverlayView_t *, uint32_t ) = 0;
virtual uint32_t ReleaseOverlayView( u_VROverlayView_t * ) = 0;
virtual void PostOverlayEvent( uint64_t, const u_VREvent_t_2010 * ) = 0;
virtual void PostOverlayEvent( uint64_t, const u_VREvent_t_223 * ) = 0;
virtual int8_t IsViewingPermitted( uint64_t ) = 0;
#endif /* __cplusplus */
};
@ -3944,8 +3944,8 @@ struct u_IVRSystem_IVRSystem_022
virtual uint32_t GetArrayTrackedDeviceProperty( uint32_t, uint32_t, uint32_t, void *, uint32_t, uint32_t * ) = 0;
virtual uint32_t GetStringTrackedDeviceProperty( uint32_t, uint32_t, char *, uint32_t, uint32_t * ) = 0;
virtual const char * GetPropErrorNameFromEnum( uint32_t ) = 0;
virtual int8_t PollNextEvent( u_VREvent_t_2010 *, uint32_t ) = 0;
virtual int8_t PollNextEventWithPose( uint32_t, u_VREvent_t_2010 *, uint32_t, TrackedDevicePose_t * ) = 0;
virtual int8_t PollNextEvent( u_VREvent_t_223 *, uint32_t ) = 0;
virtual int8_t PollNextEventWithPose( uint32_t, u_VREvent_t_223 *, uint32_t, TrackedDevicePose_t * ) = 0;
virtual const char * GetEventTypeNameFromEnum( uint32_t ) = 0;
virtual u_HiddenAreaMesh_t GetHiddenAreaMesh( uint32_t, uint32_t ) = 0;
virtual int8_t GetControllerState( uint32_t, u_VRControllerState001_t *, uint32_t ) = 0;
@ -4258,7 +4258,7 @@ struct u_IVROverlay_IVROverlay_027
virtual int8_t IsOverlayVisible( uint64_t ) = 0;
virtual uint32_t GetTransformForOverlayCoordinates( uint64_t, uint32_t, HmdVector2_t, HmdMatrix34_t * ) = 0;
virtual uint32_t WaitFrameSync( uint32_t ) = 0;
virtual int8_t PollNextOverlayEvent( uint64_t, u_VREvent_t_2010 *, uint32_t ) = 0;
virtual int8_t PollNextOverlayEvent( uint64_t, u_VREvent_t_223 *, uint32_t ) = 0;
virtual uint32_t GetOverlayInputMethod( uint64_t, uint32_t * ) = 0;
virtual uint32_t SetOverlayInputMethod( uint64_t, uint32_t ) = 0;
virtual uint32_t GetOverlayMouseScale( uint64_t, HmdVector2_t * ) = 0;
@ -4295,6 +4295,64 @@ struct u_IVROverlay_IVROverlay_027
#endif /* __cplusplus */
};
struct u_IVRCompositor_IVRCompositor_028
{
#ifdef __cplusplus
virtual void SetTrackingSpace( uint32_t ) = 0;
virtual uint32_t GetTrackingSpace( ) = 0;
virtual uint32_t WaitGetPoses( TrackedDevicePose_t *, uint32_t, TrackedDevicePose_t *, uint32_t ) = 0;
virtual uint32_t GetLastPoses( TrackedDevicePose_t *, uint32_t, TrackedDevicePose_t *, uint32_t ) = 0;
virtual uint32_t GetLastPoseForTrackedDeviceIndex( uint32_t, TrackedDevicePose_t *, TrackedDevicePose_t * ) = 0;
virtual uint32_t Submit( uint32_t, const u_Texture_t *, const VRTextureBounds_t *, uint32_t ) = 0;
virtual uint32_t SubmitWithArrayIndex( uint32_t, const u_Texture_t *, uint32_t, const VRTextureBounds_t *, uint32_t ) = 0;
virtual void ClearLastSubmittedFrame( ) = 0;
virtual void PostPresentHandoff( ) = 0;
virtual int8_t GetFrameTiming( u_Compositor_FrameTiming_1017 *, uint32_t ) = 0;
virtual uint32_t GetFrameTimings( u_Compositor_FrameTiming_1017 *, uint32_t ) = 0;
virtual float GetFrameTimeRemaining( ) = 0;
virtual void GetCumulativeStats( Compositor_CumulativeStats_1267 *, uint32_t ) = 0;
virtual void FadeToColor( float, float, float, float, float, int8_t ) = 0;
virtual HmdColor_t GetCurrentFadeColor( int8_t ) = 0;
virtual void FadeGrid( float, int8_t ) = 0;
virtual float GetCurrentGridAlpha( ) = 0;
virtual uint32_t SetSkyboxOverride( const u_Texture_t *, uint32_t ) = 0;
virtual void ClearSkyboxOverride( ) = 0;
virtual void CompositorBringToFront( ) = 0;
virtual void CompositorGoToBack( ) = 0;
virtual void CompositorQuit( ) = 0;
virtual int8_t IsFullscreen( ) = 0;
virtual uint32_t GetCurrentSceneFocusProcess( ) = 0;
virtual uint32_t GetLastFrameRenderer( ) = 0;
virtual int8_t CanRenderScene( ) = 0;
virtual void ShowMirrorWindow( ) = 0;
virtual void HideMirrorWindow( ) = 0;
virtual int8_t IsMirrorWindowVisible( ) = 0;
virtual void CompositorDumpImages( ) = 0;
virtual int8_t ShouldAppRenderWithLowResources( ) = 0;
virtual void ForceInterleavedReprojectionOn( int8_t ) = 0;
virtual void ForceReconnectProcess( ) = 0;
virtual void SuspendRendering( int8_t ) = 0;
virtual uint32_t GetMirrorTextureD3D11( uint32_t, void *, void ** ) = 0;
virtual void ReleaseMirrorTextureD3D11( void * ) = 0;
virtual uint32_t GetMirrorTextureGL( uint32_t, uint32_t *, void ** ) = 0;
virtual int8_t ReleaseSharedGLTexture( uint32_t, void * ) = 0;
virtual void LockGLSharedTextureForAccess( void * ) = 0;
virtual void UnlockGLSharedTextureForAccess( void * ) = 0;
virtual uint32_t GetVulkanInstanceExtensionsRequired( char *, uint32_t ) = 0;
virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *, char *, uint32_t ) = 0;
virtual void SetExplicitTimingMode( uint32_t ) = 0;
virtual uint32_t SubmitExplicitTimingData( ) = 0;
virtual int8_t IsMotionSmoothingEnabled( ) = 0;
virtual int8_t IsMotionSmoothingSupported( ) = 0;
virtual int8_t IsCurrentSceneFocusAppLoading( ) = 0;
virtual uint32_t SetStageOverride_Async( const char *, const HmdMatrix34_t *, const Compositor_StageRenderSettings *, uint32_t ) = 0;
virtual void ClearStageOverride( ) = 0;
virtual int8_t GetCompositorBenchmarkResults( Compositor_BenchmarkResults *, uint32_t ) = 0;
virtual uint32_t GetLastPosePredictionIDs( uint32_t *, uint32_t * ) = 0;
virtual uint32_t GetPosesForFrame( uint32_t, TrackedDevicePose_t *, uint32_t ) = 0;
#endif /* __cplusplus */
};
NTSTATUS IVRApplications_IVRApplications_001_AddApplicationManifest( void * );
NTSTATUS IVRApplications_IVRApplications_001_RemoveApplicationManifest( void * );
@ -5271,6 +5329,58 @@ NTSTATUS IVRCompositor_IVRCompositor_027_ClearStageOverride( void * );
NTSTATUS IVRCompositor_IVRCompositor_027_GetCompositorBenchmarkResults( void * );
NTSTATUS IVRCompositor_IVRCompositor_027_GetLastPosePredictionIDs( void * );
NTSTATUS IVRCompositor_IVRCompositor_027_GetPosesForFrame( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SetTrackingSpace( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetTrackingSpace( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_WaitGetPoses( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPoses( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_Submit( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_PostPresentHandoff( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetFrameTiming( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetFrameTimings( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetCumulativeStats( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_FadeToColor( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetCurrentFadeColor( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_FadeGrid( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SetSkyboxOverride( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ClearSkyboxOverride( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorBringToFront( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorGoToBack( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorQuit( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_IsFullscreen( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastFrameRenderer( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_CanRenderScene( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ShowMirrorWindow( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_HideMirrorWindow( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_CompositorDumpImages( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ForceReconnectProcess( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SuspendRendering( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetMirrorTextureGL( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SetExplicitTimingMode( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_SetStageOverride_Async( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_ClearStageOverride( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs( void * );
NTSTATUS IVRCompositor_IVRCompositor_028_GetPosesForFrame( void * );
NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc1( void * );
NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc2( void * );
NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc3( void * );

View File

@ -172,6 +172,15 @@ NTSTATUS IVRCompositor_IVRCompositor_027_GetVulkanDeviceExtensionsRequired( void
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired( void *args )
{
struct IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired_params *params = (struct IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
VkPhysicalDevice_T *host_device = p_get_native_VkPhysicalDevice( params->pPhysicalDevice );
params->_ret = (uint32_t)iface->GetVulkanDeviceExtensionsRequired( host_device, params->pchValue, params->unBufferSize );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_009_SetSkyboxOverride( void *args )
{
struct IVRCompositor_IVRCompositor_009_SetSkyboxOverride_params *params = (struct IVRCompositor_IVRCompositor_009_SetSkyboxOverride_params *)args;
@ -393,6 +402,19 @@ NTSTATUS IVRCompositor_IVRCompositor_027_SetSkyboxOverride( void *args )
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_SetSkyboxOverride( void *args )
{
struct IVRCompositor_IVRCompositor_028_SetSkyboxOverride_params *params = (struct IVRCompositor_IVRCompositor_028_SetSkyboxOverride_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
u_VRVulkanTextureArrayData_t vkdata[params->unTextureCount];
u_Texture_t textures[params->unTextureCount];
uint32_t i;
for (i = 0; i < params->unTextureCount; i++) textures[i] = unwrap_texture_data( params->pTextures + i, 0, &vkdata[i] );
params->_ret = (uint32_t)iface->SetSkyboxOverride( textures, params->unTextureCount );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_009_Submit( void *args )
{
struct IVRCompositor_IVRCompositor_009_Submit_params *params = (struct IVRCompositor_IVRCompositor_009_Submit_params *)args;
@ -613,3 +635,29 @@ NTSTATUS IVRCompositor_IVRCompositor_027_Submit( void *args )
params->_ret = (uint32_t)iface->Submit( params->eEye, submit, params->pBounds, params->nSubmitFlags );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_Submit( void *args )
{
struct IVRCompositor_IVRCompositor_028_Submit_params *params = (struct IVRCompositor_IVRCompositor_028_Submit_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
u_VRTextureWithPoseAndDepth_t u_texture;
u_VRVulkanTextureData_t u_depth_vkdata;
u_VRVulkanTextureArrayData_t u_vkdata;
u_Texture_t *submit = unwrap_submit_texture_data( (const w_VRTextureWithPoseAndDepth_t *)params->pTexture, params->nSubmitFlags,
&u_texture, &u_vkdata, &u_depth_vkdata );
params->_ret = (uint32_t)iface->Submit( params->eEye, submit, params->pBounds, params->nSubmitFlags );
return 0;
}
NTSTATUS IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex( void *args )
{
struct IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex_params *params = (struct IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex_params *)args;
struct u_IVRCompositor_IVRCompositor_028 *iface = (struct u_IVRCompositor_IVRCompositor_028 *)params->linux_side;
u_VRTextureWithPoseAndDepth_t u_texture;
u_VRVulkanTextureData_t u_depth_vkdata;
u_VRVulkanTextureArrayData_t u_vkdata;
u_Texture_t *submit = unwrap_submit_texture_data( (const w_VRTextureWithPoseAndDepth_t *)params->pTexture, params->nSubmitFlags,
&u_texture, &u_vkdata, &u_depth_vkdata );
params->_ret = (uint32_t)iface->SubmitWithArrayIndex( params->eEye, submit, params->unTextureArrayIndex, params->pBounds, params->nSubmitFlags );
return 0;
}

View File

@ -986,6 +986,58 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] =
IVRCompositor_IVRCompositor_027_GetCompositorBenchmarkResults,
IVRCompositor_IVRCompositor_027_GetLastPosePredictionIDs,
IVRCompositor_IVRCompositor_027_GetPosesForFrame,
IVRCompositor_IVRCompositor_028_SetTrackingSpace,
IVRCompositor_IVRCompositor_028_GetTrackingSpace,
IVRCompositor_IVRCompositor_028_WaitGetPoses,
IVRCompositor_IVRCompositor_028_GetLastPoses,
IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex,
IVRCompositor_IVRCompositor_028_Submit,
IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex,
IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame,
IVRCompositor_IVRCompositor_028_PostPresentHandoff,
IVRCompositor_IVRCompositor_028_GetFrameTiming,
IVRCompositor_IVRCompositor_028_GetFrameTimings,
IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining,
IVRCompositor_IVRCompositor_028_GetCumulativeStats,
IVRCompositor_IVRCompositor_028_FadeToColor,
IVRCompositor_IVRCompositor_028_GetCurrentFadeColor,
IVRCompositor_IVRCompositor_028_FadeGrid,
IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha,
IVRCompositor_IVRCompositor_028_SetSkyboxOverride,
IVRCompositor_IVRCompositor_028_ClearSkyboxOverride,
IVRCompositor_IVRCompositor_028_CompositorBringToFront,
IVRCompositor_IVRCompositor_028_CompositorGoToBack,
IVRCompositor_IVRCompositor_028_CompositorQuit,
IVRCompositor_IVRCompositor_028_IsFullscreen,
IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess,
IVRCompositor_IVRCompositor_028_GetLastFrameRenderer,
IVRCompositor_IVRCompositor_028_CanRenderScene,
IVRCompositor_IVRCompositor_028_ShowMirrorWindow,
IVRCompositor_IVRCompositor_028_HideMirrorWindow,
IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible,
IVRCompositor_IVRCompositor_028_CompositorDumpImages,
IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources,
IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn,
IVRCompositor_IVRCompositor_028_ForceReconnectProcess,
IVRCompositor_IVRCompositor_028_SuspendRendering,
IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11,
IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11,
IVRCompositor_IVRCompositor_028_GetMirrorTextureGL,
IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture,
IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess,
IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess,
IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired,
IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired,
IVRCompositor_IVRCompositor_028_SetExplicitTimingMode,
IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData,
IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled,
IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported,
IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading,
IVRCompositor_IVRCompositor_028_SetStageOverride_Async,
IVRCompositor_IVRCompositor_028_ClearStageOverride,
IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults,
IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs,
IVRCompositor_IVRCompositor_028_GetPosesForFrame,
IVRControlPanel_IVRControlPanel_006_undoc1,
IVRControlPanel_IVRControlPanel_006_undoc2,
IVRControlPanel_IVRControlPanel_006_undoc3,
@ -3668,6 +3720,14 @@ C_ASSERT( sizeof(VREvent_ApplicationLaunch_t().pid) >= 4 );
C_ASSERT( offsetof(VREvent_ApplicationLaunch_t, unArgsHandle) == 4 );
C_ASSERT( sizeof(VREvent_ApplicationLaunch_t().unArgsHandle) >= 4 );
C_ASSERT( sizeof(VREvent_AudioMuteControl_t) >= 1 );
C_ASSERT( offsetof(VREvent_AudioMuteControl_t, bMute) == 0 );
C_ASSERT( sizeof(VREvent_AudioMuteControl_t().bMute) >= 1 );
C_ASSERT( sizeof(VREvent_AudioVolumeControl_t) >= 4 );
C_ASSERT( offsetof(VREvent_AudioVolumeControl_t, fVolumeLevel) == 0 );
C_ASSERT( sizeof(VREvent_AudioVolumeControl_t().fVolumeLevel) >= 4 );
C_ASSERT( sizeof(VREvent_Chaperone_t) >= 16 );
C_ASSERT( offsetof(VREvent_Chaperone_t, m_nPreviousUniverse) == 0 );
C_ASSERT( sizeof(VREvent_Chaperone_t().m_nPreviousUniverse) >= 8 );
@ -3998,6 +4058,70 @@ C_ASSERT( sizeof(TrackedDevicePose_t().bPoseIsValid) >= 1 );
C_ASSERT( offsetof(TrackedDevicePose_t, bDeviceIsConnected) == 77 );
C_ASSERT( sizeof(TrackedDevicePose_t().bDeviceIsConnected) >= 1 );
C_ASSERT( sizeof(VREvent_Data_t_223) >= 48 );
C_ASSERT( offsetof(VREvent_Data_t_223, reserved) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().reserved) >= 48 );
C_ASSERT( offsetof(VREvent_Data_t_223, controller) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().controller) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, mouse) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().mouse) >= 16 );
C_ASSERT( offsetof(VREvent_Data_t_223, scroll) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().scroll) >= 20 );
C_ASSERT( offsetof(VREvent_Data_t_223, process) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().process) >= 12 );
C_ASSERT( offsetof(VREvent_Data_t_223, notification) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().notification) >= 16 );
C_ASSERT( offsetof(VREvent_Data_t_223, overlay) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().overlay) >= 32 );
C_ASSERT( offsetof(VREvent_Data_t_223, status) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().status) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, keyboard) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().keyboard) >= 24 );
C_ASSERT( offsetof(VREvent_Data_t_223, ipd) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().ipd) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, chaperone) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().chaperone) >= 16 );
C_ASSERT( offsetof(VREvent_Data_t_223, performanceTest) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().performanceTest) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, touchPadMove) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().touchPadMove) >= 24 );
C_ASSERT( offsetof(VREvent_Data_t_223, seatedZeroPoseReset) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().seatedZeroPoseReset) >= 1 );
C_ASSERT( offsetof(VREvent_Data_t_223, screenshot) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().screenshot) >= 8 );
C_ASSERT( offsetof(VREvent_Data_t_223, screenshotProgress) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().screenshotProgress) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, applicationLaunch) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().applicationLaunch) >= 8 );
C_ASSERT( offsetof(VREvent_Data_t_223, cameraSurface) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().cameraSurface) >= 16 );
C_ASSERT( offsetof(VREvent_Data_t_223, messageOverlay) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().messageOverlay) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, property) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().property) >= 16 );
C_ASSERT( offsetof(VREvent_Data_t_223, hapticVibration) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().hapticVibration) >= 32 );
C_ASSERT( offsetof(VREvent_Data_t_223, webConsole) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().webConsole) >= 8 );
C_ASSERT( offsetof(VREvent_Data_t_223, inputBinding) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().inputBinding) >= 32 );
C_ASSERT( offsetof(VREvent_Data_t_223, actionManifest) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().actionManifest) >= 32 );
C_ASSERT( offsetof(VREvent_Data_t_223, spatialAnchor) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().spatialAnchor) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, progressUpdate) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().progressUpdate) >= 48 );
C_ASSERT( offsetof(VREvent_Data_t_223, showUi) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().showUi) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, showDevTools) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().showDevTools) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, hdcpError) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().hdcpError) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, audioVolumeControl) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().audioVolumeControl) >= 4 );
C_ASSERT( offsetof(VREvent_Data_t_223, audioMuteControl) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_223().audioMuteControl) >= 1 );
C_ASSERT( sizeof(VREvent_Data_t_2010) >= 48 );
C_ASSERT( offsetof(VREvent_Data_t_2010, reserved) == 0 );
C_ASSERT( sizeof(VREvent_Data_t_2010().reserved) >= 48 );
@ -10312,6 +10436,46 @@ u32_VRControllerState001_t::operator w32_VRControllerState001_t() const
}
#endif
C_ASSERT( sizeof(w64_VREvent_t_223) >= 64 );
C_ASSERT( offsetof(w64_VREvent_t_223, eventType) == 0 );
C_ASSERT( sizeof(w64_VREvent_t_223().eventType) >= 4 );
C_ASSERT( offsetof(w64_VREvent_t_223, trackedDeviceIndex) == 4 );
C_ASSERT( sizeof(w64_VREvent_t_223().trackedDeviceIndex) >= 4 );
C_ASSERT( offsetof(w64_VREvent_t_223, eventAgeSeconds) == 8 );
C_ASSERT( sizeof(w64_VREvent_t_223().eventAgeSeconds) >= 4 );
C_ASSERT( offsetof(w64_VREvent_t_223, data) == 16 );
C_ASSERT( sizeof(w64_VREvent_t_223().data) >= 48 );
C_ASSERT( sizeof(u64_VREvent_t_223) >= 60 );
C_ASSERT( offsetof(u64_VREvent_t_223, eventType) == 0 );
C_ASSERT( sizeof(u64_VREvent_t_223().eventType) >= 4 );
C_ASSERT( offsetof(u64_VREvent_t_223, trackedDeviceIndex) == 4 );
C_ASSERT( sizeof(u64_VREvent_t_223().trackedDeviceIndex) >= 4 );
C_ASSERT( offsetof(u64_VREvent_t_223, eventAgeSeconds) == 8 );
C_ASSERT( sizeof(u64_VREvent_t_223().eventAgeSeconds) >= 4 );
C_ASSERT( offsetof(u64_VREvent_t_223, data) == 12 );
C_ASSERT( sizeof(u64_VREvent_t_223().data) >= 48 );
C_ASSERT( sizeof(w32_VREvent_t_223) >= 64 );
C_ASSERT( offsetof(w32_VREvent_t_223, eventType) == 0 );
C_ASSERT( sizeof(w32_VREvent_t_223().eventType) >= 4 );
C_ASSERT( offsetof(w32_VREvent_t_223, trackedDeviceIndex) == 4 );
C_ASSERT( sizeof(w32_VREvent_t_223().trackedDeviceIndex) >= 4 );
C_ASSERT( offsetof(w32_VREvent_t_223, eventAgeSeconds) == 8 );
C_ASSERT( sizeof(w32_VREvent_t_223().eventAgeSeconds) >= 4 );
C_ASSERT( offsetof(w32_VREvent_t_223, data) == 16 );
C_ASSERT( sizeof(w32_VREvent_t_223().data) >= 48 );
C_ASSERT( sizeof(u32_VREvent_t_223) >= 60 );
C_ASSERT( offsetof(u32_VREvent_t_223, eventType) == 0 );
C_ASSERT( sizeof(u32_VREvent_t_223().eventType) >= 4 );
C_ASSERT( offsetof(u32_VREvent_t_223, trackedDeviceIndex) == 4 );
C_ASSERT( sizeof(u32_VREvent_t_223().trackedDeviceIndex) >= 4 );
C_ASSERT( offsetof(u32_VREvent_t_223, eventAgeSeconds) == 8 );
C_ASSERT( sizeof(u32_VREvent_t_223().eventAgeSeconds) >= 4 );
C_ASSERT( offsetof(u32_VREvent_t_223, data) == 12 );
C_ASSERT( sizeof(u32_VREvent_t_223().data) >= 48 );
C_ASSERT( sizeof(w64_VREvent_t_2010) >= 64 );
C_ASSERT( offsetof(w64_VREvent_t_2010, eventType) == 0 );
C_ASSERT( sizeof(w64_VREvent_t_2010().eventType) >= 4 );
@ -11352,6 +11516,50 @@ C_ASSERT( sizeof(u32_VREvent_t_090().data) >= 16 );
C_ASSERT( offsetof(u32_VREvent_t_090, eventAgeSeconds) == 24 );
C_ASSERT( sizeof(u32_VREvent_t_090().eventAgeSeconds) >= 4 );
#ifdef __x86_64__
w64_VREvent_t_223::operator u64_VREvent_t_223() const
{
u64_VREvent_t_223 ret;
ret.eventType = this->eventType;
ret.trackedDeviceIndex = this->trackedDeviceIndex;
ret.eventAgeSeconds = this->eventAgeSeconds;
ret.data = this->data;
return ret;
}
u64_VREvent_t_223::operator w64_VREvent_t_223() const
{
w64_VREvent_t_223 ret;
ret.eventType = this->eventType;
ret.trackedDeviceIndex = this->trackedDeviceIndex;
ret.eventAgeSeconds = this->eventAgeSeconds;
ret.data = this->data;
return ret;
}
#endif
#ifdef __i386__
w32_VREvent_t_223::operator u32_VREvent_t_223() const
{
u32_VREvent_t_223 ret;
ret.eventType = this->eventType;
ret.trackedDeviceIndex = this->trackedDeviceIndex;
ret.eventAgeSeconds = this->eventAgeSeconds;
ret.data = this->data;
return ret;
}
u32_VREvent_t_223::operator w32_VREvent_t_223() const
{
w32_VREvent_t_223 ret;
ret.eventType = this->eventType;
ret.trackedDeviceIndex = this->trackedDeviceIndex;
ret.eventAgeSeconds = this->eventAgeSeconds;
ret.data = this->data;
return ret;
}
#endif
#ifdef __x86_64__
w64_VREvent_t_2010::operator u64_VREvent_t_2010() const
{

View File

@ -6735,6 +6735,365 @@ struct IVRCompositor_IVRCompositor_027_GetPosesForFrame_params
uint32_t unPoseArrayCount;
};
struct IVRCompositor_IVRCompositor_028_SetTrackingSpace_params
{
void *linux_side;
uint32_t eOrigin;
};
struct IVRCompositor_IVRCompositor_028_GetTrackingSpace_params
{
void *linux_side;
uint32_t _ret;
};
struct IVRCompositor_IVRCompositor_028_WaitGetPoses_params
{
void *linux_side;
uint32_t _ret;
TrackedDevicePose_t *pRenderPoseArray;
uint32_t unRenderPoseArrayCount;
TrackedDevicePose_t *pGamePoseArray;
uint32_t unGamePoseArrayCount;
};
struct IVRCompositor_IVRCompositor_028_GetLastPoses_params
{
void *linux_side;
uint32_t _ret;
TrackedDevicePose_t *pRenderPoseArray;
uint32_t unRenderPoseArrayCount;
TrackedDevicePose_t *pGamePoseArray;
uint32_t unGamePoseArrayCount;
};
struct IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex_params
{
void *linux_side;
uint32_t _ret;
uint32_t unDeviceIndex;
TrackedDevicePose_t *pOutputPose;
TrackedDevicePose_t *pOutputGamePose;
};
struct IVRCompositor_IVRCompositor_028_Submit_params
{
void *linux_side;
uint32_t _ret;
uint32_t eEye;
const w_Texture_t *pTexture;
const VRTextureBounds_t *pBounds;
uint32_t nSubmitFlags;
};
struct IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex_params
{
void *linux_side;
uint32_t _ret;
uint32_t eEye;
const w_Texture_t *pTexture;
uint32_t unTextureArrayIndex;
const VRTextureBounds_t *pBounds;
uint32_t nSubmitFlags;
};
struct IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_PostPresentHandoff_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_GetFrameTiming_params
{
void *linux_side;
int8_t _ret;
w_Compositor_FrameTiming_1017 *pTiming;
uint32_t unFramesAgo;
};
struct IVRCompositor_IVRCompositor_028_GetFrameTimings_params
{
void *linux_side;
uint32_t _ret;
w_Compositor_FrameTiming_1017 *pTiming;
uint32_t nFrames;
};
struct IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining_params
{
void *linux_side;
float _ret;
};
struct IVRCompositor_IVRCompositor_028_GetCumulativeStats_params
{
void *linux_side;
Compositor_CumulativeStats_1267 *pStats;
uint32_t nStatsSizeInBytes;
};
struct IVRCompositor_IVRCompositor_028_FadeToColor_params
{
void *linux_side;
float fSeconds;
float fRed;
float fGreen;
float fBlue;
float fAlpha;
int8_t bBackground;
};
struct IVRCompositor_IVRCompositor_028_GetCurrentFadeColor_params
{
void *linux_side;
HmdColor_t *_ret;
int8_t bBackground;
};
struct IVRCompositor_IVRCompositor_028_FadeGrid_params
{
void *linux_side;
float fSeconds;
int8_t bFadeGridIn;
};
struct IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha_params
{
void *linux_side;
float _ret;
};
struct IVRCompositor_IVRCompositor_028_SetSkyboxOverride_params
{
void *linux_side;
uint32_t _ret;
const w_Texture_t *pTextures;
uint32_t unTextureCount;
};
struct IVRCompositor_IVRCompositor_028_ClearSkyboxOverride_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_CompositorBringToFront_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_CompositorGoToBack_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_CompositorQuit_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_IsFullscreen_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess_params
{
void *linux_side;
uint32_t _ret;
};
struct IVRCompositor_IVRCompositor_028_GetLastFrameRenderer_params
{
void *linux_side;
uint32_t _ret;
};
struct IVRCompositor_IVRCompositor_028_CanRenderScene_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_ShowMirrorWindow_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_HideMirrorWindow_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_CompositorDumpImages_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn_params
{
void *linux_side;
int8_t bOverride;
};
struct IVRCompositor_IVRCompositor_028_ForceReconnectProcess_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_SuspendRendering_params
{
void *linux_side;
int8_t bSuspend;
};
struct IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11_params
{
void *linux_side;
uint32_t _ret;
uint32_t eEye;
void *pD3D11DeviceOrResource;
void **ppD3D11ShaderResourceView;
};
struct IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11_params
{
void *linux_side;
void *pD3D11ShaderResourceView;
};
struct IVRCompositor_IVRCompositor_028_GetMirrorTextureGL_params
{
void *linux_side;
uint32_t _ret;
uint32_t eEye;
uint32_t *pglTextureId;
void **pglSharedTextureHandle;
};
struct IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture_params
{
void *linux_side;
int8_t _ret;
uint32_t glTextureId;
void *glSharedTextureHandle;
};
struct IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess_params
{
void *linux_side;
void *glSharedTextureHandle;
};
struct IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess_params
{
void *linux_side;
void *glSharedTextureHandle;
};
struct IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired_params
{
void *linux_side;
uint32_t _ret;
char *pchValue;
uint32_t unBufferSize;
};
struct IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired_params
{
void *linux_side;
uint32_t _ret;
VkPhysicalDevice_T *pPhysicalDevice;
char *pchValue;
uint32_t unBufferSize;
};
struct IVRCompositor_IVRCompositor_028_SetExplicitTimingMode_params
{
void *linux_side;
uint32_t eTimingMode;
};
struct IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData_params
{
void *linux_side;
uint32_t _ret;
};
struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading_params
{
void *linux_side;
int8_t _ret;
};
struct IVRCompositor_IVRCompositor_028_SetStageOverride_Async_params
{
void *linux_side;
uint32_t _ret;
const char *pchRenderModelPath;
const HmdMatrix34_t *pTransform;
const Compositor_StageRenderSettings *pRenderSettings;
uint32_t nSizeOfRenderSettings;
};
struct IVRCompositor_IVRCompositor_028_ClearStageOverride_params
{
void *linux_side;
};
struct IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults_params
{
void *linux_side;
int8_t _ret;
Compositor_BenchmarkResults *pBenchmarkResults;
uint32_t nSizeOfBenchmarkResults;
};
struct IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs_params
{
void *linux_side;
uint32_t _ret;
uint32_t *pRenderPosePredictionID;
uint32_t *pGamePosePredictionID;
};
struct IVRCompositor_IVRCompositor_028_GetPosesForFrame_params
{
void *linux_side;
uint32_t _ret;
uint32_t unPosePredictionID;
TrackedDevicePose_t *pPoseArray;
uint32_t unPoseArrayCount;
};
struct IVRControlPanel_IVRControlPanel_006_undoc1_params
{
void *linux_side;
@ -8621,7 +8980,7 @@ struct IVROverlayView_IVROverlayView_003_PostOverlayEvent_params
{
void *linux_side;
uint64_t ulOverlayHandle;
const w_VREvent_t_2010 *pvrEvent;
const w_VREvent_t_223 *pvrEvent;
};
struct IVROverlayView_IVROverlayView_003_IsViewingPermitted_params
@ -21584,7 +21943,7 @@ struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params
void *linux_side;
int8_t _ret;
uint64_t ulOverlayHandle;
w_VREvent_t_2010 *pEvent;
w_VREvent_t_223 *pEvent;
uint32_t uncbVREvent;
};
@ -28039,7 +28398,7 @@ struct IVRSystem_IVRSystem_022_PollNextEvent_params
{
void *linux_side;
int8_t _ret;
w_VREvent_t_2010 *pEvent;
w_VREvent_t_223 *pEvent;
uint32_t uncbVREvent;
};
@ -28048,7 +28407,7 @@ struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params
void *linux_side;
int8_t _ret;
uint32_t eOrigin;
w_VREvent_t_2010 *pEvent;
w_VREvent_t_223 *pEvent;
uint32_t uncbVREvent;
TrackedDevicePose_t *pTrackedDevicePose;
};
@ -29841,6 +30200,58 @@ enum unix_funcs
unix_IVRCompositor_IVRCompositor_027_GetCompositorBenchmarkResults,
unix_IVRCompositor_IVRCompositor_027_GetLastPosePredictionIDs,
unix_IVRCompositor_IVRCompositor_027_GetPosesForFrame,
unix_IVRCompositor_IVRCompositor_028_SetTrackingSpace,
unix_IVRCompositor_IVRCompositor_028_GetTrackingSpace,
unix_IVRCompositor_IVRCompositor_028_WaitGetPoses,
unix_IVRCompositor_IVRCompositor_028_GetLastPoses,
unix_IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex,
unix_IVRCompositor_IVRCompositor_028_Submit,
unix_IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex,
unix_IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame,
unix_IVRCompositor_IVRCompositor_028_PostPresentHandoff,
unix_IVRCompositor_IVRCompositor_028_GetFrameTiming,
unix_IVRCompositor_IVRCompositor_028_GetFrameTimings,
unix_IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining,
unix_IVRCompositor_IVRCompositor_028_GetCumulativeStats,
unix_IVRCompositor_IVRCompositor_028_FadeToColor,
unix_IVRCompositor_IVRCompositor_028_GetCurrentFadeColor,
unix_IVRCompositor_IVRCompositor_028_FadeGrid,
unix_IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha,
unix_IVRCompositor_IVRCompositor_028_SetSkyboxOverride,
unix_IVRCompositor_IVRCompositor_028_ClearSkyboxOverride,
unix_IVRCompositor_IVRCompositor_028_CompositorBringToFront,
unix_IVRCompositor_IVRCompositor_028_CompositorGoToBack,
unix_IVRCompositor_IVRCompositor_028_CompositorQuit,
unix_IVRCompositor_IVRCompositor_028_IsFullscreen,
unix_IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess,
unix_IVRCompositor_IVRCompositor_028_GetLastFrameRenderer,
unix_IVRCompositor_IVRCompositor_028_CanRenderScene,
unix_IVRCompositor_IVRCompositor_028_ShowMirrorWindow,
unix_IVRCompositor_IVRCompositor_028_HideMirrorWindow,
unix_IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible,
unix_IVRCompositor_IVRCompositor_028_CompositorDumpImages,
unix_IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources,
unix_IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn,
unix_IVRCompositor_IVRCompositor_028_ForceReconnectProcess,
unix_IVRCompositor_IVRCompositor_028_SuspendRendering,
unix_IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11,
unix_IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11,
unix_IVRCompositor_IVRCompositor_028_GetMirrorTextureGL,
unix_IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture,
unix_IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess,
unix_IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess,
unix_IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired,
unix_IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired,
unix_IVRCompositor_IVRCompositor_028_SetExplicitTimingMode,
unix_IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData,
unix_IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled,
unix_IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported,
unix_IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading,
unix_IVRCompositor_IVRCompositor_028_SetStageOverride_Async,
unix_IVRCompositor_IVRCompositor_028_ClearStageOverride,
unix_IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults,
unix_IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs,
unix_IVRCompositor_IVRCompositor_028_GetPosesForFrame,
unix_IVRControlPanel_IVRControlPanel_006_undoc1,
unix_IVRControlPanel_IVRControlPanel_006_undoc2,
unix_IVRControlPanel_IVRControlPanel_006_undoc3,

View File

@ -76,6 +76,8 @@ static const struct { const char *iface_version; iface_constructor ctor; } const
{"FnTable:IVRCompositor_026", create_winIVRCompositor_IVRCompositor_026_FnTable},
{"IVRCompositor_027", create_winIVRCompositor_IVRCompositor_027},
{"FnTable:IVRCompositor_027", create_winIVRCompositor_IVRCompositor_027_FnTable},
{"IVRCompositor_028", create_winIVRCompositor_IVRCompositor_028},
{"FnTable:IVRCompositor_028", create_winIVRCompositor_IVRCompositor_028_FnTable},
{"IVRControlPanel_006", create_winIVRControlPanel_IVRControlPanel_006},
{"FnTable:IVRControlPanel_006", create_winIVRControlPanel_IVRControlPanel_006_FnTable},
{"IVRDriverManager_001", create_winIVRDriverManager_IVRDriverManager_001},
@ -303,6 +305,8 @@ static const struct { const char *iface_version; iface_destructor dtor; } destru
{"FnTable:IVRCompositor_026", destroy_winIVRCompositor_IVRCompositor_026_FnTable},
{"IVRCompositor_027", destroy_winIVRCompositor_IVRCompositor_027},
{"FnTable:IVRCompositor_027", destroy_winIVRCompositor_IVRCompositor_027_FnTable},
{"IVRCompositor_028", destroy_winIVRCompositor_IVRCompositor_028},
{"FnTable:IVRCompositor_028", destroy_winIVRCompositor_IVRCompositor_028_FnTable},
{"IVRControlPanel_006", destroy_winIVRControlPanel_IVRControlPanel_006},
{"FnTable:IVRControlPanel_006", destroy_winIVRControlPanel_IVRControlPanel_006_FnTable},
{"IVRDriverManager_001", destroy_winIVRDriverManager_IVRDriverManager_001},

View File

@ -144,6 +144,10 @@ extern struct w_steam_iface *create_winIVRCompositor_IVRCompositor_027(void *);
extern struct w_steam_iface *create_winIVRCompositor_IVRCompositor_027_FnTable(void *);
extern void destroy_winIVRCompositor_IVRCompositor_027(struct w_steam_iface *);
extern void destroy_winIVRCompositor_IVRCompositor_027_FnTable(struct w_steam_iface *);
extern struct w_steam_iface *create_winIVRCompositor_IVRCompositor_028(void *);
extern struct w_steam_iface *create_winIVRCompositor_IVRCompositor_028_FnTable(void *);
extern void destroy_winIVRCompositor_IVRCompositor_028(struct w_steam_iface *);
extern void destroy_winIVRCompositor_IVRCompositor_028_FnTable(struct w_steam_iface *);
extern struct w_steam_iface *create_winIVRControlPanel_IVRControlPanel_006(void *);
extern struct w_steam_iface *create_winIVRControlPanel_IVRControlPanel_006_FnTable(void *);
extern void destroy_winIVRControlPanel_IVRControlPanel_006(struct w_steam_iface *);

View File

@ -7,6 +7,22 @@ struct VREvent_ApplicationLaunch_t
};
#pragma pack( pop )
typedef struct VREvent_AudioMuteControl_t VREvent_AudioMuteControl_t;
#pragma pack( push, 1 )
struct VREvent_AudioMuteControl_t
{
int8_t bMute;
};
#pragma pack( pop )
typedef struct VREvent_AudioVolumeControl_t VREvent_AudioVolumeControl_t;
#pragma pack( push, 4 )
struct VREvent_AudioVolumeControl_t
{
float fVolumeLevel;
};
#pragma pack( pop )
typedef struct VREvent_Chaperone_t VREvent_Chaperone_t;
#pragma pack( push, 8 )
struct VREvent_Chaperone_t
@ -446,6 +462,44 @@ struct TrackedDevicePose_t
};
#pragma pack( pop )
typedef union VREvent_Data_t_223 VREvent_Data_t_223;
#pragma pack( push, 8 )
union VREvent_Data_t_223
{
VREvent_Reserved_t_113b reserved;
VREvent_Controller_t controller;
VREvent_Mouse_t_2010 mouse;
VREvent_Scroll_t_2010 scroll;
VREvent_Process_t_1210 process;
VREvent_Notification_t_093 notification;
VREvent_Overlay_t_2010 overlay;
VREvent_Status_t status;
VREvent_Keyboard_t_2010 keyboard;
VREvent_Ipd_t ipd;
VREvent_Chaperone_t chaperone;
VREvent_PerformanceTest_t performanceTest;
VREvent_TouchPadMove_t touchPadMove;
VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
VREvent_Screenshot_t screenshot;
VREvent_ScreenshotProgress_t screenshotProgress;
VREvent_ApplicationLaunch_t applicationLaunch;
VREvent_EditingCameraSurface_t cameraSurface;
VREvent_MessageOverlay_t messageOverlay;
VREvent_Property_t property;
VREvent_HapticVibration_t hapticVibration;
VREvent_WebConsole_t webConsole;
VREvent_InputBindingLoad_t_1016 inputBinding;
VREvent_InputActionManifestLoad_t actionManifest;
VREvent_SpatialAnchor_t spatialAnchor;
VREvent_ProgressUpdate_t progressUpdate;
VREvent_ShowUI_t showUi;
VREvent_ShowDevTools_t showDevTools;
VREvent_HDCPError_t hdcpError;
VREvent_AudioVolumeControl_t audioVolumeControl;
VREvent_AudioMuteControl_t audioMuteControl;
};
#pragma pack( pop )
typedef union VREvent_Data_t_2010 VREvent_Data_t_2010;
#pragma pack( push, 8 )
union VREvent_Data_t_2010
@ -1642,6 +1696,10 @@ typedef struct u64_VRControllerState001_t u64_VRControllerState001_t;
typedef struct w64_VRControllerState001_t w64_VRControllerState001_t;
typedef struct u32_VRControllerState001_t u32_VRControllerState001_t;
typedef struct w32_VRControllerState001_t w32_VRControllerState001_t;
typedef struct u64_VREvent_t_223 u64_VREvent_t_223;
typedef struct w64_VREvent_t_223 w64_VREvent_t_223;
typedef struct u32_VREvent_t_223 u32_VREvent_t_223;
typedef struct w32_VREvent_t_223 w32_VREvent_t_223;
typedef struct u64_VREvent_t_2010 u64_VREvent_t_2010;
typedef struct w64_VREvent_t_2010 w64_VREvent_t_2010;
typedef struct u32_VREvent_t_2010 u32_VREvent_t_2010;
@ -4387,6 +4445,69 @@ typedef w64_VRControllerState001_t w_VRControllerState001_t;
typedef u64_VRControllerState001_t u_VRControllerState001_t;
#endif
#pragma pack( push, 8 )
struct w64_VREvent_t_223
{
uint32_t eventType;
uint32_t trackedDeviceIndex;
float eventAgeSeconds;
uint8_t __pad_12[4];
VREvent_Data_t_223 data;
#ifdef __cplusplus
operator u64_VREvent_t_223() const;
#endif /* __cplusplus */
};
#pragma pack( pop )
#pragma pack( push, 4 )
struct u64_VREvent_t_223
{
uint32_t eventType;
uint32_t trackedDeviceIndex;
float eventAgeSeconds;
VREvent_Data_t_223 data;
#ifdef __cplusplus
operator w64_VREvent_t_223() const;
#endif /* __cplusplus */
};
#pragma pack( pop )
#pragma pack( push, 8 )
struct w32_VREvent_t_223
{
uint32_t eventType;
uint32_t trackedDeviceIndex;
float eventAgeSeconds;
uint8_t __pad_12[4];
VREvent_Data_t_223 data;
#ifdef __cplusplus
operator u32_VREvent_t_223() const;
#endif /* __cplusplus */
};
#pragma pack( pop )
#pragma pack( push, 4 )
struct u32_VREvent_t_223
{
uint32_t eventType;
uint32_t trackedDeviceIndex;
float eventAgeSeconds;
VREvent_Data_t_223 data;
#ifdef __cplusplus
operator w32_VREvent_t_223() const;
#endif /* __cplusplus */
};
#pragma pack( pop )
#ifdef __i386__
typedef w32_VREvent_t_223 w_VREvent_t_223;
typedef u32_VREvent_t_223 u_VREvent_t_223;
#endif
#ifdef __x86_64__
typedef w64_VREvent_t_223 w_VREvent_t_223;
typedef u64_VREvent_t_223 u_VREvent_t_223;
#endif
#pragma pack( push, 8 )
struct w64_VREvent_t_2010
{

View File

@ -26,7 +26,7 @@ struct submit_state
};
static const w_Texture_t *load_compositor_texture_dxvk( uint32_t eye, const w_Texture_t *texture, uint32_t *flags,
struct submit_state *state )
struct submit_state *state, uint32_t array_index )
{
static const uint32_t supported_flags = Submit_LensDistortionAlreadyApplied | Submit_FrameDiscontinuty |
Submit_TextureWithPose;
@ -78,9 +78,10 @@ static const w_Texture_t *load_compositor_texture_dxvk( uint32_t eye, const w_Te
if (*flags & ~supported_flags) FIXME( "Unhandled flags %#x.\n", *flags );
if (image_info.arrayLayers > 1)
if (image_info.arrayLayers > 1 || array_index != ~0u)
{
state->vkdata.m_unArrayIndex = eye;
TRACE( "arrayLayers %u.\n", image_info.arrayLayers );
state->vkdata.m_unArrayIndex = array_index != ~0u ? array_index : eye;
state->vkdata.m_unArraySize = image_info.arrayLayers;
*flags = *flags | Submit_VulkanTextureWithArrayData;
}
@ -245,7 +246,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_009_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_009_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -293,7 +294,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_010_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_010_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -341,7 +342,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_011_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_011_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -389,7 +390,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_012_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_012_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -437,7 +438,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_013_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_013_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -485,7 +486,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_014_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_014_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -533,7 +534,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_015_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_015_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -600,7 +601,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_016_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_016_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -667,7 +668,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_017_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_017_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -734,7 +735,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_018_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_018_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -801,7 +802,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_019_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_019_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -868,7 +869,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_020_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_020_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -951,7 +952,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_021_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_021_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -1050,7 +1051,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_022_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_022_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -1149,7 +1150,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_024_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_024_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -1248,7 +1249,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_026_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_026_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -1347,7 +1348,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_027_Submit( struct w_steam_if
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state );
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_027_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
@ -1393,3 +1394,147 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_027_SetSkyboxOverride( struct
set_skybox_override_done( pTextures, unTextureCount );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_WaitGetPoses( struct w_steam_iface *_this,
TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount,
TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount )
{
struct IVRCompositor_IVRCompositor_028_WaitGetPoses_params params =
{
.linux_side = _this->u_iface,
.pRenderPoseArray = pRenderPoseArray,
.unRenderPoseArrayCount = unRenderPoseArrayCount,
.pGamePoseArray = pGamePoseArray,
.unGamePoseArrayCount = unGamePoseArrayCount,
};
TRACE( "%p\n", _this );
wait_get_poses_init( _this->u_iface );
if (compositor_data.dxvk_device && compositor_data.d3d11_explicit_handoff && !compositor_data.handoff_called)
{
struct IVRCompositor_IVRCompositor_028_PostPresentHandoff_params params = {.linux_side = _this->u_iface};
/* Calling handoff after submit is optional for d3d11 but mandatory for Vulkan
* if explicit timing mode is set. */
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_PostPresentHandoff, &params );
}
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_WaitGetPoses, &params );
if (compositor_data.dxvk_device && compositor_data.d3d11_explicit_handoff)
{
struct IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData_params params = {.linux_side = _this->u_iface};
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData, &params );
}
wait_get_poses_done( _this->u_iface );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_Submit( struct w_steam_iface *_this,
uint32_t eEye, const w_Texture_t *pTexture,
const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags )
{
struct submit_state state = {0};
struct IVRCompositor_IVRCompositor_028_Submit_params params =
{
.linux_side = _this->u_iface,
.eEye = eEye,
.pTexture = pTexture,
.pBounds = pBounds,
.nSubmitFlags = nSubmitFlags,
};
TRACE( "_this %p, eEye %u, pTexture %p (eType %u), pBounds %p, nSubmitFlags %#x\n", _this, eEye, pTexture, pTexture->eType, pBounds, nSubmitFlags );
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, ~0u );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_Submit, &params );
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SubmitWithArrayIndex( struct w_steam_iface *_this,
uint32_t eEye, const w_Texture_t *pTexture, uint32_t unTextureArrayIndex,
const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags )
{
struct submit_state state = {0};
uint32_t ret;
TRACE( "_this %p, eEye %u, pTexture %p (eType %u), unTextureArrayIndex %u, pBounds %p, nSubmitFlags %#x\n",
_this, eEye, pTexture, pTexture->eType, unTextureArrayIndex, pBounds, nSubmitFlags );
compositor_data.handoff_called = FALSE;
if (pTexture->eType == TextureType_DirectX)
{
struct IVRCompositor_IVRCompositor_028_Submit_params params =
{
.linux_side = _this->u_iface,
.eEye = eEye,
.pTexture = pTexture,
.pBounds = pBounds,
.nSubmitFlags = nSubmitFlags,
};
params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, &params.nSubmitFlags, &state, unTextureArrayIndex );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_Submit, &params );
ret = params._ret;
}
else
{
struct IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex_params params =
{
.linux_side = _this->u_iface,
.eEye = eEye,
.pTexture = pTexture,
.unTextureArrayIndex = unTextureArrayIndex,
.pBounds = pBounds,
.nSubmitFlags = nSubmitFlags,
};
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SubmitWithArrayIndex, &params );
ret = params._ret;
}
if (pTexture->eType == TextureType_DirectX) free_compositor_texture_dxvk( &state );
return ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_PostPresentHandoff( struct w_steam_iface *_this )
{
struct IVRCompositor_IVRCompositor_028_PostPresentHandoff_params params = {.linux_side = _this->u_iface};
TRACE( "%p\n", _this );
post_present_handoff_init( _this->u_iface, 28 );
if (compositor_data.dxvk_device && !compositor_data.d3d11_explicit_handoff)
{
struct IVRCompositor_IVRCompositor_028_SetExplicitTimingMode_params params =
{
.linux_side = _this->u_iface,
.eTimingMode = VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff,
};
/* PostPresentHandoff can be used with d3d11 without SetExplicitTimingMode
* (which is Vulkan / d3d12 only), but doing the same with Vulkan results
* in lockups and crashes. */
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SetExplicitTimingMode, &params );
compositor_data.d3d11_explicit_handoff = TRUE;
}
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_PostPresentHandoff, &params );
post_present_handoff_done();
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SetSkyboxOverride( struct w_steam_iface *_this,
const w_Texture_t *pTextures, uint32_t unTextureCount )
{
struct set_skybox_override_state state = {0};
struct IVRCompositor_IVRCompositor_028_SetSkyboxOverride_params params =
{
.linux_side = _this->u_iface,
.pTextures = set_skybox_override_init( pTextures, unTextureCount, &state ),
.unTextureCount = unTextureCount,
};
TRACE( "%p\n", _this );
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SetSkyboxOverride, &params );
set_skybox_override_done( pTextures, unTextureCount );
return params._ret;
}

View File

@ -10783,6 +10783,771 @@ void destroy_winIVRCompositor_IVRCompositor_027_FnTable(struct w_steam_iface *ob
HeapFree(GetProcessHeap(), 0, object);
}
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SetTrackingSpace, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetTrackingSpace, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_WaitGetPoses, 20)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetLastPoses, 20)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex, 16)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_Submit, 20)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SubmitWithArrayIndex, 24)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_PostPresentHandoff, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetFrameTiming, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetFrameTimings, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetFrameTimeRemaining, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetCumulativeStats, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_FadeToColor, 28)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetCurrentFadeColor, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_FadeGrid, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetCurrentGridAlpha, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SetSkyboxOverride, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ClearSkyboxOverride, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_CompositorBringToFront, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_CompositorGoToBack, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_CompositorQuit, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_IsFullscreen, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetLastFrameRenderer, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_CanRenderScene, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ShowMirrorWindow, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_HideMirrorWindow, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_IsMirrorWindowVisible, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_CompositorDumpImages, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ForceReconnectProcess, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SuspendRendering, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11, 16)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetMirrorTextureGL, 16)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired, 16)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SetExplicitTimingMode, 8)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SubmitExplicitTimingData, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_SetStageOverride_Async, 20)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_ClearStageOverride, 4)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs, 12)
DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_028_GetPosesForFrame, 16)
void __thiscall winIVRCompositor_IVRCompositor_028_SetTrackingSpace(struct w_steam_iface *_this, uint32_t eOrigin)
{
struct IVRCompositor_IVRCompositor_028_SetTrackingSpace_params params =
{
.linux_side = _this->u_iface,
.eOrigin = eOrigin,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SetTrackingSpace, &params );
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetTrackingSpace(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_GetTrackingSpace_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetTrackingSpace, &params );
return params._ret;
}
extern uint32_t __thiscall winIVRCompositor_IVRCompositor_028_WaitGetPoses(struct w_steam_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount);
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetLastPoses(struct w_steam_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount)
{
struct IVRCompositor_IVRCompositor_028_GetLastPoses_params params =
{
.linux_side = _this->u_iface,
.pRenderPoseArray = pRenderPoseArray,
.unRenderPoseArrayCount = unRenderPoseArrayCount,
.pGamePoseArray = pGamePoseArray,
.unGamePoseArrayCount = unGamePoseArrayCount,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetLastPoses, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex(struct w_steam_iface *_this, uint32_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose)
{
struct IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex_params params =
{
.linux_side = _this->u_iface,
.unDeviceIndex = unDeviceIndex,
.pOutputPose = pOutputPose,
.pOutputGamePose = pOutputGamePose,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex, &params );
return params._ret;
}
extern uint32_t __thiscall winIVRCompositor_IVRCompositor_028_Submit(struct w_steam_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags);
extern uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SubmitWithArrayIndex(struct w_steam_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, uint32_t unTextureArrayIndex, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags);
void __thiscall winIVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame, &params );
}
extern void __thiscall winIVRCompositor_IVRCompositor_028_PostPresentHandoff(struct w_steam_iface *_this);
int8_t __thiscall winIVRCompositor_IVRCompositor_028_GetFrameTiming(struct w_steam_iface *_this, w_Compositor_FrameTiming_1017 *pTiming, uint32_t unFramesAgo)
{
struct IVRCompositor_IVRCompositor_028_GetFrameTiming_params params =
{
.linux_side = _this->u_iface,
.pTiming = pTiming,
.unFramesAgo = unFramesAgo,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetFrameTiming, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetFrameTimings(struct w_steam_iface *_this, w_Compositor_FrameTiming_1017 *pTiming, uint32_t nFrames)
{
struct IVRCompositor_IVRCompositor_028_GetFrameTimings_params params =
{
.linux_side = _this->u_iface,
.pTiming = pTiming,
.nFrames = nFrames,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetFrameTimings, &params );
return params._ret;
}
float __thiscall winIVRCompositor_IVRCompositor_028_GetFrameTimeRemaining(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetFrameTimeRemaining, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_GetCumulativeStats(struct w_steam_iface *_this, Compositor_CumulativeStats_1267 *pStats, uint32_t nStatsSizeInBytes)
{
struct IVRCompositor_IVRCompositor_028_GetCumulativeStats_params params =
{
.linux_side = _this->u_iface,
.pStats = pStats,
.nStatsSizeInBytes = nStatsSizeInBytes,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetCumulativeStats, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_FadeToColor(struct w_steam_iface *_this, float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, int8_t bBackground)
{
struct IVRCompositor_IVRCompositor_028_FadeToColor_params params =
{
.linux_side = _this->u_iface,
.fSeconds = fSeconds,
.fRed = fRed,
.fGreen = fGreen,
.fBlue = fBlue,
.fAlpha = fAlpha,
.bBackground = bBackground,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_FadeToColor, &params );
}
HmdColor_t * __thiscall winIVRCompositor_IVRCompositor_028_GetCurrentFadeColor(struct w_steam_iface *_this, HmdColor_t *_ret, int8_t bBackground)
{
struct IVRCompositor_IVRCompositor_028_GetCurrentFadeColor_params params =
{
.linux_side = _this->u_iface,
._ret = _ret,
.bBackground = bBackground,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetCurrentFadeColor, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_FadeGrid(struct w_steam_iface *_this, float fSeconds, int8_t bFadeGridIn)
{
struct IVRCompositor_IVRCompositor_028_FadeGrid_params params =
{
.linux_side = _this->u_iface,
.fSeconds = fSeconds,
.bFadeGridIn = bFadeGridIn,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_FadeGrid, &params );
}
float __thiscall winIVRCompositor_IVRCompositor_028_GetCurrentGridAlpha(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetCurrentGridAlpha, &params );
return params._ret;
}
extern uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SetSkyboxOverride(struct w_steam_iface *_this, const w_Texture_t *pTextures, uint32_t unTextureCount);
void __thiscall winIVRCompositor_IVRCompositor_028_ClearSkyboxOverride(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_ClearSkyboxOverride_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ClearSkyboxOverride, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_CompositorBringToFront(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_CompositorBringToFront_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_CompositorBringToFront, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_CompositorGoToBack(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_CompositorGoToBack_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_CompositorGoToBack, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_CompositorQuit(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_CompositorQuit_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_CompositorQuit, &params );
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_IsFullscreen(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_IsFullscreen_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_IsFullscreen, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetLastFrameRenderer(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_GetLastFrameRenderer_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetLastFrameRenderer, &params );
return params._ret;
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_CanRenderScene(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_CanRenderScene_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_CanRenderScene, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_ShowMirrorWindow(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_ShowMirrorWindow_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ShowMirrorWindow, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_HideMirrorWindow(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_HideMirrorWindow_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_HideMirrorWindow, &params );
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_IsMirrorWindowVisible(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_IsMirrorWindowVisible, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_CompositorDumpImages(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_CompositorDumpImages_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_CompositorDumpImages, &params );
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn(struct w_steam_iface *_this, int8_t bOverride)
{
struct IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn_params params =
{
.linux_side = _this->u_iface,
.bOverride = bOverride,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_ForceReconnectProcess(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_ForceReconnectProcess_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ForceReconnectProcess, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_SuspendRendering(struct w_steam_iface *_this, int8_t bSuspend)
{
struct IVRCompositor_IVRCompositor_028_SuspendRendering_params params =
{
.linux_side = _this->u_iface,
.bSuspend = bSuspend,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SuspendRendering, &params );
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11(struct w_steam_iface *_this, uint32_t eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView)
{
struct IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11_params params =
{
.linux_side = _this->u_iface,
.eEye = eEye,
.pD3D11DeviceOrResource = pD3D11DeviceOrResource,
.ppD3D11ShaderResourceView = ppD3D11ShaderResourceView,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11(struct w_steam_iface *_this, void *pD3D11ShaderResourceView)
{
struct IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11_params params =
{
.linux_side = _this->u_iface,
.pD3D11ShaderResourceView = pD3D11ShaderResourceView,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11, &params );
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetMirrorTextureGL(struct w_steam_iface *_this, uint32_t eEye, uint32_t *pglTextureId, void **pglSharedTextureHandle)
{
struct IVRCompositor_IVRCompositor_028_GetMirrorTextureGL_params params =
{
.linux_side = _this->u_iface,
.eEye = eEye,
.pglTextureId = pglTextureId,
.pglSharedTextureHandle = pglSharedTextureHandle,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetMirrorTextureGL, &params );
return params._ret;
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture(struct w_steam_iface *_this, uint32_t glTextureId, void *glSharedTextureHandle)
{
struct IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture_params params =
{
.linux_side = _this->u_iface,
.glTextureId = glTextureId,
.glSharedTextureHandle = glSharedTextureHandle,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess(struct w_steam_iface *_this, void *glSharedTextureHandle)
{
struct IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess_params params =
{
.linux_side = _this->u_iface,
.glSharedTextureHandle = glSharedTextureHandle,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess, &params );
}
void __thiscall winIVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess(struct w_steam_iface *_this, void *glSharedTextureHandle)
{
struct IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess_params params =
{
.linux_side = _this->u_iface,
.glSharedTextureHandle = glSharedTextureHandle,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess, &params );
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired(struct w_steam_iface *_this, char *pchValue, uint32_t unBufferSize)
{
struct IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired_params params =
{
.linux_side = _this->u_iface,
.pchValue = pchValue,
.unBufferSize = unBufferSize,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired(struct w_steam_iface *_this, VkPhysicalDevice_T *pPhysicalDevice, char *pchValue, uint32_t unBufferSize)
{
struct IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired_params params =
{
.linux_side = _this->u_iface,
.pPhysicalDevice = pPhysicalDevice,
.pchValue = pchValue,
.unBufferSize = unBufferSize,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_SetExplicitTimingMode(struct w_steam_iface *_this, uint32_t eTimingMode)
{
struct IVRCompositor_IVRCompositor_028_SetExplicitTimingMode_params params =
{
.linux_side = _this->u_iface,
.eTimingMode = eTimingMode,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SetExplicitTimingMode, &params );
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SubmitExplicitTimingData(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SubmitExplicitTimingData, &params );
return params._ret;
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled, &params );
return params._ret;
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported, &params );
return params._ret;
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SetStageOverride_Async(struct w_steam_iface *_this, const char *pchRenderModelPath, const HmdMatrix34_t *pTransform, const Compositor_StageRenderSettings *pRenderSettings, uint32_t nSizeOfRenderSettings)
{
struct IVRCompositor_IVRCompositor_028_SetStageOverride_Async_params params =
{
.linux_side = _this->u_iface,
.pchRenderModelPath = pchRenderModelPath,
.pTransform = pTransform,
.pRenderSettings = pRenderSettings,
.nSizeOfRenderSettings = nSizeOfRenderSettings,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_SetStageOverride_Async, &params );
return params._ret;
}
void __thiscall winIVRCompositor_IVRCompositor_028_ClearStageOverride(struct w_steam_iface *_this)
{
struct IVRCompositor_IVRCompositor_028_ClearStageOverride_params params =
{
.linux_side = _this->u_iface,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_ClearStageOverride, &params );
}
int8_t __thiscall winIVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults(struct w_steam_iface *_this, Compositor_BenchmarkResults *pBenchmarkResults, uint32_t nSizeOfBenchmarkResults)
{
struct IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults_params params =
{
.linux_side = _this->u_iface,
.pBenchmarkResults = pBenchmarkResults,
.nSizeOfBenchmarkResults = nSizeOfBenchmarkResults,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs(struct w_steam_iface *_this, uint32_t *pRenderPosePredictionID, uint32_t *pGamePosePredictionID)
{
struct IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs_params params =
{
.linux_side = _this->u_iface,
.pRenderPosePredictionID = pRenderPosePredictionID,
.pGamePosePredictionID = pGamePosePredictionID,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs, &params );
return params._ret;
}
uint32_t __thiscall winIVRCompositor_IVRCompositor_028_GetPosesForFrame(struct w_steam_iface *_this, uint32_t unPosePredictionID, TrackedDevicePose_t *pPoseArray, uint32_t unPoseArrayCount)
{
struct IVRCompositor_IVRCompositor_028_GetPosesForFrame_params params =
{
.linux_side = _this->u_iface,
.unPosePredictionID = unPosePredictionID,
.pPoseArray = pPoseArray,
.unPoseArrayCount = unPoseArrayCount,
};
TRACE("%p\n", _this);
VRCLIENT_CALL( IVRCompositor_IVRCompositor_028_GetPosesForFrame, &params );
return params._ret;
}
extern vtable_ptr winIVRCompositor_IVRCompositor_028_vtable;
DEFINE_RTTI_DATA0(winIVRCompositor_IVRCompositor_028, 0, ".?AVIVRCompositor@@")
__ASM_BLOCK_BEGIN(winIVRCompositor_IVRCompositor_028_vtables)
__ASM_VTABLE(winIVRCompositor_IVRCompositor_028,
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SetTrackingSpace)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetTrackingSpace)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_WaitGetPoses)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetLastPoses)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_Submit)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SubmitWithArrayIndex)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_PostPresentHandoff)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetFrameTiming)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetFrameTimings)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetFrameTimeRemaining)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetCumulativeStats)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_FadeToColor)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetCurrentFadeColor)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_FadeGrid)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetCurrentGridAlpha)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SetSkyboxOverride)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ClearSkyboxOverride)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_CompositorBringToFront)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_CompositorGoToBack)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_CompositorQuit)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_IsFullscreen)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetLastFrameRenderer)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_CanRenderScene)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ShowMirrorWindow)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_HideMirrorWindow)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_IsMirrorWindowVisible)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_CompositorDumpImages)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ForceReconnectProcess)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SuspendRendering)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetMirrorTextureGL)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SetExplicitTimingMode)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SubmitExplicitTimingData)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_SetStageOverride_Async)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_ClearStageOverride)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs)
VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_028_GetPosesForFrame)
);
__ASM_BLOCK_END
struct w_steam_iface *create_winIVRCompositor_IVRCompositor_028(void *u_iface)
{
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
TRACE("-> %p\n", r);
r->vtable = &winIVRCompositor_IVRCompositor_028_vtable;
r->u_iface = u_iface;
return r;
}
void destroy_winIVRCompositor_IVRCompositor_028(struct w_steam_iface *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
struct w_steam_iface *create_winIVRCompositor_IVRCompositor_028_FnTable(void *u_iface)
{
struct w_steam_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r));
struct thunk *thunks = alloc_thunks(52);
struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 52 * sizeof(*vtable));
int i;
TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks);
init_thunk(&thunks[0], r, winIVRCompositor_IVRCompositor_028_SetTrackingSpace, 1, FALSE, FALSE);
init_thunk(&thunks[1], r, winIVRCompositor_IVRCompositor_028_GetTrackingSpace, 0, FALSE, FALSE);
init_thunk(&thunks[2], r, winIVRCompositor_IVRCompositor_028_WaitGetPoses, 4, FALSE, FALSE);
init_thunk(&thunks[3], r, winIVRCompositor_IVRCompositor_028_GetLastPoses, 4, FALSE, FALSE);
init_thunk(&thunks[4], r, winIVRCompositor_IVRCompositor_028_GetLastPoseForTrackedDeviceIndex, 3, FALSE, FALSE);
init_thunk(&thunks[5], r, winIVRCompositor_IVRCompositor_028_Submit, 4, FALSE, FALSE);
init_thunk(&thunks[6], r, winIVRCompositor_IVRCompositor_028_SubmitWithArrayIndex, 5, FALSE, FALSE);
init_thunk(&thunks[7], r, winIVRCompositor_IVRCompositor_028_ClearLastSubmittedFrame, 0, FALSE, FALSE);
init_thunk(&thunks[8], r, winIVRCompositor_IVRCompositor_028_PostPresentHandoff, 0, FALSE, FALSE);
init_thunk(&thunks[9], r, winIVRCompositor_IVRCompositor_028_GetFrameTiming, 2, FALSE, FALSE);
init_thunk(&thunks[10], r, winIVRCompositor_IVRCompositor_028_GetFrameTimings, 2, FALSE, FALSE);
init_thunk(&thunks[11], r, winIVRCompositor_IVRCompositor_028_GetFrameTimeRemaining, 0, FALSE, FALSE);
init_thunk(&thunks[12], r, winIVRCompositor_IVRCompositor_028_GetCumulativeStats, 2, FALSE, FALSE);
init_thunk(&thunks[13], r, winIVRCompositor_IVRCompositor_028_FadeToColor, 6, TRUE, TRUE);
init_thunk(&thunks[14], r, winIVRCompositor_IVRCompositor_028_GetCurrentFadeColor, 2, FALSE, FALSE);
init_thunk(&thunks[15], r, winIVRCompositor_IVRCompositor_028_FadeGrid, 2, TRUE, FALSE);
init_thunk(&thunks[16], r, winIVRCompositor_IVRCompositor_028_GetCurrentGridAlpha, 0, FALSE, FALSE);
init_thunk(&thunks[17], r, winIVRCompositor_IVRCompositor_028_SetSkyboxOverride, 2, FALSE, FALSE);
init_thunk(&thunks[18], r, winIVRCompositor_IVRCompositor_028_ClearSkyboxOverride, 0, FALSE, FALSE);
init_thunk(&thunks[19], r, winIVRCompositor_IVRCompositor_028_CompositorBringToFront, 0, FALSE, FALSE);
init_thunk(&thunks[20], r, winIVRCompositor_IVRCompositor_028_CompositorGoToBack, 0, FALSE, FALSE);
init_thunk(&thunks[21], r, winIVRCompositor_IVRCompositor_028_CompositorQuit, 0, FALSE, FALSE);
init_thunk(&thunks[22], r, winIVRCompositor_IVRCompositor_028_IsFullscreen, 0, FALSE, FALSE);
init_thunk(&thunks[23], r, winIVRCompositor_IVRCompositor_028_GetCurrentSceneFocusProcess, 0, FALSE, FALSE);
init_thunk(&thunks[24], r, winIVRCompositor_IVRCompositor_028_GetLastFrameRenderer, 0, FALSE, FALSE);
init_thunk(&thunks[25], r, winIVRCompositor_IVRCompositor_028_CanRenderScene, 0, FALSE, FALSE);
init_thunk(&thunks[26], r, winIVRCompositor_IVRCompositor_028_ShowMirrorWindow, 0, FALSE, FALSE);
init_thunk(&thunks[27], r, winIVRCompositor_IVRCompositor_028_HideMirrorWindow, 0, FALSE, FALSE);
init_thunk(&thunks[28], r, winIVRCompositor_IVRCompositor_028_IsMirrorWindowVisible, 0, FALSE, FALSE);
init_thunk(&thunks[29], r, winIVRCompositor_IVRCompositor_028_CompositorDumpImages, 0, FALSE, FALSE);
init_thunk(&thunks[30], r, winIVRCompositor_IVRCompositor_028_ShouldAppRenderWithLowResources, 0, FALSE, FALSE);
init_thunk(&thunks[31], r, winIVRCompositor_IVRCompositor_028_ForceInterleavedReprojectionOn, 1, FALSE, FALSE);
init_thunk(&thunks[32], r, winIVRCompositor_IVRCompositor_028_ForceReconnectProcess, 0, FALSE, FALSE);
init_thunk(&thunks[33], r, winIVRCompositor_IVRCompositor_028_SuspendRendering, 1, FALSE, FALSE);
init_thunk(&thunks[34], r, winIVRCompositor_IVRCompositor_028_GetMirrorTextureD3D11, 3, FALSE, FALSE);
init_thunk(&thunks[35], r, winIVRCompositor_IVRCompositor_028_ReleaseMirrorTextureD3D11, 1, FALSE, FALSE);
init_thunk(&thunks[36], r, winIVRCompositor_IVRCompositor_028_GetMirrorTextureGL, 3, FALSE, FALSE);
init_thunk(&thunks[37], r, winIVRCompositor_IVRCompositor_028_ReleaseSharedGLTexture, 2, FALSE, FALSE);
init_thunk(&thunks[38], r, winIVRCompositor_IVRCompositor_028_LockGLSharedTextureForAccess, 1, FALSE, FALSE);
init_thunk(&thunks[39], r, winIVRCompositor_IVRCompositor_028_UnlockGLSharedTextureForAccess, 1, FALSE, FALSE);
init_thunk(&thunks[40], r, winIVRCompositor_IVRCompositor_028_GetVulkanInstanceExtensionsRequired, 2, FALSE, FALSE);
init_thunk(&thunks[41], r, winIVRCompositor_IVRCompositor_028_GetVulkanDeviceExtensionsRequired, 3, FALSE, FALSE);
init_thunk(&thunks[42], r, winIVRCompositor_IVRCompositor_028_SetExplicitTimingMode, 1, FALSE, FALSE);
init_thunk(&thunks[43], r, winIVRCompositor_IVRCompositor_028_SubmitExplicitTimingData, 0, FALSE, FALSE);
init_thunk(&thunks[44], r, winIVRCompositor_IVRCompositor_028_IsMotionSmoothingEnabled, 0, FALSE, FALSE);
init_thunk(&thunks[45], r, winIVRCompositor_IVRCompositor_028_IsMotionSmoothingSupported, 0, FALSE, FALSE);
init_thunk(&thunks[46], r, winIVRCompositor_IVRCompositor_028_IsCurrentSceneFocusAppLoading, 0, FALSE, FALSE);
init_thunk(&thunks[47], r, winIVRCompositor_IVRCompositor_028_SetStageOverride_Async, 4, FALSE, FALSE);
init_thunk(&thunks[48], r, winIVRCompositor_IVRCompositor_028_ClearStageOverride, 0, FALSE, FALSE);
init_thunk(&thunks[49], r, winIVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults, 2, FALSE, FALSE);
init_thunk(&thunks[50], r, winIVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs, 2, FALSE, FALSE);
init_thunk(&thunks[51], r, winIVRCompositor_IVRCompositor_028_GetPosesForFrame, 3, FALSE, FALSE);
for (i = 0; i < 52; i++)
vtable[i] = &thunks[i];
r->u_iface = u_iface;
r->vtable = (void *)vtable;
return r;
}
void destroy_winIVRCompositor_IVRCompositor_028_FnTable(struct w_steam_iface *object)
{
TRACE("%p\n", object);
VirtualFree(object->vtable[0], 0, MEM_RELEASE);
HeapFree(GetProcessHeap(), 0, object->vtable);
HeapFree(GetProcessHeap(), 0, object);
}
void init_winIVRCompositor_rtti( char *base )
{
#ifdef __x86_64__
@ -10807,5 +11572,6 @@ void init_winIVRCompositor_rtti( char *base )
init_winIVRCompositor_IVRCompositor_024_rtti( base );
init_winIVRCompositor_IVRCompositor_026_rtti( base );
init_winIVRCompositor_IVRCompositor_027_rtti( base );
init_winIVRCompositor_IVRCompositor_028_rtti( base );
#endif /* __x86_64__ */
}

View File

@ -26105,9 +26105,9 @@ uint32_t __thiscall winIVROverlay_IVROverlay_027_WaitFrameSync(struct w_steam_if
return params._ret;
}
int8_t __thiscall winIVROverlay_IVROverlay_027_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_2010 *pEvent, uint32_t uncbVREvent)
int8_t __thiscall winIVROverlay_IVROverlay_027_PollNextOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent)
{
w_VREvent_t_2010 w_pEvent;
w_VREvent_t_223 w_pEvent;
struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params params =
{
.linux_side = _this->u_iface,

View File

@ -40,7 +40,7 @@ uint32_t __thiscall winIVROverlayView_IVROverlayView_003_ReleaseOverlayView(stru
return params._ret;
}
void __thiscall winIVROverlayView_IVROverlayView_003_PostOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_VREvent_t_2010 *pvrEvent)
void __thiscall winIVROverlayView_IVROverlayView_003_PostOverlayEvent(struct w_steam_iface *_this, uint64_t ulOverlayHandle, const w_VREvent_t_223 *pvrEvent)
{
struct IVROverlayView_IVROverlayView_003_PostOverlayEvent_params params =
{

View File

@ -11446,9 +11446,9 @@ const char * __thiscall winIVRSystem_IVRSystem_022_GetPropErrorNameFromEnum(stru
return params._ret;
}
int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_2010 *pEvent, uint32_t uncbVREvent)
int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEvent(struct w_steam_iface *_this, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent)
{
w_VREvent_t_2010 w_pEvent;
w_VREvent_t_223 w_pEvent;
struct IVRSystem_IVRSystem_022_PollNextEvent_params params =
{
.linux_side = _this->u_iface,
@ -11463,9 +11463,9 @@ int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEvent(struct w_steam_iface
return params._ret;
}
int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_2010 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose)
int8_t __thiscall winIVRSystem_IVRSystem_022_PollNextEventWithPose(struct w_steam_iface *_this, uint32_t eOrigin, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose)
{
w_VREvent_t_2010 w_pEvent;
w_VREvent_t_223 w_pEvent;
struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params params =
{
.linux_side = _this->u_iface,