Merge pull request #1378 from erwincoumans/master
fix pybullet.addUserDebugText borders around letters
This commit is contained in:
@@ -227,7 +227,7 @@ INCLUDE_DIRECTORIES(
|
||||
|
||||
|
||||
LINK_LIBRARIES(
|
||||
openvr_api Bullet3Common BulletWorldImporter BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision LinearMath BussIK OpenGLWindow
|
||||
Bullet3Common BulletWorldImporter BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision LinearMath BussIK openvr_api OpenGLWindow
|
||||
)
|
||||
|
||||
|
||||
@@ -259,11 +259,14 @@ LINK_LIBRARIES(
|
||||
../MultiThreading/b3PosixThreadSupport.cpp
|
||||
../MultiThreading/b3PosixThreadSupport.h
|
||||
)
|
||||
IF (CMAKE_CL_64)
|
||||
LINK_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/lib/osx64)
|
||||
|
||||
IF (CMAKE_SIZEOF_VOID_P MATCHES 8)
|
||||
MESSAGE("CL64")
|
||||
LINK_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/bin/osx64)
|
||||
ELSE()
|
||||
MESSAGE("CL32")
|
||||
set(ARCH_TARGET osx32)
|
||||
LINK_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/lib/osx32)
|
||||
LINK_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/openvr/bin/osx32)
|
||||
ENDIF()
|
||||
add_definitions(-DOSX -DPOSIX)
|
||||
|
||||
|
||||
@@ -8246,9 +8246,9 @@ bool PhysicsServerCommandProcessor::processCommand(const struct SharedMemoryComm
|
||||
|
||||
int optionFlags = clientCmd.m_userDebugDrawArgs.m_optionFlags;
|
||||
|
||||
if (clientCmd.m_updateFlags & USER_DEBUG_HAS_TEXT_ORIENTATION)
|
||||
if ((clientCmd.m_updateFlags & USER_DEBUG_HAS_TEXT_ORIENTATION)==0)
|
||||
{
|
||||
optionFlags |= DEB_DEBUG_TEXT_USE_ORIENTATION;
|
||||
optionFlags |= DEB_DEBUG_TEXT_ALWAYS_FACE_CAMERA;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2441,22 +2441,26 @@ void PhysicsServerExample::drawUserDebugLines()
|
||||
for (int i = 0; i<m_multiThreadedHelper->m_userDebugText.size(); i++)
|
||||
{
|
||||
|
||||
// int optionFlag = CommonGraphicsApp::eDrawText3D_OrtogonalFaceCamera|CommonGraphicsApp::eDrawText3D_TrueType;
|
||||
//int optionFlag = 0;//CommonGraphicsApp::eDrawText3D_OrtogonalFaceCamera|CommonGraphicsApp::eDrawText3D_TrueType;
|
||||
//int optionFlag = CommonGraphicsApp::eDrawText3D_TrueType;
|
||||
float orientation[4] = {0,0,0,1};
|
||||
|
||||
//int optionFlag = CommonGraphicsApp::eDrawText3D_OrtogonalFaceCamera;
|
||||
int optionFlag = 0;
|
||||
float orientation[4] = {0,0,0,1};
|
||||
|
||||
if (m_multiThreadedHelper->m_userDebugText[i].m_optionFlags&CommonGraphicsApp::eDrawText3D_OrtogonalFaceCamera)
|
||||
{
|
||||
optionFlag |= CommonGraphicsApp::eDrawText3D_OrtogonalFaceCamera;
|
||||
} else
|
||||
{
|
||||
orientation[0] = m_multiThreadedHelper->m_userDebugText[i].m_textOrientation[0];
|
||||
orientation[1] = m_multiThreadedHelper->m_userDebugText[i].m_textOrientation[1];
|
||||
orientation[2] = m_multiThreadedHelper->m_userDebugText[i].m_textOrientation[2];
|
||||
orientation[3] = m_multiThreadedHelper->m_userDebugText[i].m_textOrientation[3];
|
||||
optionFlag |= CommonGraphicsApp::eDrawText3D_TrueType;
|
||||
} else
|
||||
{
|
||||
optionFlag |= CommonGraphicsApp::eDrawText3D_OrtogonalFaceCamera;
|
||||
|
||||
}
|
||||
|
||||
|
||||
float colorRGBA[4] = {
|
||||
m_multiThreadedHelper->m_userDebugText[i].m_textColorRGB[0],
|
||||
m_multiThreadedHelper->m_userDebugText[i].m_textColorRGB[1],
|
||||
@@ -2526,7 +2530,6 @@ void PhysicsServerExample::renderScene()
|
||||
|
||||
B3_PROFILE("PhysicsServerExample::RenderScene");
|
||||
|
||||
drawUserDebugLines();
|
||||
|
||||
if (m_physicsServer.isRealTimeSimulationEnabled())
|
||||
{
|
||||
@@ -2679,6 +2682,7 @@ void PhysicsServerExample::renderScene()
|
||||
}
|
||||
}
|
||||
|
||||
drawUserDebugLines();
|
||||
|
||||
|
||||
//m_args[0].m_cs->unlock();
|
||||
|
||||
@@ -583,7 +583,7 @@ enum b3ConfigureDebugVisualizerEnum
|
||||
|
||||
enum b3AddUserDebugItemEnum
|
||||
{
|
||||
DEB_DEBUG_TEXT_USE_ORIENTATION=1,
|
||||
DEB_DEBUG_TEXT_ALWAYS_FACE_CAMERA=1,
|
||||
DEB_DEBUG_TEXT_USE_TRUE_TYPE_FONTS=2,
|
||||
DEB_DEBUG_TEXT_HAS_TRACKING_OBJECT=4,
|
||||
};
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -315,6 +315,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -392,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -409,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -464,6 +473,8 @@ enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -583,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1016,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1085,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1280,17 +1296,20 @@ public:
|
||||
* Returns platform- and texture-type specific adapter identification so that applications and the
|
||||
* compositor are creating textures and swap chains on the same GPU. If an error occurs the device
|
||||
* will be set to 0.
|
||||
* pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan.
|
||||
* [D3D10/11/12 Only (D3D9 Not Supported)]
|
||||
* Returns the adapter LUID that identifies the GPU attached to the HMD. The user should
|
||||
* enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find
|
||||
* the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid.
|
||||
* The discovered IDXGIAdapter should be used to create the device and swap chain.
|
||||
* [Vulkan Only]
|
||||
* Returns the vk::PhysicalDevice that should be used by the application.
|
||||
* Returns the VkPhysicalDevice that should be used by the application.
|
||||
* pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application
|
||||
* must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled.
|
||||
* [macOS Only]
|
||||
* Returns an id<MTLDevice> that should be used by the application.
|
||||
*/
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType ) = 0;
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0;
|
||||
|
||||
// ------------------------------------
|
||||
// Display Mode methods
|
||||
@@ -1508,7 +1527,7 @@ public:
|
||||
|
||||
};
|
||||
|
||||
static const char * const IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * const IVRSystem_Version = "IVRSystem_017";
|
||||
|
||||
}
|
||||
|
||||
@@ -1537,6 +1556,7 @@ namespace vr
|
||||
VRApplicationError_OldApplicationQuitting = 112,
|
||||
VRApplicationError_TransitionAborted = 113,
|
||||
VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication)
|
||||
VRApplicationError_SteamVRIsExiting = 115,
|
||||
|
||||
VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data
|
||||
VRApplicationError_PropertyNotSet = 201, // The requested property was not set
|
||||
@@ -1567,6 +1587,7 @@ namespace vr
|
||||
VRApplicationProperty_IsTemplate_Bool = 61,
|
||||
VRApplicationProperty_IsInstanced_Bool = 62,
|
||||
VRApplicationProperty_IsInternal_Bool = 63,
|
||||
VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64,
|
||||
|
||||
VRApplicationProperty_LastLaunchTime_Uint64 = 70,
|
||||
};
|
||||
@@ -1813,6 +1834,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -1916,6 +1938,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
@@ -2114,6 +2137,7 @@ enum EVRCompositorError
|
||||
VRCompositorError_SharedTexturesNotSupported = 106,
|
||||
VRCompositorError_IndexOutOfRange = 107,
|
||||
VRCompositorError_AlreadySubmitted = 108,
|
||||
VRCompositorError_InvalidBounds = 109,
|
||||
};
|
||||
|
||||
const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01;
|
||||
@@ -2362,9 +2386,36 @@ public:
|
||||
* null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */
|
||||
virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* There are two purposes for SetExplicitTimingMode:
|
||||
* 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications.
|
||||
* 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from
|
||||
* another thread while WaitGetPoses is executing.
|
||||
*
|
||||
* More accurate GPU timestamp for the start of the frame is achieved by the application calling
|
||||
* SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue.
|
||||
* This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11,
|
||||
* WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the
|
||||
* application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for
|
||||
* Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame.
|
||||
*
|
||||
* Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired,
|
||||
* the application *MUST* call PostPresentHandoff itself prior to WaitGetPoses. If SetExplicitTimingMode is true and the
|
||||
* application calls PostPresentHandoff, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff
|
||||
* and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another
|
||||
* thread. */
|
||||
virtual void SetExplicitTimingMode( bool bExplicitTimingMode ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before
|
||||
* the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame.
|
||||
* This function will insert a GPU timestamp write just before the application starts its rendering. This function
|
||||
* will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread.
|
||||
* Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */
|
||||
virtual EVRCompositorError SubmitExplicitTimingData() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_021";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@@ -2949,6 +3000,9 @@ namespace vr
|
||||
|
||||
/** Show the message overlay. This will block and return you a result. **/
|
||||
virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0;
|
||||
|
||||
/** If the calling process owns the overlay and it's open, this will close it. **/
|
||||
virtual void CloseMessageOverlay() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVROverlay_Version = "IVROverlay_016";
|
||||
@@ -3409,8 +3463,10 @@ namespace vr
|
||||
*
|
||||
* This path is to the "root" of the VR API install. That's the directory with
|
||||
* the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself.
|
||||
*
|
||||
* pStartupInfo is reserved for future use.
|
||||
*/
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr );
|
||||
|
||||
/** unloads vrclient.dll. Any interface pointers from the interface are
|
||||
* invalid after this point */
|
||||
@@ -3680,17 +3736,17 @@ namespace vr
|
||||
m_pVRScreenshots = nullptr;
|
||||
m_pVRDriverManager = nullptr;
|
||||
}
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo );
|
||||
VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal();
|
||||
|
||||
/** Finds the active installation of vrclient.dll and initializes it */
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType )
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo )
|
||||
{
|
||||
IVRSystem *pVRSystem = nullptr;
|
||||
|
||||
EVRInitError eError;
|
||||
VRToken() = VR_InitInternal( &eError, eApplicationType );
|
||||
VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo );
|
||||
COpenVRContext &ctx = OpenVRInternal_ModuleContext();
|
||||
ctx.Clear();
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public struct IVRSystem
|
||||
internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType);
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetOutputDevice GetOutputDevice;
|
||||
|
||||
@@ -845,6 +845,16 @@ public struct IVRCompositor
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _SetExplicitTimingMode(bool bExplicitTimingMode);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SetExplicitTimingMode SetExplicitTimingMode;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVRCompositorError _SubmitExplicitTimingData();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SubmitExplicitTimingData SubmitExplicitTimingData;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1250,6 +1260,11 @@ public struct IVROverlay
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _ShowMessageOverlay ShowMessageOverlay;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _CloseMessageOverlay();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _CloseMessageOverlay CloseMessageOverlay;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1551,10 +1566,10 @@ public class CVRSystem
|
||||
pnAdapterIndex = 0;
|
||||
FnTable.GetDXGIOutputInfo(ref pnAdapterIndex);
|
||||
}
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType)
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType,IntPtr pInstance)
|
||||
{
|
||||
pnDevice = 0;
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType);
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType,pInstance);
|
||||
}
|
||||
public bool IsDisplayOnDesktop()
|
||||
{
|
||||
@@ -1667,6 +1682,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1679,6 +1695,7 @@ public class CVRSystem
|
||||
event_packed.Unpack(ref pEvent);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent);
|
||||
return result;
|
||||
}
|
||||
@@ -1711,6 +1728,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1723,6 +1741,7 @@ public class CVRSystem
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize);
|
||||
return result;
|
||||
}
|
||||
@@ -1740,6 +1759,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1752,6 +1772,7 @@ public class CVRSystem
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose);
|
||||
return result;
|
||||
}
|
||||
@@ -2439,6 +2460,15 @@ public class CVRCompositor
|
||||
uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
|
||||
return result;
|
||||
}
|
||||
public void SetExplicitTimingMode(bool bExplicitTimingMode)
|
||||
{
|
||||
FnTable.SetExplicitTimingMode(bExplicitTimingMode);
|
||||
}
|
||||
public EVRCompositorError SubmitExplicitTimingData()
|
||||
{
|
||||
EVRCompositorError result = FnTable.SubmitExplicitTimingData();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2705,6 +2735,7 @@ public class CVROverlay
|
||||
}
|
||||
public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -2717,6 +2748,7 @@ public class CVROverlay
|
||||
event_packed.Unpack(ref pEvent);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent);
|
||||
return result;
|
||||
}
|
||||
@@ -2895,6 +2927,10 @@ public class CVROverlay
|
||||
VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
|
||||
return result;
|
||||
}
|
||||
public void CloseMessageOverlay()
|
||||
{
|
||||
FnTable.CloseMessageOverlay();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2981,6 +3017,7 @@ public class CVRRenderModels
|
||||
}
|
||||
public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -2993,6 +3030,7 @@ public class CVRRenderModels
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState);
|
||||
return result;
|
||||
}
|
||||
@@ -3344,6 +3382,7 @@ public enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
Prop_SupportedButtons_Uint64 = 3001,
|
||||
Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -3401,6 +3440,7 @@ public enum EVRSubmitFlags
|
||||
Submit_LensDistortionAlreadyApplied = 1,
|
||||
Submit_GlRenderBuffer = 2,
|
||||
Submit_Reserved = 4,
|
||||
Submit_TextureWithPose = 8,
|
||||
}
|
||||
public enum EVRState
|
||||
{
|
||||
@@ -3429,6 +3469,8 @@ public enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
VREvent_ButtonPress = 200,
|
||||
VREvent_ButtonUnpress = 201,
|
||||
VREvent_ButtonTouch = 202,
|
||||
@@ -3526,6 +3568,7 @@ public enum EVREventType
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
}
|
||||
@@ -3683,6 +3726,9 @@ public enum EVRInitError
|
||||
Init_VRDashboardStartupFailed = 134,
|
||||
Init_VRHomeNotFound = 135,
|
||||
Init_VRHomeStartupFailed = 136,
|
||||
Init_RebootingBusy = 137,
|
||||
Init_FirmwareUpdateBusy = 138,
|
||||
Init_FirmwareRecoveryBusy = 139,
|
||||
Driver_Failed = 200,
|
||||
Driver_Unknown = 201,
|
||||
Driver_HmdUnknown = 202,
|
||||
@@ -3785,6 +3831,7 @@ public enum EVRApplicationError
|
||||
OldApplicationQuitting = 112,
|
||||
TransitionAborted = 113,
|
||||
IsTemplate = 114,
|
||||
SteamVRIsExiting = 115,
|
||||
BufferTooSmall = 200,
|
||||
PropertyNotSet = 201,
|
||||
UnknownProperty = 202,
|
||||
@@ -3806,6 +3853,7 @@ public enum EVRApplicationProperty
|
||||
IsTemplate_Bool = 61,
|
||||
IsInstanced_Bool = 62,
|
||||
IsInternal_Bool = 63,
|
||||
WantsCompositorPauseInStandby_Bool = 64,
|
||||
LastLaunchTime_Uint64 = 70,
|
||||
}
|
||||
public enum EVRApplicationTransitionState
|
||||
@@ -3850,6 +3898,7 @@ public enum EVRCompositorError
|
||||
SharedTexturesNotSupported = 106,
|
||||
IndexOutOfRange = 107,
|
||||
AlreadySubmitted = 108,
|
||||
InvalidBounds = 109,
|
||||
}
|
||||
public enum VROverlayInputMethod
|
||||
{
|
||||
@@ -4120,6 +4169,10 @@ public enum EVRScreenshotError
|
||||
public float uMax;
|
||||
public float vMax;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPose_t
|
||||
{
|
||||
public HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
|
||||
{
|
||||
public ulong m_nImage;
|
||||
@@ -4601,7 +4654,7 @@ public class OpenVR
|
||||
public const uint k_unControllerStateAxisCount = 5;
|
||||
public const ulong k_ulOverlayHandleInvalid = 0;
|
||||
public const uint k_unScreenshotHandleInvalid = 0;
|
||||
public const string IVRSystem_Version = "IVRSystem_016";
|
||||
public const string IVRSystem_Version = "IVRSystem_017";
|
||||
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
public const uint k_unMaxApplicationKeyLength = 128;
|
||||
@@ -4610,7 +4663,7 @@ public class OpenVR
|
||||
public const string IVRApplications_Version = "IVRApplications_006";
|
||||
public const string IVRChaperone_Version = "IVRChaperone_003";
|
||||
public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_020";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_021";
|
||||
public const uint k_unVROverlayMaxKeyLength = 128;
|
||||
public const uint k_unVROverlayMaxNameLength = 128;
|
||||
public const uint k_unMaxOverlayCount = 64;
|
||||
@@ -4669,6 +4722,7 @@ public class OpenVR
|
||||
public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
public const string k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -4742,6 +4796,7 @@ public class OpenVR
|
||||
public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
public const string k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
public const string k_pch_Dashboard_Section = "dashboard";
|
||||
public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
||||
public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
||||
|
||||
@@ -157,6 +157,7 @@
|
||||
,{"name": "Prop_DriverDirectModeSendsVsyncEvents_Bool","value": "2043"}
|
||||
,{"name": "Prop_DisplayDebugMode_Bool","value": "2044"}
|
||||
,{"name": "Prop_GraphicsAdapterLuid_Uint64","value": "2045"}
|
||||
,{"name": "Prop_DriverProvidedChaperonePath_String","value": "2048"}
|
||||
,{"name": "Prop_AttachedDeviceId_String","value": "3000"}
|
||||
,{"name": "Prop_SupportedButtons_Uint64","value": "3001"}
|
||||
,{"name": "Prop_Axis0Type_Int32","value": "3002"}
|
||||
@@ -212,6 +213,7 @@
|
||||
,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"}
|
||||
,{"name": "Submit_GlRenderBuffer","value": "2"}
|
||||
,{"name": "Submit_Reserved","value": "4"}
|
||||
,{"name": "Submit_TextureWithPose","value": "8"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRState","values": [
|
||||
{"name": "VRState_Undefined","value": "-1"}
|
||||
@@ -238,6 +240,8 @@
|
||||
,{"name": "VREvent_WatchdogWakeUpRequested","value": "109"}
|
||||
,{"name": "VREvent_LensDistortionChanged","value": "110"}
|
||||
,{"name": "VREvent_PropertyChanged","value": "111"}
|
||||
,{"name": "VREvent_WirelessDisconnect","value": "112"}
|
||||
,{"name": "VREvent_WirelessReconnect","value": "113"}
|
||||
,{"name": "VREvent_ButtonPress","value": "200"}
|
||||
,{"name": "VREvent_ButtonUnpress","value": "201"}
|
||||
,{"name": "VREvent_ButtonTouch","value": "202"}
|
||||
@@ -335,6 +339,7 @@
|
||||
,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"}
|
||||
,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"}
|
||||
,{"name": "VREvent_MessageOverlay_Closed","value": "1650"}
|
||||
,{"name": "VREvent_MessageOverlayCloseRequested","value": "1651"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"}
|
||||
]}
|
||||
@@ -480,6 +485,9 @@
|
||||
,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"}
|
||||
,{"name": "VRInitError_Init_VRHomeNotFound","value": "135"}
|
||||
,{"name": "VRInitError_Init_VRHomeStartupFailed","value": "136"}
|
||||
,{"name": "VRInitError_Init_RebootingBusy","value": "137"}
|
||||
,{"name": "VRInitError_Init_FirmwareUpdateBusy","value": "138"}
|
||||
,{"name": "VRInitError_Init_FirmwareRecoveryBusy","value": "139"}
|
||||
,{"name": "VRInitError_Driver_Failed","value": "200"}
|
||||
,{"name": "VRInitError_Driver_Unknown","value": "201"}
|
||||
,{"name": "VRInitError_Driver_HmdUnknown","value": "202"}
|
||||
@@ -577,6 +585,7 @@
|
||||
,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"}
|
||||
,{"name": "VRApplicationError_TransitionAborted","value": "113"}
|
||||
,{"name": "VRApplicationError_IsTemplate","value": "114"}
|
||||
,{"name": "VRApplicationError_SteamVRIsExiting","value": "115"}
|
||||
,{"name": "VRApplicationError_BufferTooSmall","value": "200"}
|
||||
,{"name": "VRApplicationError_PropertyNotSet","value": "201"}
|
||||
,{"name": "VRApplicationError_UnknownProperty","value": "202"}
|
||||
@@ -597,6 +606,7 @@
|
||||
,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"}
|
||||
,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"}
|
||||
,{"name": "VRApplicationProperty_IsInternal_Bool","value": "63"}
|
||||
,{"name": "VRApplicationProperty_WantsCompositorPauseInStandby_Bool","value": "64"}
|
||||
,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRApplicationTransitionState","values": [
|
||||
@@ -636,6 +646,7 @@
|
||||
,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"}
|
||||
,{"name": "VRCompositorError_IndexOutOfRange","value": "107"}
|
||||
,{"name": "VRCompositorError_AlreadySubmitted","value": "108"}
|
||||
,{"name": "VRCompositorError_InvalidBounds","value": "109"}
|
||||
]}
|
||||
, {"enumname": "vr::VROverlayInputMethod","values": [
|
||||
{"name": "VROverlayInputMethod_None","value": "0"}
|
||||
@@ -794,7 +805,7 @@
|
||||
,{
|
||||
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
|
||||
,{
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_016"}
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_017"}
|
||||
,{
|
||||
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
|
||||
,{
|
||||
@@ -812,7 +823,7 @@
|
||||
,{
|
||||
"constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"}
|
||||
,{
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_020"}
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_021"}
|
||||
,{
|
||||
"constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"}
|
||||
,{
|
||||
@@ -929,6 +940,8 @@
|
||||
"constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"}
|
||||
,{
|
||||
"constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"}
|
||||
,{
|
||||
@@ -1075,6 +1088,8 @@
|
||||
"constname": "k_pch_Power_ReturnToWatchdogTimeout_Float","consttype": "const char *const", "constval": "returnToWatchdogTimeout"}
|
||||
,{
|
||||
"constname": "k_pch_Power_AutoLaunchSteamVROnButtonPress","consttype": "const char *const", "constval": "autoLaunchSteamVROnButtonPress"}
|
||||
,{
|
||||
"constname": "k_pch_Power_PauseCompositorOnStandby_Bool","consttype": "const char *const", "constval": "pauseCompositorOnStandby"}
|
||||
,{
|
||||
"constname": "k_pch_Dashboard_Section","consttype": "const char *const", "constval": "dashboard"}
|
||||
,{
|
||||
@@ -1139,6 +1154,8 @@
|
||||
{ "fieldname": "vMin", "fieldtype": "float"},
|
||||
{ "fieldname": "uMax", "fieldtype": "float"},
|
||||
{ "fieldname": "vMax", "fieldtype": "float"}]}
|
||||
,{"struct": "vr::VRTextureWithPose_t","fields": [
|
||||
{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}]}
|
||||
,{"struct": "vr::VRVulkanTextureData_t","fields": [
|
||||
{ "fieldname": "m_nImage", "fieldtype": "uint64_t"},
|
||||
{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"},
|
||||
@@ -1458,7 +1475,8 @@
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pnDevice" ,"paramtype": "uint64_t *"},
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"}
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"},
|
||||
{ "paramname": "pInstance" ,"paramtype": "struct VkInstance_T *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -2714,6 +2732,19 @@
|
||||
{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SetExplicitTimingMode",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "bExplicitTimingMode" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SubmitExplicitTimingData",
|
||||
"returntype": "vr::EVRCompositorError"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "FindOverlay",
|
||||
@@ -3466,6 +3497,11 @@
|
||||
{ "paramname": "pchButton3Text" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "CloseMessageOverlay",
|
||||
"returntype": "void"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRRenderModels",
|
||||
"methodname": "LoadRenderModel_Async",
|
||||
|
||||
@@ -56,6 +56,9 @@ typedef char bool;
|
||||
|
||||
typedef uint64_t PropertyContainerHandle_t;
|
||||
typedef uint32_t PropertyTypeTag_t;
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputOriginHandle_t;
|
||||
|
||||
|
||||
// OpenVR Constants
|
||||
@@ -84,7 +87,7 @@ static const unsigned int k_unMaxPropertyStringSize = 32768;
|
||||
static const unsigned int k_unControllerStateAxisCount = 5;
|
||||
static const unsigned long k_ulOverlayHandleInvalid = 0;
|
||||
static const unsigned int k_unScreenshotHandleInvalid = 0;
|
||||
static const char * IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * IVRSystem_Version = "IVRSystem_017";
|
||||
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
static const unsigned int k_unMaxApplicationKeyLength = 128;
|
||||
@@ -93,7 +96,7 @@ static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
|
||||
static const char * IVRApplications_Version = "IVRApplications_006";
|
||||
static const char * IVRChaperone_Version = "IVRChaperone_003";
|
||||
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_021";
|
||||
static const unsigned int k_unVROverlayMaxKeyLength = 128;
|
||||
static const unsigned int k_unVROverlayMaxNameLength = 128;
|
||||
static const unsigned int k_unMaxOverlayCount = 64;
|
||||
@@ -152,6 +155,7 @@ static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBack
|
||||
static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -225,6 +229,7 @@ static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTim
|
||||
static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
static const char * k_pch_Dashboard_Section = "dashboard";
|
||||
static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
||||
static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
||||
@@ -376,6 +381,7 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044,
|
||||
ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
|
||||
ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
|
||||
ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -435,6 +441,7 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
|
||||
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
|
||||
EVRSubmitFlags_Submit_Reserved = 4,
|
||||
EVRSubmitFlags_Submit_TextureWithPose = 8,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@@ -465,6 +472,8 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_WatchdogWakeUpRequested = 109,
|
||||
EVREventType_VREvent_LensDistortionChanged = 110,
|
||||
EVREventType_VREvent_PropertyChanged = 111,
|
||||
EVREventType_VREvent_WirelessDisconnect = 112,
|
||||
EVREventType_VREvent_WirelessReconnect = 113,
|
||||
EVREventType_VREvent_ButtonPress = 200,
|
||||
EVREventType_VREvent_ButtonUnpress = 201,
|
||||
EVREventType_VREvent_ButtonTouch = 202,
|
||||
@@ -562,6 +571,7 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
EVREventType_VREvent_MessageOverlay_Closed = 1650,
|
||||
EVREventType_VREvent_MessageOverlayCloseRequested = 1651,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
} EVREventType;
|
||||
@@ -731,6 +741,9 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
EVRInitError_VRInitError_Init_VRHomeNotFound = 135,
|
||||
EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
EVRInitError_VRInitError_Init_RebootingBusy = 137,
|
||||
EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
EVRInitError_VRInitError_Driver_Failed = 200,
|
||||
EVRInitError_VRInitError_Driver_Unknown = 201,
|
||||
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
|
||||
@@ -838,6 +851,7 @@ typedef enum EVRApplicationError
|
||||
EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112,
|
||||
EVRApplicationError_VRApplicationError_TransitionAborted = 113,
|
||||
EVRApplicationError_VRApplicationError_IsTemplate = 114,
|
||||
EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115,
|
||||
EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
|
||||
EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
|
||||
EVRApplicationError_VRApplicationError_UnknownProperty = 202,
|
||||
@@ -860,6 +874,7 @@ typedef enum EVRApplicationProperty
|
||||
EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63,
|
||||
EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64,
|
||||
EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70,
|
||||
} EVRApplicationProperty;
|
||||
|
||||
@@ -909,6 +924,7 @@ typedef enum EVRCompositorError
|
||||
EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106,
|
||||
EVRCompositorError_VRCompositorError_IndexOutOfRange = 107,
|
||||
EVRCompositorError_VRCompositorError_AlreadySubmitted = 108,
|
||||
EVRCompositorError_VRCompositorError_InvalidBounds = 109,
|
||||
} EVRCompositorError;
|
||||
|
||||
typedef enum VROverlayInputMethod
|
||||
@@ -1174,6 +1190,11 @@ typedef struct VRTextureBounds_t
|
||||
float vMax;
|
||||
} VRTextureBounds_t;
|
||||
|
||||
typedef struct VRTextureWithPose_t
|
||||
{
|
||||
struct HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
} VRTextureWithPose_t;
|
||||
|
||||
typedef struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage;
|
||||
@@ -1572,7 +1593,7 @@ struct VR_IVRSystem_FnTable
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
|
||||
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType, struct VkInstance_T * pInstance);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
|
||||
@@ -1748,6 +1769,8 @@ struct VR_IVRCompositor_FnTable
|
||||
void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *SetExplicitTimingMode)(bool bExplicitTimingMode);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitExplicitTimingData)();
|
||||
};
|
||||
|
||||
struct VR_IVROverlay_FnTable
|
||||
@@ -1832,6 +1855,7 @@ struct VR_IVROverlay_FnTable
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags);
|
||||
VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *CloseMessageOverlay)();
|
||||
};
|
||||
|
||||
struct VR_IVRRenderModels_FnTable
|
||||
|
||||
@@ -315,6 +315,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -392,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -409,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -464,6 +473,8 @@ enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -583,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1016,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1085,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1401,6 +1417,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -1504,6 +1521,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
|
||||
Binary file not shown.
@@ -315,6 +315,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -392,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -409,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -464,6 +473,8 @@ enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -583,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1016,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1085,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1280,17 +1296,20 @@ public:
|
||||
* Returns platform- and texture-type specific adapter identification so that applications and the
|
||||
* compositor are creating textures and swap chains on the same GPU. If an error occurs the device
|
||||
* will be set to 0.
|
||||
* pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan.
|
||||
* [D3D10/11/12 Only (D3D9 Not Supported)]
|
||||
* Returns the adapter LUID that identifies the GPU attached to the HMD. The user should
|
||||
* enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find
|
||||
* the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid.
|
||||
* The discovered IDXGIAdapter should be used to create the device and swap chain.
|
||||
* [Vulkan Only]
|
||||
* Returns the vk::PhysicalDevice that should be used by the application.
|
||||
* Returns the VkPhysicalDevice that should be used by the application.
|
||||
* pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application
|
||||
* must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled.
|
||||
* [macOS Only]
|
||||
* Returns an id<MTLDevice> that should be used by the application.
|
||||
*/
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType ) = 0;
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0;
|
||||
|
||||
// ------------------------------------
|
||||
// Display Mode methods
|
||||
@@ -1508,7 +1527,7 @@ public:
|
||||
|
||||
};
|
||||
|
||||
static const char * const IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * const IVRSystem_Version = "IVRSystem_017";
|
||||
|
||||
}
|
||||
|
||||
@@ -1537,6 +1556,7 @@ namespace vr
|
||||
VRApplicationError_OldApplicationQuitting = 112,
|
||||
VRApplicationError_TransitionAborted = 113,
|
||||
VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication)
|
||||
VRApplicationError_SteamVRIsExiting = 115,
|
||||
|
||||
VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data
|
||||
VRApplicationError_PropertyNotSet = 201, // The requested property was not set
|
||||
@@ -1567,6 +1587,7 @@ namespace vr
|
||||
VRApplicationProperty_IsTemplate_Bool = 61,
|
||||
VRApplicationProperty_IsInstanced_Bool = 62,
|
||||
VRApplicationProperty_IsInternal_Bool = 63,
|
||||
VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64,
|
||||
|
||||
VRApplicationProperty_LastLaunchTime_Uint64 = 70,
|
||||
};
|
||||
@@ -1813,6 +1834,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -1916,6 +1938,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
@@ -2114,6 +2137,7 @@ enum EVRCompositorError
|
||||
VRCompositorError_SharedTexturesNotSupported = 106,
|
||||
VRCompositorError_IndexOutOfRange = 107,
|
||||
VRCompositorError_AlreadySubmitted = 108,
|
||||
VRCompositorError_InvalidBounds = 109,
|
||||
};
|
||||
|
||||
const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01;
|
||||
@@ -2362,9 +2386,36 @@ public:
|
||||
* null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */
|
||||
virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* There are two purposes for SetExplicitTimingMode:
|
||||
* 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications.
|
||||
* 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from
|
||||
* another thread while WaitGetPoses is executing.
|
||||
*
|
||||
* More accurate GPU timestamp for the start of the frame is achieved by the application calling
|
||||
* SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue.
|
||||
* This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11,
|
||||
* WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the
|
||||
* application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for
|
||||
* Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame.
|
||||
*
|
||||
* Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired,
|
||||
* the application *MUST* call PostPresentHandoff itself prior to WaitGetPoses. If SetExplicitTimingMode is true and the
|
||||
* application calls PostPresentHandoff, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff
|
||||
* and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another
|
||||
* thread. */
|
||||
virtual void SetExplicitTimingMode( bool bExplicitTimingMode ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before
|
||||
* the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame.
|
||||
* This function will insert a GPU timestamp write just before the application starts its rendering. This function
|
||||
* will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread.
|
||||
* Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */
|
||||
virtual EVRCompositorError SubmitExplicitTimingData() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_021";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@@ -2949,6 +3000,9 @@ namespace vr
|
||||
|
||||
/** Show the message overlay. This will block and return you a result. **/
|
||||
virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0;
|
||||
|
||||
/** If the calling process owns the overlay and it's open, this will close it. **/
|
||||
virtual void CloseMessageOverlay() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVROverlay_Version = "IVROverlay_016";
|
||||
@@ -3409,8 +3463,10 @@ namespace vr
|
||||
*
|
||||
* This path is to the "root" of the VR API install. That's the directory with
|
||||
* the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself.
|
||||
*
|
||||
* pStartupInfo is reserved for future use.
|
||||
*/
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr );
|
||||
|
||||
/** unloads vrclient.dll. Any interface pointers from the interface are
|
||||
* invalid after this point */
|
||||
@@ -3680,17 +3736,17 @@ namespace vr
|
||||
m_pVRScreenshots = nullptr;
|
||||
m_pVRDriverManager = nullptr;
|
||||
}
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo );
|
||||
VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal();
|
||||
|
||||
/** Finds the active installation of vrclient.dll and initializes it */
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType )
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo )
|
||||
{
|
||||
IVRSystem *pVRSystem = nullptr;
|
||||
|
||||
EVRInitError eError;
|
||||
VRToken() = VR_InitInternal( &eError, eApplicationType );
|
||||
VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo );
|
||||
COpenVRContext &ctx = OpenVRInternal_ModuleContext();
|
||||
ctx.Clear();
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public struct IVRSystem
|
||||
internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType);
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetOutputDevice GetOutputDevice;
|
||||
|
||||
@@ -845,6 +845,16 @@ public struct IVRCompositor
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _SetExplicitTimingMode(bool bExplicitTimingMode);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SetExplicitTimingMode SetExplicitTimingMode;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVRCompositorError _SubmitExplicitTimingData();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SubmitExplicitTimingData SubmitExplicitTimingData;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1250,6 +1260,11 @@ public struct IVROverlay
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _ShowMessageOverlay ShowMessageOverlay;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _CloseMessageOverlay();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _CloseMessageOverlay CloseMessageOverlay;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1551,10 +1566,10 @@ public class CVRSystem
|
||||
pnAdapterIndex = 0;
|
||||
FnTable.GetDXGIOutputInfo(ref pnAdapterIndex);
|
||||
}
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType)
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType,IntPtr pInstance)
|
||||
{
|
||||
pnDevice = 0;
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType);
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType,pInstance);
|
||||
}
|
||||
public bool IsDisplayOnDesktop()
|
||||
{
|
||||
@@ -1667,6 +1682,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1679,6 +1695,7 @@ public class CVRSystem
|
||||
event_packed.Unpack(ref pEvent);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent);
|
||||
return result;
|
||||
}
|
||||
@@ -1711,6 +1728,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1723,6 +1741,7 @@ public class CVRSystem
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize);
|
||||
return result;
|
||||
}
|
||||
@@ -1740,6 +1759,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1752,6 +1772,7 @@ public class CVRSystem
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose);
|
||||
return result;
|
||||
}
|
||||
@@ -2439,6 +2460,15 @@ public class CVRCompositor
|
||||
uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
|
||||
return result;
|
||||
}
|
||||
public void SetExplicitTimingMode(bool bExplicitTimingMode)
|
||||
{
|
||||
FnTable.SetExplicitTimingMode(bExplicitTimingMode);
|
||||
}
|
||||
public EVRCompositorError SubmitExplicitTimingData()
|
||||
{
|
||||
EVRCompositorError result = FnTable.SubmitExplicitTimingData();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2705,6 +2735,7 @@ public class CVROverlay
|
||||
}
|
||||
public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -2717,6 +2748,7 @@ public class CVROverlay
|
||||
event_packed.Unpack(ref pEvent);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent);
|
||||
return result;
|
||||
}
|
||||
@@ -2895,6 +2927,10 @@ public class CVROverlay
|
||||
VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
|
||||
return result;
|
||||
}
|
||||
public void CloseMessageOverlay()
|
||||
{
|
||||
FnTable.CloseMessageOverlay();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2981,6 +3017,7 @@ public class CVRRenderModels
|
||||
}
|
||||
public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -2993,6 +3030,7 @@ public class CVRRenderModels
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState);
|
||||
return result;
|
||||
}
|
||||
@@ -3344,6 +3382,7 @@ public enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
Prop_SupportedButtons_Uint64 = 3001,
|
||||
Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -3401,6 +3440,7 @@ public enum EVRSubmitFlags
|
||||
Submit_LensDistortionAlreadyApplied = 1,
|
||||
Submit_GlRenderBuffer = 2,
|
||||
Submit_Reserved = 4,
|
||||
Submit_TextureWithPose = 8,
|
||||
}
|
||||
public enum EVRState
|
||||
{
|
||||
@@ -3429,6 +3469,8 @@ public enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
VREvent_ButtonPress = 200,
|
||||
VREvent_ButtonUnpress = 201,
|
||||
VREvent_ButtonTouch = 202,
|
||||
@@ -3526,6 +3568,7 @@ public enum EVREventType
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
}
|
||||
@@ -3683,6 +3726,9 @@ public enum EVRInitError
|
||||
Init_VRDashboardStartupFailed = 134,
|
||||
Init_VRHomeNotFound = 135,
|
||||
Init_VRHomeStartupFailed = 136,
|
||||
Init_RebootingBusy = 137,
|
||||
Init_FirmwareUpdateBusy = 138,
|
||||
Init_FirmwareRecoveryBusy = 139,
|
||||
Driver_Failed = 200,
|
||||
Driver_Unknown = 201,
|
||||
Driver_HmdUnknown = 202,
|
||||
@@ -3785,6 +3831,7 @@ public enum EVRApplicationError
|
||||
OldApplicationQuitting = 112,
|
||||
TransitionAborted = 113,
|
||||
IsTemplate = 114,
|
||||
SteamVRIsExiting = 115,
|
||||
BufferTooSmall = 200,
|
||||
PropertyNotSet = 201,
|
||||
UnknownProperty = 202,
|
||||
@@ -3806,6 +3853,7 @@ public enum EVRApplicationProperty
|
||||
IsTemplate_Bool = 61,
|
||||
IsInstanced_Bool = 62,
|
||||
IsInternal_Bool = 63,
|
||||
WantsCompositorPauseInStandby_Bool = 64,
|
||||
LastLaunchTime_Uint64 = 70,
|
||||
}
|
||||
public enum EVRApplicationTransitionState
|
||||
@@ -3850,6 +3898,7 @@ public enum EVRCompositorError
|
||||
SharedTexturesNotSupported = 106,
|
||||
IndexOutOfRange = 107,
|
||||
AlreadySubmitted = 108,
|
||||
InvalidBounds = 109,
|
||||
}
|
||||
public enum VROverlayInputMethod
|
||||
{
|
||||
@@ -4120,6 +4169,10 @@ public enum EVRScreenshotError
|
||||
public float uMax;
|
||||
public float vMax;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPose_t
|
||||
{
|
||||
public HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
|
||||
{
|
||||
public ulong m_nImage;
|
||||
@@ -4601,7 +4654,7 @@ public class OpenVR
|
||||
public const uint k_unControllerStateAxisCount = 5;
|
||||
public const ulong k_ulOverlayHandleInvalid = 0;
|
||||
public const uint k_unScreenshotHandleInvalid = 0;
|
||||
public const string IVRSystem_Version = "IVRSystem_016";
|
||||
public const string IVRSystem_Version = "IVRSystem_017";
|
||||
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
public const uint k_unMaxApplicationKeyLength = 128;
|
||||
@@ -4610,7 +4663,7 @@ public class OpenVR
|
||||
public const string IVRApplications_Version = "IVRApplications_006";
|
||||
public const string IVRChaperone_Version = "IVRChaperone_003";
|
||||
public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_020";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_021";
|
||||
public const uint k_unVROverlayMaxKeyLength = 128;
|
||||
public const uint k_unVROverlayMaxNameLength = 128;
|
||||
public const uint k_unMaxOverlayCount = 64;
|
||||
@@ -4669,6 +4722,7 @@ public class OpenVR
|
||||
public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
public const string k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -4742,6 +4796,7 @@ public class OpenVR
|
||||
public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
public const string k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
public const string k_pch_Dashboard_Section = "dashboard";
|
||||
public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
||||
public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
||||
|
||||
@@ -157,6 +157,7 @@
|
||||
,{"name": "Prop_DriverDirectModeSendsVsyncEvents_Bool","value": "2043"}
|
||||
,{"name": "Prop_DisplayDebugMode_Bool","value": "2044"}
|
||||
,{"name": "Prop_GraphicsAdapterLuid_Uint64","value": "2045"}
|
||||
,{"name": "Prop_DriverProvidedChaperonePath_String","value": "2048"}
|
||||
,{"name": "Prop_AttachedDeviceId_String","value": "3000"}
|
||||
,{"name": "Prop_SupportedButtons_Uint64","value": "3001"}
|
||||
,{"name": "Prop_Axis0Type_Int32","value": "3002"}
|
||||
@@ -212,6 +213,7 @@
|
||||
,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"}
|
||||
,{"name": "Submit_GlRenderBuffer","value": "2"}
|
||||
,{"name": "Submit_Reserved","value": "4"}
|
||||
,{"name": "Submit_TextureWithPose","value": "8"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRState","values": [
|
||||
{"name": "VRState_Undefined","value": "-1"}
|
||||
@@ -238,6 +240,8 @@
|
||||
,{"name": "VREvent_WatchdogWakeUpRequested","value": "109"}
|
||||
,{"name": "VREvent_LensDistortionChanged","value": "110"}
|
||||
,{"name": "VREvent_PropertyChanged","value": "111"}
|
||||
,{"name": "VREvent_WirelessDisconnect","value": "112"}
|
||||
,{"name": "VREvent_WirelessReconnect","value": "113"}
|
||||
,{"name": "VREvent_ButtonPress","value": "200"}
|
||||
,{"name": "VREvent_ButtonUnpress","value": "201"}
|
||||
,{"name": "VREvent_ButtonTouch","value": "202"}
|
||||
@@ -335,6 +339,7 @@
|
||||
,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"}
|
||||
,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"}
|
||||
,{"name": "VREvent_MessageOverlay_Closed","value": "1650"}
|
||||
,{"name": "VREvent_MessageOverlayCloseRequested","value": "1651"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"}
|
||||
]}
|
||||
@@ -480,6 +485,9 @@
|
||||
,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"}
|
||||
,{"name": "VRInitError_Init_VRHomeNotFound","value": "135"}
|
||||
,{"name": "VRInitError_Init_VRHomeStartupFailed","value": "136"}
|
||||
,{"name": "VRInitError_Init_RebootingBusy","value": "137"}
|
||||
,{"name": "VRInitError_Init_FirmwareUpdateBusy","value": "138"}
|
||||
,{"name": "VRInitError_Init_FirmwareRecoveryBusy","value": "139"}
|
||||
,{"name": "VRInitError_Driver_Failed","value": "200"}
|
||||
,{"name": "VRInitError_Driver_Unknown","value": "201"}
|
||||
,{"name": "VRInitError_Driver_HmdUnknown","value": "202"}
|
||||
@@ -577,6 +585,7 @@
|
||||
,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"}
|
||||
,{"name": "VRApplicationError_TransitionAborted","value": "113"}
|
||||
,{"name": "VRApplicationError_IsTemplate","value": "114"}
|
||||
,{"name": "VRApplicationError_SteamVRIsExiting","value": "115"}
|
||||
,{"name": "VRApplicationError_BufferTooSmall","value": "200"}
|
||||
,{"name": "VRApplicationError_PropertyNotSet","value": "201"}
|
||||
,{"name": "VRApplicationError_UnknownProperty","value": "202"}
|
||||
@@ -597,6 +606,7 @@
|
||||
,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"}
|
||||
,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"}
|
||||
,{"name": "VRApplicationProperty_IsInternal_Bool","value": "63"}
|
||||
,{"name": "VRApplicationProperty_WantsCompositorPauseInStandby_Bool","value": "64"}
|
||||
,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRApplicationTransitionState","values": [
|
||||
@@ -636,6 +646,7 @@
|
||||
,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"}
|
||||
,{"name": "VRCompositorError_IndexOutOfRange","value": "107"}
|
||||
,{"name": "VRCompositorError_AlreadySubmitted","value": "108"}
|
||||
,{"name": "VRCompositorError_InvalidBounds","value": "109"}
|
||||
]}
|
||||
, {"enumname": "vr::VROverlayInputMethod","values": [
|
||||
{"name": "VROverlayInputMethod_None","value": "0"}
|
||||
@@ -794,7 +805,7 @@
|
||||
,{
|
||||
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
|
||||
,{
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_016"}
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_017"}
|
||||
,{
|
||||
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
|
||||
,{
|
||||
@@ -812,7 +823,7 @@
|
||||
,{
|
||||
"constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"}
|
||||
,{
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_020"}
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_021"}
|
||||
,{
|
||||
"constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"}
|
||||
,{
|
||||
@@ -929,6 +940,8 @@
|
||||
"constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"}
|
||||
,{
|
||||
"constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"}
|
||||
,{
|
||||
@@ -1075,6 +1088,8 @@
|
||||
"constname": "k_pch_Power_ReturnToWatchdogTimeout_Float","consttype": "const char *const", "constval": "returnToWatchdogTimeout"}
|
||||
,{
|
||||
"constname": "k_pch_Power_AutoLaunchSteamVROnButtonPress","consttype": "const char *const", "constval": "autoLaunchSteamVROnButtonPress"}
|
||||
,{
|
||||
"constname": "k_pch_Power_PauseCompositorOnStandby_Bool","consttype": "const char *const", "constval": "pauseCompositorOnStandby"}
|
||||
,{
|
||||
"constname": "k_pch_Dashboard_Section","consttype": "const char *const", "constval": "dashboard"}
|
||||
,{
|
||||
@@ -1139,6 +1154,8 @@
|
||||
{ "fieldname": "vMin", "fieldtype": "float"},
|
||||
{ "fieldname": "uMax", "fieldtype": "float"},
|
||||
{ "fieldname": "vMax", "fieldtype": "float"}]}
|
||||
,{"struct": "vr::VRTextureWithPose_t","fields": [
|
||||
{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}]}
|
||||
,{"struct": "vr::VRVulkanTextureData_t","fields": [
|
||||
{ "fieldname": "m_nImage", "fieldtype": "uint64_t"},
|
||||
{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"},
|
||||
@@ -1458,7 +1475,8 @@
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pnDevice" ,"paramtype": "uint64_t *"},
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"}
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"},
|
||||
{ "paramname": "pInstance" ,"paramtype": "struct VkInstance_T *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -2714,6 +2732,19 @@
|
||||
{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SetExplicitTimingMode",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "bExplicitTimingMode" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SubmitExplicitTimingData",
|
||||
"returntype": "vr::EVRCompositorError"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "FindOverlay",
|
||||
@@ -3466,6 +3497,11 @@
|
||||
{ "paramname": "pchButton3Text" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "CloseMessageOverlay",
|
||||
"returntype": "void"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRRenderModels",
|
||||
"methodname": "LoadRenderModel_Async",
|
||||
|
||||
@@ -56,6 +56,9 @@ typedef char bool;
|
||||
|
||||
typedef uint64_t PropertyContainerHandle_t;
|
||||
typedef uint32_t PropertyTypeTag_t;
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputOriginHandle_t;
|
||||
|
||||
|
||||
// OpenVR Constants
|
||||
@@ -84,7 +87,7 @@ static const unsigned int k_unMaxPropertyStringSize = 32768;
|
||||
static const unsigned int k_unControllerStateAxisCount = 5;
|
||||
static const unsigned long k_ulOverlayHandleInvalid = 0;
|
||||
static const unsigned int k_unScreenshotHandleInvalid = 0;
|
||||
static const char * IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * IVRSystem_Version = "IVRSystem_017";
|
||||
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
static const unsigned int k_unMaxApplicationKeyLength = 128;
|
||||
@@ -93,7 +96,7 @@ static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
|
||||
static const char * IVRApplications_Version = "IVRApplications_006";
|
||||
static const char * IVRChaperone_Version = "IVRChaperone_003";
|
||||
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_021";
|
||||
static const unsigned int k_unVROverlayMaxKeyLength = 128;
|
||||
static const unsigned int k_unVROverlayMaxNameLength = 128;
|
||||
static const unsigned int k_unMaxOverlayCount = 64;
|
||||
@@ -152,6 +155,7 @@ static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBack
|
||||
static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -225,6 +229,7 @@ static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTim
|
||||
static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
static const char * k_pch_Dashboard_Section = "dashboard";
|
||||
static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
||||
static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
||||
@@ -376,6 +381,7 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044,
|
||||
ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
|
||||
ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
|
||||
ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -435,6 +441,7 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
|
||||
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
|
||||
EVRSubmitFlags_Submit_Reserved = 4,
|
||||
EVRSubmitFlags_Submit_TextureWithPose = 8,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@@ -465,6 +472,8 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_WatchdogWakeUpRequested = 109,
|
||||
EVREventType_VREvent_LensDistortionChanged = 110,
|
||||
EVREventType_VREvent_PropertyChanged = 111,
|
||||
EVREventType_VREvent_WirelessDisconnect = 112,
|
||||
EVREventType_VREvent_WirelessReconnect = 113,
|
||||
EVREventType_VREvent_ButtonPress = 200,
|
||||
EVREventType_VREvent_ButtonUnpress = 201,
|
||||
EVREventType_VREvent_ButtonTouch = 202,
|
||||
@@ -562,6 +571,7 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
EVREventType_VREvent_MessageOverlay_Closed = 1650,
|
||||
EVREventType_VREvent_MessageOverlayCloseRequested = 1651,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
} EVREventType;
|
||||
@@ -731,6 +741,9 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
EVRInitError_VRInitError_Init_VRHomeNotFound = 135,
|
||||
EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
EVRInitError_VRInitError_Init_RebootingBusy = 137,
|
||||
EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
EVRInitError_VRInitError_Driver_Failed = 200,
|
||||
EVRInitError_VRInitError_Driver_Unknown = 201,
|
||||
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
|
||||
@@ -838,6 +851,7 @@ typedef enum EVRApplicationError
|
||||
EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112,
|
||||
EVRApplicationError_VRApplicationError_TransitionAborted = 113,
|
||||
EVRApplicationError_VRApplicationError_IsTemplate = 114,
|
||||
EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115,
|
||||
EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
|
||||
EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
|
||||
EVRApplicationError_VRApplicationError_UnknownProperty = 202,
|
||||
@@ -860,6 +874,7 @@ typedef enum EVRApplicationProperty
|
||||
EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63,
|
||||
EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64,
|
||||
EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70,
|
||||
} EVRApplicationProperty;
|
||||
|
||||
@@ -909,6 +924,7 @@ typedef enum EVRCompositorError
|
||||
EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106,
|
||||
EVRCompositorError_VRCompositorError_IndexOutOfRange = 107,
|
||||
EVRCompositorError_VRCompositorError_AlreadySubmitted = 108,
|
||||
EVRCompositorError_VRCompositorError_InvalidBounds = 109,
|
||||
} EVRCompositorError;
|
||||
|
||||
typedef enum VROverlayInputMethod
|
||||
@@ -1174,6 +1190,11 @@ typedef struct VRTextureBounds_t
|
||||
float vMax;
|
||||
} VRTextureBounds_t;
|
||||
|
||||
typedef struct VRTextureWithPose_t
|
||||
{
|
||||
struct HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
} VRTextureWithPose_t;
|
||||
|
||||
typedef struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage;
|
||||
@@ -1572,7 +1593,7 @@ struct VR_IVRSystem_FnTable
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
|
||||
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType, struct VkInstance_T * pInstance);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
|
||||
@@ -1748,6 +1769,8 @@ struct VR_IVRCompositor_FnTable
|
||||
void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *SetExplicitTimingMode)(bool bExplicitTimingMode);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitExplicitTimingData)();
|
||||
};
|
||||
|
||||
struct VR_IVROverlay_FnTable
|
||||
@@ -1832,6 +1855,7 @@ struct VR_IVROverlay_FnTable
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags);
|
||||
VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *CloseMessageOverlay)();
|
||||
};
|
||||
|
||||
struct VR_IVRRenderModels_FnTable
|
||||
|
||||
@@ -315,6 +315,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -392,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -409,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -464,6 +473,8 @@ enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -583,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1016,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1085,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1401,6 +1417,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -1504,6 +1521,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
|
||||
Binary file not shown.
@@ -315,6 +315,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -392,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -409,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -464,6 +473,8 @@ enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -583,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1016,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1085,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1280,17 +1296,20 @@ public:
|
||||
* Returns platform- and texture-type specific adapter identification so that applications and the
|
||||
* compositor are creating textures and swap chains on the same GPU. If an error occurs the device
|
||||
* will be set to 0.
|
||||
* pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan.
|
||||
* [D3D10/11/12 Only (D3D9 Not Supported)]
|
||||
* Returns the adapter LUID that identifies the GPU attached to the HMD. The user should
|
||||
* enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find
|
||||
* the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid.
|
||||
* The discovered IDXGIAdapter should be used to create the device and swap chain.
|
||||
* [Vulkan Only]
|
||||
* Returns the vk::PhysicalDevice that should be used by the application.
|
||||
* Returns the VkPhysicalDevice that should be used by the application.
|
||||
* pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application
|
||||
* must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled.
|
||||
* [macOS Only]
|
||||
* Returns an id<MTLDevice> that should be used by the application.
|
||||
*/
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType ) = 0;
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0;
|
||||
|
||||
// ------------------------------------
|
||||
// Display Mode methods
|
||||
@@ -1508,7 +1527,7 @@ public:
|
||||
|
||||
};
|
||||
|
||||
static const char * const IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * const IVRSystem_Version = "IVRSystem_017";
|
||||
|
||||
}
|
||||
|
||||
@@ -1537,6 +1556,7 @@ namespace vr
|
||||
VRApplicationError_OldApplicationQuitting = 112,
|
||||
VRApplicationError_TransitionAborted = 113,
|
||||
VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication)
|
||||
VRApplicationError_SteamVRIsExiting = 115,
|
||||
|
||||
VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data
|
||||
VRApplicationError_PropertyNotSet = 201, // The requested property was not set
|
||||
@@ -1567,6 +1587,7 @@ namespace vr
|
||||
VRApplicationProperty_IsTemplate_Bool = 61,
|
||||
VRApplicationProperty_IsInstanced_Bool = 62,
|
||||
VRApplicationProperty_IsInternal_Bool = 63,
|
||||
VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64,
|
||||
|
||||
VRApplicationProperty_LastLaunchTime_Uint64 = 70,
|
||||
};
|
||||
@@ -1813,6 +1834,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -1916,6 +1938,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
@@ -2114,6 +2137,7 @@ enum EVRCompositorError
|
||||
VRCompositorError_SharedTexturesNotSupported = 106,
|
||||
VRCompositorError_IndexOutOfRange = 107,
|
||||
VRCompositorError_AlreadySubmitted = 108,
|
||||
VRCompositorError_InvalidBounds = 109,
|
||||
};
|
||||
|
||||
const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01;
|
||||
@@ -2362,9 +2386,36 @@ public:
|
||||
* null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */
|
||||
virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* There are two purposes for SetExplicitTimingMode:
|
||||
* 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications.
|
||||
* 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from
|
||||
* another thread while WaitGetPoses is executing.
|
||||
*
|
||||
* More accurate GPU timestamp for the start of the frame is achieved by the application calling
|
||||
* SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue.
|
||||
* This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11,
|
||||
* WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the
|
||||
* application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for
|
||||
* Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame.
|
||||
*
|
||||
* Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired,
|
||||
* the application *MUST* call PostPresentHandoff itself prior to WaitGetPoses. If SetExplicitTimingMode is true and the
|
||||
* application calls PostPresentHandoff, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff
|
||||
* and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another
|
||||
* thread. */
|
||||
virtual void SetExplicitTimingMode( bool bExplicitTimingMode ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before
|
||||
* the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame.
|
||||
* This function will insert a GPU timestamp write just before the application starts its rendering. This function
|
||||
* will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread.
|
||||
* Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */
|
||||
virtual EVRCompositorError SubmitExplicitTimingData() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_021";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@@ -2949,6 +3000,9 @@ namespace vr
|
||||
|
||||
/** Show the message overlay. This will block and return you a result. **/
|
||||
virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0;
|
||||
|
||||
/** If the calling process owns the overlay and it's open, this will close it. **/
|
||||
virtual void CloseMessageOverlay() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVROverlay_Version = "IVROverlay_016";
|
||||
@@ -3409,8 +3463,10 @@ namespace vr
|
||||
*
|
||||
* This path is to the "root" of the VR API install. That's the directory with
|
||||
* the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself.
|
||||
*
|
||||
* pStartupInfo is reserved for future use.
|
||||
*/
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr );
|
||||
|
||||
/** unloads vrclient.dll. Any interface pointers from the interface are
|
||||
* invalid after this point */
|
||||
@@ -3680,17 +3736,17 @@ namespace vr
|
||||
m_pVRScreenshots = nullptr;
|
||||
m_pVRDriverManager = nullptr;
|
||||
}
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo );
|
||||
VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal();
|
||||
|
||||
/** Finds the active installation of vrclient.dll and initializes it */
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType )
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo )
|
||||
{
|
||||
IVRSystem *pVRSystem = nullptr;
|
||||
|
||||
EVRInitError eError;
|
||||
VRToken() = VR_InitInternal( &eError, eApplicationType );
|
||||
VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo );
|
||||
COpenVRContext &ctx = OpenVRInternal_ModuleContext();
|
||||
ctx.Clear();
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public struct IVRSystem
|
||||
internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType);
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetOutputDevice GetOutputDevice;
|
||||
|
||||
@@ -845,6 +845,16 @@ public struct IVRCompositor
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _SetExplicitTimingMode(bool bExplicitTimingMode);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SetExplicitTimingMode SetExplicitTimingMode;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVRCompositorError _SubmitExplicitTimingData();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SubmitExplicitTimingData SubmitExplicitTimingData;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1250,6 +1260,11 @@ public struct IVROverlay
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _ShowMessageOverlay ShowMessageOverlay;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _CloseMessageOverlay();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _CloseMessageOverlay CloseMessageOverlay;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1551,10 +1566,10 @@ public class CVRSystem
|
||||
pnAdapterIndex = 0;
|
||||
FnTable.GetDXGIOutputInfo(ref pnAdapterIndex);
|
||||
}
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType)
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType,IntPtr pInstance)
|
||||
{
|
||||
pnDevice = 0;
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType);
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType,pInstance);
|
||||
}
|
||||
public bool IsDisplayOnDesktop()
|
||||
{
|
||||
@@ -1667,6 +1682,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1679,6 +1695,7 @@ public class CVRSystem
|
||||
event_packed.Unpack(ref pEvent);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent);
|
||||
return result;
|
||||
}
|
||||
@@ -1711,6 +1728,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1723,6 +1741,7 @@ public class CVRSystem
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize);
|
||||
return result;
|
||||
}
|
||||
@@ -1740,6 +1759,7 @@ public class CVRSystem
|
||||
}
|
||||
public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -1752,6 +1772,7 @@ public class CVRSystem
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose);
|
||||
return result;
|
||||
}
|
||||
@@ -2439,6 +2460,15 @@ public class CVRCompositor
|
||||
uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
|
||||
return result;
|
||||
}
|
||||
public void SetExplicitTimingMode(bool bExplicitTimingMode)
|
||||
{
|
||||
FnTable.SetExplicitTimingMode(bExplicitTimingMode);
|
||||
}
|
||||
public EVRCompositorError SubmitExplicitTimingData()
|
||||
{
|
||||
EVRCompositorError result = FnTable.SubmitExplicitTimingData();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2705,6 +2735,7 @@ public class CVROverlay
|
||||
}
|
||||
public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -2717,6 +2748,7 @@ public class CVROverlay
|
||||
event_packed.Unpack(ref pEvent);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent);
|
||||
return result;
|
||||
}
|
||||
@@ -2895,6 +2927,10 @@ public class CVROverlay
|
||||
VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
|
||||
return result;
|
||||
}
|
||||
public void CloseMessageOverlay()
|
||||
{
|
||||
FnTable.CloseMessageOverlay();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2981,6 +3017,7 @@ public class CVRRenderModels
|
||||
}
|
||||
public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState)
|
||||
{
|
||||
#if !UNITY_METRO
|
||||
if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
|
||||
(System.Environment.OSVersion.Platform == System.PlatformID.Unix))
|
||||
{
|
||||
@@ -2993,6 +3030,7 @@ public class CVRRenderModels
|
||||
state_packed.Unpack(ref pControllerState);
|
||||
return packed_result;
|
||||
}
|
||||
#endif
|
||||
bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState);
|
||||
return result;
|
||||
}
|
||||
@@ -3344,6 +3382,7 @@ public enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
Prop_SupportedButtons_Uint64 = 3001,
|
||||
Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -3401,6 +3440,7 @@ public enum EVRSubmitFlags
|
||||
Submit_LensDistortionAlreadyApplied = 1,
|
||||
Submit_GlRenderBuffer = 2,
|
||||
Submit_Reserved = 4,
|
||||
Submit_TextureWithPose = 8,
|
||||
}
|
||||
public enum EVRState
|
||||
{
|
||||
@@ -3429,6 +3469,8 @@ public enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
VREvent_ButtonPress = 200,
|
||||
VREvent_ButtonUnpress = 201,
|
||||
VREvent_ButtonTouch = 202,
|
||||
@@ -3526,6 +3568,7 @@ public enum EVREventType
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
}
|
||||
@@ -3683,6 +3726,9 @@ public enum EVRInitError
|
||||
Init_VRDashboardStartupFailed = 134,
|
||||
Init_VRHomeNotFound = 135,
|
||||
Init_VRHomeStartupFailed = 136,
|
||||
Init_RebootingBusy = 137,
|
||||
Init_FirmwareUpdateBusy = 138,
|
||||
Init_FirmwareRecoveryBusy = 139,
|
||||
Driver_Failed = 200,
|
||||
Driver_Unknown = 201,
|
||||
Driver_HmdUnknown = 202,
|
||||
@@ -3785,6 +3831,7 @@ public enum EVRApplicationError
|
||||
OldApplicationQuitting = 112,
|
||||
TransitionAborted = 113,
|
||||
IsTemplate = 114,
|
||||
SteamVRIsExiting = 115,
|
||||
BufferTooSmall = 200,
|
||||
PropertyNotSet = 201,
|
||||
UnknownProperty = 202,
|
||||
@@ -3806,6 +3853,7 @@ public enum EVRApplicationProperty
|
||||
IsTemplate_Bool = 61,
|
||||
IsInstanced_Bool = 62,
|
||||
IsInternal_Bool = 63,
|
||||
WantsCompositorPauseInStandby_Bool = 64,
|
||||
LastLaunchTime_Uint64 = 70,
|
||||
}
|
||||
public enum EVRApplicationTransitionState
|
||||
@@ -3850,6 +3898,7 @@ public enum EVRCompositorError
|
||||
SharedTexturesNotSupported = 106,
|
||||
IndexOutOfRange = 107,
|
||||
AlreadySubmitted = 108,
|
||||
InvalidBounds = 109,
|
||||
}
|
||||
public enum VROverlayInputMethod
|
||||
{
|
||||
@@ -4120,6 +4169,10 @@ public enum EVRScreenshotError
|
||||
public float uMax;
|
||||
public float vMax;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPose_t
|
||||
{
|
||||
public HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
|
||||
{
|
||||
public ulong m_nImage;
|
||||
@@ -4601,7 +4654,7 @@ public class OpenVR
|
||||
public const uint k_unControllerStateAxisCount = 5;
|
||||
public const ulong k_ulOverlayHandleInvalid = 0;
|
||||
public const uint k_unScreenshotHandleInvalid = 0;
|
||||
public const string IVRSystem_Version = "IVRSystem_016";
|
||||
public const string IVRSystem_Version = "IVRSystem_017";
|
||||
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
public const uint k_unMaxApplicationKeyLength = 128;
|
||||
@@ -4610,7 +4663,7 @@ public class OpenVR
|
||||
public const string IVRApplications_Version = "IVRApplications_006";
|
||||
public const string IVRChaperone_Version = "IVRChaperone_003";
|
||||
public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_020";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_021";
|
||||
public const uint k_unVROverlayMaxKeyLength = 128;
|
||||
public const uint k_unVROverlayMaxNameLength = 128;
|
||||
public const uint k_unMaxOverlayCount = 64;
|
||||
@@ -4669,6 +4722,7 @@ public class OpenVR
|
||||
public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
public const string k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -4742,6 +4796,7 @@ public class OpenVR
|
||||
public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
public const string k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
public const string k_pch_Dashboard_Section = "dashboard";
|
||||
public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
||||
public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
||||
|
||||
@@ -157,6 +157,7 @@
|
||||
,{"name": "Prop_DriverDirectModeSendsVsyncEvents_Bool","value": "2043"}
|
||||
,{"name": "Prop_DisplayDebugMode_Bool","value": "2044"}
|
||||
,{"name": "Prop_GraphicsAdapterLuid_Uint64","value": "2045"}
|
||||
,{"name": "Prop_DriverProvidedChaperonePath_String","value": "2048"}
|
||||
,{"name": "Prop_AttachedDeviceId_String","value": "3000"}
|
||||
,{"name": "Prop_SupportedButtons_Uint64","value": "3001"}
|
||||
,{"name": "Prop_Axis0Type_Int32","value": "3002"}
|
||||
@@ -212,6 +213,7 @@
|
||||
,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"}
|
||||
,{"name": "Submit_GlRenderBuffer","value": "2"}
|
||||
,{"name": "Submit_Reserved","value": "4"}
|
||||
,{"name": "Submit_TextureWithPose","value": "8"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRState","values": [
|
||||
{"name": "VRState_Undefined","value": "-1"}
|
||||
@@ -238,6 +240,8 @@
|
||||
,{"name": "VREvent_WatchdogWakeUpRequested","value": "109"}
|
||||
,{"name": "VREvent_LensDistortionChanged","value": "110"}
|
||||
,{"name": "VREvent_PropertyChanged","value": "111"}
|
||||
,{"name": "VREvent_WirelessDisconnect","value": "112"}
|
||||
,{"name": "VREvent_WirelessReconnect","value": "113"}
|
||||
,{"name": "VREvent_ButtonPress","value": "200"}
|
||||
,{"name": "VREvent_ButtonUnpress","value": "201"}
|
||||
,{"name": "VREvent_ButtonTouch","value": "202"}
|
||||
@@ -335,6 +339,7 @@
|
||||
,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"}
|
||||
,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"}
|
||||
,{"name": "VREvent_MessageOverlay_Closed","value": "1650"}
|
||||
,{"name": "VREvent_MessageOverlayCloseRequested","value": "1651"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"}
|
||||
]}
|
||||
@@ -480,6 +485,9 @@
|
||||
,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"}
|
||||
,{"name": "VRInitError_Init_VRHomeNotFound","value": "135"}
|
||||
,{"name": "VRInitError_Init_VRHomeStartupFailed","value": "136"}
|
||||
,{"name": "VRInitError_Init_RebootingBusy","value": "137"}
|
||||
,{"name": "VRInitError_Init_FirmwareUpdateBusy","value": "138"}
|
||||
,{"name": "VRInitError_Init_FirmwareRecoveryBusy","value": "139"}
|
||||
,{"name": "VRInitError_Driver_Failed","value": "200"}
|
||||
,{"name": "VRInitError_Driver_Unknown","value": "201"}
|
||||
,{"name": "VRInitError_Driver_HmdUnknown","value": "202"}
|
||||
@@ -577,6 +585,7 @@
|
||||
,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"}
|
||||
,{"name": "VRApplicationError_TransitionAborted","value": "113"}
|
||||
,{"name": "VRApplicationError_IsTemplate","value": "114"}
|
||||
,{"name": "VRApplicationError_SteamVRIsExiting","value": "115"}
|
||||
,{"name": "VRApplicationError_BufferTooSmall","value": "200"}
|
||||
,{"name": "VRApplicationError_PropertyNotSet","value": "201"}
|
||||
,{"name": "VRApplicationError_UnknownProperty","value": "202"}
|
||||
@@ -597,6 +606,7 @@
|
||||
,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"}
|
||||
,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"}
|
||||
,{"name": "VRApplicationProperty_IsInternal_Bool","value": "63"}
|
||||
,{"name": "VRApplicationProperty_WantsCompositorPauseInStandby_Bool","value": "64"}
|
||||
,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRApplicationTransitionState","values": [
|
||||
@@ -636,6 +646,7 @@
|
||||
,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"}
|
||||
,{"name": "VRCompositorError_IndexOutOfRange","value": "107"}
|
||||
,{"name": "VRCompositorError_AlreadySubmitted","value": "108"}
|
||||
,{"name": "VRCompositorError_InvalidBounds","value": "109"}
|
||||
]}
|
||||
, {"enumname": "vr::VROverlayInputMethod","values": [
|
||||
{"name": "VROverlayInputMethod_None","value": "0"}
|
||||
@@ -794,7 +805,7 @@
|
||||
,{
|
||||
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
|
||||
,{
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_016"}
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_017"}
|
||||
,{
|
||||
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
|
||||
,{
|
||||
@@ -812,7 +823,7 @@
|
||||
,{
|
||||
"constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"}
|
||||
,{
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_020"}
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_021"}
|
||||
,{
|
||||
"constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"}
|
||||
,{
|
||||
@@ -929,6 +940,8 @@
|
||||
"constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"}
|
||||
,{
|
||||
"constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"}
|
||||
,{
|
||||
@@ -1075,6 +1088,8 @@
|
||||
"constname": "k_pch_Power_ReturnToWatchdogTimeout_Float","consttype": "const char *const", "constval": "returnToWatchdogTimeout"}
|
||||
,{
|
||||
"constname": "k_pch_Power_AutoLaunchSteamVROnButtonPress","consttype": "const char *const", "constval": "autoLaunchSteamVROnButtonPress"}
|
||||
,{
|
||||
"constname": "k_pch_Power_PauseCompositorOnStandby_Bool","consttype": "const char *const", "constval": "pauseCompositorOnStandby"}
|
||||
,{
|
||||
"constname": "k_pch_Dashboard_Section","consttype": "const char *const", "constval": "dashboard"}
|
||||
,{
|
||||
@@ -1139,6 +1154,8 @@
|
||||
{ "fieldname": "vMin", "fieldtype": "float"},
|
||||
{ "fieldname": "uMax", "fieldtype": "float"},
|
||||
{ "fieldname": "vMax", "fieldtype": "float"}]}
|
||||
,{"struct": "vr::VRTextureWithPose_t","fields": [
|
||||
{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}]}
|
||||
,{"struct": "vr::VRVulkanTextureData_t","fields": [
|
||||
{ "fieldname": "m_nImage", "fieldtype": "uint64_t"},
|
||||
{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"},
|
||||
@@ -1458,7 +1475,8 @@
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pnDevice" ,"paramtype": "uint64_t *"},
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"}
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"},
|
||||
{ "paramname": "pInstance" ,"paramtype": "struct VkInstance_T *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -2714,6 +2732,19 @@
|
||||
{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SetExplicitTimingMode",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "bExplicitTimingMode" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SubmitExplicitTimingData",
|
||||
"returntype": "vr::EVRCompositorError"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "FindOverlay",
|
||||
@@ -3466,6 +3497,11 @@
|
||||
{ "paramname": "pchButton3Text" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "CloseMessageOverlay",
|
||||
"returntype": "void"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRRenderModels",
|
||||
"methodname": "LoadRenderModel_Async",
|
||||
|
||||
@@ -56,6 +56,9 @@ typedef char bool;
|
||||
|
||||
typedef uint64_t PropertyContainerHandle_t;
|
||||
typedef uint32_t PropertyTypeTag_t;
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputOriginHandle_t;
|
||||
|
||||
|
||||
// OpenVR Constants
|
||||
@@ -84,7 +87,7 @@ static const unsigned int k_unMaxPropertyStringSize = 32768;
|
||||
static const unsigned int k_unControllerStateAxisCount = 5;
|
||||
static const unsigned long k_ulOverlayHandleInvalid = 0;
|
||||
static const unsigned int k_unScreenshotHandleInvalid = 0;
|
||||
static const char * IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * IVRSystem_Version = "IVRSystem_017";
|
||||
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
static const unsigned int k_unMaxApplicationKeyLength = 128;
|
||||
@@ -93,7 +96,7 @@ static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
|
||||
static const char * IVRApplications_Version = "IVRApplications_006";
|
||||
static const char * IVRChaperone_Version = "IVRChaperone_003";
|
||||
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_021";
|
||||
static const unsigned int k_unVROverlayMaxKeyLength = 128;
|
||||
static const unsigned int k_unVROverlayMaxNameLength = 128;
|
||||
static const unsigned int k_unMaxOverlayCount = 64;
|
||||
@@ -152,6 +155,7 @@ static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBack
|
||||
static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -225,6 +229,7 @@ static const char * k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTim
|
||||
static const char * k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
static const char * k_pch_Dashboard_Section = "dashboard";
|
||||
static const char * k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
|
||||
static const char * k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
|
||||
@@ -376,6 +381,7 @@ typedef enum ETrackedDeviceProperty
|
||||
ETrackedDeviceProperty_Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
ETrackedDeviceProperty_Prop_DisplayDebugMode_Bool = 2044,
|
||||
ETrackedDeviceProperty_Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
ETrackedDeviceProperty_Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000,
|
||||
ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001,
|
||||
ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002,
|
||||
@@ -435,6 +441,7 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
|
||||
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
|
||||
EVRSubmitFlags_Submit_Reserved = 4,
|
||||
EVRSubmitFlags_Submit_TextureWithPose = 8,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@@ -465,6 +472,8 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_WatchdogWakeUpRequested = 109,
|
||||
EVREventType_VREvent_LensDistortionChanged = 110,
|
||||
EVREventType_VREvent_PropertyChanged = 111,
|
||||
EVREventType_VREvent_WirelessDisconnect = 112,
|
||||
EVREventType_VREvent_WirelessReconnect = 113,
|
||||
EVREventType_VREvent_ButtonPress = 200,
|
||||
EVREventType_VREvent_ButtonUnpress = 201,
|
||||
EVREventType_VREvent_ButtonTouch = 202,
|
||||
@@ -562,6 +571,7 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
EVREventType_VREvent_MessageOverlay_Closed = 1650,
|
||||
EVREventType_VREvent_MessageOverlayCloseRequested = 1651,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
} EVREventType;
|
||||
@@ -731,6 +741,9 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
EVRInitError_VRInitError_Init_VRHomeNotFound = 135,
|
||||
EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
EVRInitError_VRInitError_Init_RebootingBusy = 137,
|
||||
EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
EVRInitError_VRInitError_Driver_Failed = 200,
|
||||
EVRInitError_VRInitError_Driver_Unknown = 201,
|
||||
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
|
||||
@@ -838,6 +851,7 @@ typedef enum EVRApplicationError
|
||||
EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112,
|
||||
EVRApplicationError_VRApplicationError_TransitionAborted = 113,
|
||||
EVRApplicationError_VRApplicationError_IsTemplate = 114,
|
||||
EVRApplicationError_VRApplicationError_SteamVRIsExiting = 115,
|
||||
EVRApplicationError_VRApplicationError_BufferTooSmall = 200,
|
||||
EVRApplicationError_VRApplicationError_PropertyNotSet = 201,
|
||||
EVRApplicationError_VRApplicationError_UnknownProperty = 202,
|
||||
@@ -860,6 +874,7 @@ typedef enum EVRApplicationProperty
|
||||
EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62,
|
||||
EVRApplicationProperty_VRApplicationProperty_IsInternal_Bool = 63,
|
||||
EVRApplicationProperty_VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64,
|
||||
EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70,
|
||||
} EVRApplicationProperty;
|
||||
|
||||
@@ -909,6 +924,7 @@ typedef enum EVRCompositorError
|
||||
EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106,
|
||||
EVRCompositorError_VRCompositorError_IndexOutOfRange = 107,
|
||||
EVRCompositorError_VRCompositorError_AlreadySubmitted = 108,
|
||||
EVRCompositorError_VRCompositorError_InvalidBounds = 109,
|
||||
} EVRCompositorError;
|
||||
|
||||
typedef enum VROverlayInputMethod
|
||||
@@ -1174,6 +1190,11 @@ typedef struct VRTextureBounds_t
|
||||
float vMax;
|
||||
} VRTextureBounds_t;
|
||||
|
||||
typedef struct VRTextureWithPose_t
|
||||
{
|
||||
struct HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
} VRTextureWithPose_t;
|
||||
|
||||
typedef struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage;
|
||||
@@ -1572,7 +1593,7 @@ struct VR_IVRSystem_FnTable
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
|
||||
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType, struct VkInstance_T * pInstance);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
|
||||
@@ -1748,6 +1769,8 @@ struct VR_IVRCompositor_FnTable
|
||||
void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *SetExplicitTimingMode)(bool bExplicitTimingMode);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitExplicitTimingData)();
|
||||
};
|
||||
|
||||
struct VR_IVROverlay_FnTable
|
||||
@@ -1832,6 +1855,7 @@ struct VR_IVROverlay_FnTable
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags);
|
||||
VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *CloseMessageOverlay)();
|
||||
};
|
||||
|
||||
struct VR_IVRRenderModels_FnTable
|
||||
|
||||
@@ -315,6 +315,7 @@ enum ETrackedDeviceProperty
|
||||
Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043,
|
||||
Prop_DisplayDebugMode_Bool = 2044,
|
||||
Prop_GraphicsAdapterLuid_Uint64 = 2045,
|
||||
Prop_DriverProvidedChaperonePath_String = 2048,
|
||||
|
||||
// Properties that are unique to TrackedDeviceClass_Controller
|
||||
Prop_AttachedDeviceId_String = 3000,
|
||||
@@ -392,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -409,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -464,6 +473,8 @@ enum EVREventType
|
||||
VREvent_WatchdogWakeUpRequested = 109,
|
||||
VREvent_LensDistortionChanged = 110,
|
||||
VREvent_PropertyChanged = 111,
|
||||
VREvent_WirelessDisconnect = 112,
|
||||
VREvent_WirelessReconnect = 113,
|
||||
|
||||
VREvent_ButtonPress = 200, // data is controller
|
||||
VREvent_ButtonUnpress = 201, // data is controller
|
||||
@@ -583,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1016,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1085,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1401,6 +1417,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -1504,6 +1521,7 @@ namespace vr
|
||||
static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
|
||||
static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
|
||||
static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
|
||||
static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// dashboard keys
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -393,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -410,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -586,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1019,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1088,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1283,17 +1296,20 @@ public:
|
||||
* Returns platform- and texture-type specific adapter identification so that applications and the
|
||||
* compositor are creating textures and swap chains on the same GPU. If an error occurs the device
|
||||
* will be set to 0.
|
||||
* pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan.
|
||||
* [D3D10/11/12 Only (D3D9 Not Supported)]
|
||||
* Returns the adapter LUID that identifies the GPU attached to the HMD. The user should
|
||||
* enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find
|
||||
* the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid.
|
||||
* The discovered IDXGIAdapter should be used to create the device and swap chain.
|
||||
* [Vulkan Only]
|
||||
* Returns the vk::PhysicalDevice that should be used by the application.
|
||||
* Returns the VkPhysicalDevice that should be used by the application.
|
||||
* pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application
|
||||
* must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled.
|
||||
* [macOS Only]
|
||||
* Returns an id<MTLDevice> that should be used by the application.
|
||||
*/
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType ) = 0;
|
||||
virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0;
|
||||
|
||||
// ------------------------------------
|
||||
// Display Mode methods
|
||||
@@ -1511,7 +1527,7 @@ public:
|
||||
|
||||
};
|
||||
|
||||
static const char * const IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * const IVRSystem_Version = "IVRSystem_017";
|
||||
|
||||
}
|
||||
|
||||
@@ -1818,6 +1834,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
@@ -2369,9 +2386,36 @@ public:
|
||||
* null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */
|
||||
virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* There are two purposes for SetExplicitTimingMode:
|
||||
* 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications.
|
||||
* 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from
|
||||
* another thread while WaitGetPoses is executing.
|
||||
*
|
||||
* More accurate GPU timestamp for the start of the frame is achieved by the application calling
|
||||
* SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue.
|
||||
* This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11,
|
||||
* WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the
|
||||
* application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for
|
||||
* Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame.
|
||||
*
|
||||
* Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired,
|
||||
* the application *MUST* call PostPresentHandoff itself prior to WaitGetPoses. If SetExplicitTimingMode is true and the
|
||||
* application calls PostPresentHandoff, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff
|
||||
* and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another
|
||||
* thread. */
|
||||
virtual void SetExplicitTimingMode( bool bExplicitTimingMode ) = 0;
|
||||
|
||||
/** [ Vulkan/D3D12 Only ]
|
||||
* Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before
|
||||
* the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame.
|
||||
* This function will insert a GPU timestamp write just before the application starts its rendering. This function
|
||||
* will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread.
|
||||
* Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */
|
||||
virtual EVRCompositorError SubmitExplicitTimingData() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * const IVRCompositor_Version = "IVRCompositor_021";
|
||||
|
||||
} // namespace vr
|
||||
|
||||
@@ -2956,6 +3000,9 @@ namespace vr
|
||||
|
||||
/** Show the message overlay. This will block and return you a result. **/
|
||||
virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0;
|
||||
|
||||
/** If the calling process owns the overlay and it's open, this will close it. **/
|
||||
virtual void CloseMessageOverlay() = 0;
|
||||
};
|
||||
|
||||
static const char * const IVROverlay_Version = "IVROverlay_016";
|
||||
@@ -3416,8 +3463,10 @@ namespace vr
|
||||
*
|
||||
* This path is to the "root" of the VR API install. That's the directory with
|
||||
* the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself.
|
||||
*
|
||||
* pStartupInfo is reserved for future use.
|
||||
*/
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr );
|
||||
|
||||
/** unloads vrclient.dll. Any interface pointers from the interface are
|
||||
* invalid after this point */
|
||||
@@ -3687,17 +3736,17 @@ namespace vr
|
||||
m_pVRScreenshots = nullptr;
|
||||
m_pVRDriverManager = nullptr;
|
||||
}
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType );
|
||||
|
||||
VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo );
|
||||
VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal();
|
||||
|
||||
/** Finds the active installation of vrclient.dll and initializes it */
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType )
|
||||
inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo )
|
||||
{
|
||||
IVRSystem *pVRSystem = nullptr;
|
||||
|
||||
EVRInitError eError;
|
||||
VRToken() = VR_InitInternal( &eError, eApplicationType );
|
||||
VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo );
|
||||
COpenVRContext &ctx = OpenVRInternal_ModuleContext();
|
||||
ctx.Clear();
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public struct IVRSystem
|
||||
internal _GetDXGIOutputInfo GetDXGIOutputInfo;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType);
|
||||
internal delegate void _GetOutputDevice(ref ulong pnDevice, ETextureType textureType, IntPtr pInstance);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetOutputDevice GetOutputDevice;
|
||||
|
||||
@@ -845,6 +845,16 @@ public struct IVRCompositor
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _SetExplicitTimingMode(bool bExplicitTimingMode);
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SetExplicitTimingMode SetExplicitTimingMode;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate EVRCompositorError _SubmitExplicitTimingData();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _SubmitExplicitTimingData SubmitExplicitTimingData;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1250,6 +1260,11 @@ public struct IVROverlay
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _ShowMessageOverlay ShowMessageOverlay;
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
|
||||
internal delegate void _CloseMessageOverlay();
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
internal _CloseMessageOverlay CloseMessageOverlay;
|
||||
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
@@ -1551,10 +1566,10 @@ public class CVRSystem
|
||||
pnAdapterIndex = 0;
|
||||
FnTable.GetDXGIOutputInfo(ref pnAdapterIndex);
|
||||
}
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType)
|
||||
public void GetOutputDevice(ref ulong pnDevice,ETextureType textureType,IntPtr pInstance)
|
||||
{
|
||||
pnDevice = 0;
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType);
|
||||
FnTable.GetOutputDevice(ref pnDevice,textureType,pInstance);
|
||||
}
|
||||
public bool IsDisplayOnDesktop()
|
||||
{
|
||||
@@ -2445,6 +2460,15 @@ public class CVRCompositor
|
||||
uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
|
||||
return result;
|
||||
}
|
||||
public void SetExplicitTimingMode(bool bExplicitTimingMode)
|
||||
{
|
||||
FnTable.SetExplicitTimingMode(bExplicitTimingMode);
|
||||
}
|
||||
public EVRCompositorError SubmitExplicitTimingData()
|
||||
{
|
||||
EVRCompositorError result = FnTable.SubmitExplicitTimingData();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2903,6 +2927,10 @@ public class CVROverlay
|
||||
VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
|
||||
return result;
|
||||
}
|
||||
public void CloseMessageOverlay()
|
||||
{
|
||||
FnTable.CloseMessageOverlay();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3412,6 +3440,7 @@ public enum EVRSubmitFlags
|
||||
Submit_LensDistortionAlreadyApplied = 1,
|
||||
Submit_GlRenderBuffer = 2,
|
||||
Submit_Reserved = 4,
|
||||
Submit_TextureWithPose = 8,
|
||||
}
|
||||
public enum EVRState
|
||||
{
|
||||
@@ -3539,6 +3568,7 @@ public enum EVREventType
|
||||
VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
}
|
||||
@@ -3696,6 +3726,9 @@ public enum EVRInitError
|
||||
Init_VRDashboardStartupFailed = 134,
|
||||
Init_VRHomeNotFound = 135,
|
||||
Init_VRHomeStartupFailed = 136,
|
||||
Init_RebootingBusy = 137,
|
||||
Init_FirmwareUpdateBusy = 138,
|
||||
Init_FirmwareRecoveryBusy = 139,
|
||||
Driver_Failed = 200,
|
||||
Driver_Unknown = 201,
|
||||
Driver_HmdUnknown = 202,
|
||||
@@ -4136,6 +4169,10 @@ public enum EVRScreenshotError
|
||||
public float uMax;
|
||||
public float vMax;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRTextureWithPose_t
|
||||
{
|
||||
public HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
|
||||
{
|
||||
public ulong m_nImage;
|
||||
@@ -4617,7 +4654,7 @@ public class OpenVR
|
||||
public const uint k_unControllerStateAxisCount = 5;
|
||||
public const ulong k_ulOverlayHandleInvalid = 0;
|
||||
public const uint k_unScreenshotHandleInvalid = 0;
|
||||
public const string IVRSystem_Version = "IVRSystem_016";
|
||||
public const string IVRSystem_Version = "IVRSystem_017";
|
||||
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
public const uint k_unMaxApplicationKeyLength = 128;
|
||||
@@ -4626,7 +4663,7 @@ public class OpenVR
|
||||
public const string IVRApplications_Version = "IVRApplications_006";
|
||||
public const string IVRChaperone_Version = "IVRChaperone_003";
|
||||
public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_020";
|
||||
public const string IVRCompositor_Version = "IVRCompositor_021";
|
||||
public const uint k_unVROverlayMaxKeyLength = 128;
|
||||
public const uint k_unVROverlayMaxNameLength = 128;
|
||||
public const uint k_unMaxOverlayCount = 64;
|
||||
@@ -4685,6 +4722,7 @@ public class OpenVR
|
||||
public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
public const string k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
public const string k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
|
||||
@@ -213,6 +213,7 @@
|
||||
,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"}
|
||||
,{"name": "Submit_GlRenderBuffer","value": "2"}
|
||||
,{"name": "Submit_Reserved","value": "4"}
|
||||
,{"name": "Submit_TextureWithPose","value": "8"}
|
||||
]}
|
||||
, {"enumname": "vr::EVRState","values": [
|
||||
{"name": "VRState_Undefined","value": "-1"}
|
||||
@@ -338,6 +339,7 @@
|
||||
,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"}
|
||||
,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"}
|
||||
,{"name": "VREvent_MessageOverlay_Closed","value": "1650"}
|
||||
,{"name": "VREvent_MessageOverlayCloseRequested","value": "1651"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"}
|
||||
,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"}
|
||||
]}
|
||||
@@ -483,6 +485,9 @@
|
||||
,{"name": "VRInitError_Init_VRDashboardStartupFailed","value": "134"}
|
||||
,{"name": "VRInitError_Init_VRHomeNotFound","value": "135"}
|
||||
,{"name": "VRInitError_Init_VRHomeStartupFailed","value": "136"}
|
||||
,{"name": "VRInitError_Init_RebootingBusy","value": "137"}
|
||||
,{"name": "VRInitError_Init_FirmwareUpdateBusy","value": "138"}
|
||||
,{"name": "VRInitError_Init_FirmwareRecoveryBusy","value": "139"}
|
||||
,{"name": "VRInitError_Driver_Failed","value": "200"}
|
||||
,{"name": "VRInitError_Driver_Unknown","value": "201"}
|
||||
,{"name": "VRInitError_Driver_HmdUnknown","value": "202"}
|
||||
@@ -800,7 +805,7 @@
|
||||
,{
|
||||
"constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"}
|
||||
,{
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_016"}
|
||||
"constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_017"}
|
||||
,{
|
||||
"constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"}
|
||||
,{
|
||||
@@ -818,7 +823,7 @@
|
||||
,{
|
||||
"constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"}
|
||||
,{
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_020"}
|
||||
"constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_021"}
|
||||
,{
|
||||
"constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"}
|
||||
,{
|
||||
@@ -935,6 +940,8 @@
|
||||
"constname": "k_pch_SteamVR_IpdOffset_Float","consttype": "const char *const", "constval": "ipdOffset"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_AllowSupersampleFiltering_Bool","consttype": "const char *const", "constval": "allowSupersampleFiltering"}
|
||||
,{
|
||||
"constname": "k_pch_SteamVR_EnableLinuxVulkanAsync_Bool","consttype": "const char *const", "constval": "enableLinuxVulkanAsync"}
|
||||
,{
|
||||
"constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"}
|
||||
,{
|
||||
@@ -1147,6 +1154,8 @@
|
||||
{ "fieldname": "vMin", "fieldtype": "float"},
|
||||
{ "fieldname": "uMax", "fieldtype": "float"},
|
||||
{ "fieldname": "vMax", "fieldtype": "float"}]}
|
||||
,{"struct": "vr::VRTextureWithPose_t","fields": [
|
||||
{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}]}
|
||||
,{"struct": "vr::VRVulkanTextureData_t","fields": [
|
||||
{ "fieldname": "m_nImage", "fieldtype": "uint64_t"},
|
||||
{ "fieldname": "m_pDevice", "fieldtype": "struct VkDevice_T *"},
|
||||
@@ -1466,7 +1475,8 @@
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "pnDevice" ,"paramtype": "uint64_t *"},
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"}
|
||||
{ "paramname": "textureType" ,"paramtype": "vr::ETextureType"},
|
||||
{ "paramname": "pInstance" ,"paramtype": "struct VkInstance_T *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
@@ -2722,6 +2732,19 @@
|
||||
{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SetExplicitTimingMode",
|
||||
"returntype": "void",
|
||||
"params": [
|
||||
{ "paramname": "bExplicitTimingMode" ,"paramtype": "bool"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRCompositor",
|
||||
"methodname": "SubmitExplicitTimingData",
|
||||
"returntype": "vr::EVRCompositorError"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "FindOverlay",
|
||||
@@ -3474,6 +3497,11 @@
|
||||
{ "paramname": "pchButton3Text" ,"paramtype": "const char *"}
|
||||
]
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVROverlay",
|
||||
"methodname": "CloseMessageOverlay",
|
||||
"returntype": "void"
|
||||
}
|
||||
,{
|
||||
"classname": "vr::IVRRenderModels",
|
||||
"methodname": "LoadRenderModel_Async",
|
||||
|
||||
@@ -56,6 +56,9 @@ typedef char bool;
|
||||
|
||||
typedef uint64_t PropertyContainerHandle_t;
|
||||
typedef uint32_t PropertyTypeTag_t;
|
||||
typedef uint64_t VRActionHandle_t;
|
||||
typedef uint64_t VRActionSetHandle_t;
|
||||
typedef uint64_t VRInputOriginHandle_t;
|
||||
|
||||
|
||||
// OpenVR Constants
|
||||
@@ -84,7 +87,7 @@ static const unsigned int k_unMaxPropertyStringSize = 32768;
|
||||
static const unsigned int k_unControllerStateAxisCount = 5;
|
||||
static const unsigned long k_ulOverlayHandleInvalid = 0;
|
||||
static const unsigned int k_unScreenshotHandleInvalid = 0;
|
||||
static const char * IVRSystem_Version = "IVRSystem_016";
|
||||
static const char * IVRSystem_Version = "IVRSystem_017";
|
||||
static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
|
||||
static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003";
|
||||
static const unsigned int k_unMaxApplicationKeyLength = 128;
|
||||
@@ -93,7 +96,7 @@ static const char * k_pch_MimeType_GameTheater = "vr/game_theater";
|
||||
static const char * IVRApplications_Version = "IVRApplications_006";
|
||||
static const char * IVRChaperone_Version = "IVRChaperone_003";
|
||||
static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_020";
|
||||
static const char * IVRCompositor_Version = "IVRCompositor_021";
|
||||
static const unsigned int k_unVROverlayMaxKeyLength = 128;
|
||||
static const unsigned int k_unVROverlayMaxNameLength = 128;
|
||||
static const unsigned int k_unMaxOverlayCount = 64;
|
||||
@@ -152,6 +155,7 @@ static const char * k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBack
|
||||
static const char * k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
static const char * k_pch_Lighthouse_Section = "driver_lighthouse";
|
||||
static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
|
||||
static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
|
||||
@@ -437,6 +441,7 @@ typedef enum EVRSubmitFlags
|
||||
EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1,
|
||||
EVRSubmitFlags_Submit_GlRenderBuffer = 2,
|
||||
EVRSubmitFlags_Submit_Reserved = 4,
|
||||
EVRSubmitFlags_Submit_TextureWithPose = 8,
|
||||
} EVRSubmitFlags;
|
||||
|
||||
typedef enum EVRState
|
||||
@@ -566,6 +571,7 @@ typedef enum EVREventType
|
||||
EVREventType_VREvent_PerformanceTest_DisableCapture = 1601,
|
||||
EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
EVREventType_VREvent_MessageOverlay_Closed = 1650,
|
||||
EVREventType_VREvent_MessageOverlayCloseRequested = 1651,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
EVREventType_VREvent_VendorSpecific_Reserved_End = 19999,
|
||||
} EVREventType;
|
||||
@@ -735,6 +741,9 @@ typedef enum EVRInitError
|
||||
EVRInitError_VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
EVRInitError_VRInitError_Init_VRHomeNotFound = 135,
|
||||
EVRInitError_VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
EVRInitError_VRInitError_Init_RebootingBusy = 137,
|
||||
EVRInitError_VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
EVRInitError_VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
EVRInitError_VRInitError_Driver_Failed = 200,
|
||||
EVRInitError_VRInitError_Driver_Unknown = 201,
|
||||
EVRInitError_VRInitError_Driver_HmdUnknown = 202,
|
||||
@@ -1181,6 +1190,11 @@ typedef struct VRTextureBounds_t
|
||||
float vMax;
|
||||
} VRTextureBounds_t;
|
||||
|
||||
typedef struct VRTextureWithPose_t
|
||||
{
|
||||
struct HmdMatrix34_t mDeviceToAbsoluteTracking;
|
||||
} VRTextureWithPose_t;
|
||||
|
||||
typedef struct VRVulkanTextureData_t
|
||||
{
|
||||
uint64_t m_nImage;
|
||||
@@ -1579,7 +1593,7 @@ struct VR_IVRSystem_FnTable
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter);
|
||||
int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)();
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetOutputDevice)(uint64_t * pnDevice, ETextureType textureType, struct VkInstance_T * pInstance);
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)();
|
||||
bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount);
|
||||
@@ -1755,6 +1769,8 @@ struct VR_IVRCompositor_FnTable
|
||||
void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanInstanceExtensionsRequired)(char * pchValue, uint32_t unBufferSize);
|
||||
uint32_t (OPENVR_FNTABLE_CALLTYPE *GetVulkanDeviceExtensionsRequired)(struct VkPhysicalDevice_T * pPhysicalDevice, char * pchValue, uint32_t unBufferSize);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *SetExplicitTimingMode)(bool bExplicitTimingMode);
|
||||
EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SubmitExplicitTimingData)();
|
||||
};
|
||||
|
||||
struct VR_IVROverlay_FnTable
|
||||
@@ -1839,6 +1855,7 @@ struct VR_IVROverlay_FnTable
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayIntersectionMask)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionMaskPrimitive_t * pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize);
|
||||
EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlags)(VROverlayHandle_t ulOverlayHandle, uint32_t * pFlags);
|
||||
VRMessageOverlayResponse (OPENVR_FNTABLE_CALLTYPE *ShowMessageOverlay)(char * pchText, char * pchCaption, char * pchButton0Text, char * pchButton1Text, char * pchButton2Text, char * pchButton3Text);
|
||||
void (OPENVR_FNTABLE_CALLTYPE *CloseMessageOverlay)();
|
||||
};
|
||||
|
||||
struct VR_IVRRenderModels_FnTable
|
||||
|
||||
@@ -393,6 +393,11 @@ struct VRTextureBounds_t
|
||||
float uMax, vMax;
|
||||
};
|
||||
|
||||
/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
|
||||
struct VRTextureWithPose_t : public Texture_t
|
||||
{
|
||||
HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures.
|
||||
};
|
||||
|
||||
/** Allows the application to control how scene textures are used by the compositor when calling Submit. */
|
||||
enum EVRSubmitFlags
|
||||
@@ -410,6 +415,9 @@ enum EVRSubmitFlags
|
||||
|
||||
// Do not use
|
||||
Submit_Reserved = 0x04,
|
||||
|
||||
// Set to indicate that pTexture is a pointer to a VRTextureWithPose_t.
|
||||
Submit_TextureWithPose = 0x08,
|
||||
};
|
||||
|
||||
/** Data required for passing Vulkan textures to IVRCompositor::Submit.
|
||||
@@ -586,6 +594,7 @@ enum EVREventType
|
||||
VREvent_PerformanceTest_FidelityLevel = 1602,
|
||||
|
||||
VREvent_MessageOverlay_Closed = 1650,
|
||||
VREvent_MessageOverlayCloseRequested = 1651,
|
||||
|
||||
// Vendors are free to expose private events in this reserved region
|
||||
VREvent_VendorSpecific_Reserved_Start = 10000,
|
||||
@@ -1019,65 +1028,69 @@ enum EVRInitError
|
||||
VRInitError_None = 0,
|
||||
VRInitError_Unknown = 1,
|
||||
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_InstallationNotFound = 100,
|
||||
VRInitError_Init_InstallationCorrupt = 101,
|
||||
VRInitError_Init_VRClientDLLNotFound = 102,
|
||||
VRInitError_Init_FileNotFound = 103,
|
||||
VRInitError_Init_FactoryNotFound = 104,
|
||||
VRInitError_Init_InterfaceNotFound = 105,
|
||||
VRInitError_Init_InvalidInterface = 106,
|
||||
VRInitError_Init_UserConfigDirectoryInvalid = 107,
|
||||
VRInitError_Init_HmdNotFound = 108,
|
||||
VRInitError_Init_NotInitialized = 109,
|
||||
VRInitError_Init_PathRegistryNotFound = 110,
|
||||
VRInitError_Init_NoConfigPath = 111,
|
||||
VRInitError_Init_NoLogPath = 112,
|
||||
VRInitError_Init_PathRegistryNotWritable = 113,
|
||||
VRInitError_Init_AppInfoInitFailed = 114,
|
||||
VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver
|
||||
VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup
|
||||
VRInitError_Init_AnotherAppLaunching = 117,
|
||||
VRInitError_Init_SettingsInitFailed = 118,
|
||||
VRInitError_Init_ShuttingDown = 119,
|
||||
VRInitError_Init_TooManyObjects = 120,
|
||||
VRInitError_Init_NoServerForBackgroundApp = 121,
|
||||
VRInitError_Init_NotSupportedWithCompositor = 122,
|
||||
VRInitError_Init_NotAvailableToUtilityApps = 123,
|
||||
VRInitError_Init_Internal = 124,
|
||||
VRInitError_Init_HmdDriverIdIsNone = 125,
|
||||
VRInitError_Init_HmdNotFoundPresenceFailed = 126,
|
||||
VRInitError_Init_VRMonitorNotFound = 127,
|
||||
VRInitError_Init_VRMonitorStartupFailed = 128,
|
||||
VRInitError_Init_LowPowerWatchdogNotSupported = 129,
|
||||
VRInitError_Init_InvalidApplicationType = 130,
|
||||
VRInitError_Init_NotAvailableToWatchdogApps = 131,
|
||||
VRInitError_Init_WatchdogDisabledInSettings = 132,
|
||||
VRInitError_Init_VRDashboardNotFound = 133,
|
||||
VRInitError_Init_VRDashboardStartupFailed = 134,
|
||||
VRInitError_Init_VRHomeNotFound = 135,
|
||||
VRInitError_Init_VRHomeStartupFailed = 136,
|
||||
VRInitError_Init_RebootingBusy = 137,
|
||||
VRInitError_Init_FirmwareUpdateBusy = 138,
|
||||
VRInitError_Init_FirmwareRecoveryBusy = 139,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
|
||||
VRInitError_Driver_Failed = 200,
|
||||
VRInitError_Driver_Unknown = 201,
|
||||
VRInitError_Driver_HmdUnknown = 202,
|
||||
VRInitError_Driver_NotLoaded = 203,
|
||||
VRInitError_Driver_RuntimeOutOfDate = 204,
|
||||
VRInitError_Driver_HmdInUse = 205,
|
||||
VRInitError_Driver_NotCalibrated = 206,
|
||||
VRInitError_Driver_CalibrationInvalid = 207,
|
||||
VRInitError_Driver_HmdDisplayNotFound = 208,
|
||||
VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
// VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons
|
||||
VRInitError_Driver_HmdDriverIdOutOfBounds = 211,
|
||||
VRInitError_Driver_HmdDisplayMirrored = 212,
|
||||
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_ServerInitFailed = 300,
|
||||
VRInitError_IPC_ConnectFailed = 301,
|
||||
VRInitError_IPC_SharedStateInitFailed = 302,
|
||||
VRInitError_IPC_CompositorInitFailed = 303,
|
||||
VRInitError_IPC_MutexInitFailed = 304,
|
||||
VRInitError_IPC_Failed = 305,
|
||||
VRInitError_IPC_CompositorConnectFailed = 306,
|
||||
VRInitError_IPC_CompositorInvalidConnectResponse = 307,
|
||||
VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308,
|
||||
|
||||
@@ -1088,7 +1101,7 @@ enum EVRInitError
|
||||
VRInitError_Compositor_ScreenshotsInitFailed = 404,
|
||||
VRInitError_Compositor_UnableToCreateDevice = 405,
|
||||
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000,
|
||||
|
||||
VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101,
|
||||
VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
|
||||
@@ -1404,6 +1417,7 @@ namespace vr
|
||||
static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
|
||||
static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
|
||||
static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";
|
||||
static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync";
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// lighthouse keys
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -20,7 +20,9 @@ def getRayFromTo(mouseX,mouseY):
|
||||
rayFrom[2]+rayForward[2] - 0.5 * horizon[2] + 0.5 * vertical[2]+float(mouseX)*dHor[2]-float(mouseY)*dVer[2]]
|
||||
return rayFrom,rayTo
|
||||
|
||||
p.connect(p.GUI)
|
||||
cid = p.connect(p.SHARED_MEMORY)
|
||||
if (cid<0):
|
||||
p.connect(p.GUI)
|
||||
p.setPhysicsEngineParameter(numSolverIterations=10)
|
||||
p.setTimeStep(1./120.)
|
||||
logId = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS, "visualShapeBench.json")
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import pybullet as p
|
||||
import time
|
||||
p.connect(p.GUI)
|
||||
|
||||
cid = p.connect(p.SHARED_MEMORY)
|
||||
if (cid<0):
|
||||
p.connect(p.GUI)
|
||||
p.loadURDF("plane.urdf")
|
||||
kuka = p.loadURDF("kuka_iiwa/model.urdf")
|
||||
p.addUserDebugText("tip", [0,0,0.1],textColorRGB=[1,0,0],textSize=1.5,parentObjectUniqueId=kuka, parentLinkIndex=6)
|
||||
|
||||
Reference in New Issue
Block a user