16
16
namespace vr
17
17
{
18
18
static const uint32_t k_nSteamVRVersionMajor = 1 ;
19
- static const uint32_t k_nSteamVRVersionMinor = 23 ;
19
+ static const uint32_t k_nSteamVRVersionMinor = 26 ;
20
20
static const uint32_t k_nSteamVRVersionBuild = 7 ;
21
21
} // namespace vr
22
22
@@ -104,40 +104,6 @@ struct VRBoneTransform_t
104
104
HmdQuaternionf_t orientation;
105
105
};
106
106
107
- #pragma pack( pop )
108
-
109
- } // namespace vr
110
-
111
- #endif
112
-
113
- // vrtypes.h
114
-
115
- #ifndef _INCLUDE_VRTYPES_H
116
- #define _INCLUDE_VRTYPES_H
117
-
118
- // Forward declarations to avoid requiring vulkan.h
119
- struct VkDevice_T ;
120
- struct VkPhysicalDevice_T ;
121
- struct VkInstance_T ;
122
- struct VkQueue_T ;
123
-
124
- // Forward declarations to avoid requiring d3d12.h
125
- struct ID3D12Resource ;
126
- struct ID3D12CommandQueue ;
127
-
128
- namespace vr
129
- {
130
- #pragma pack( push, 8 )
131
-
132
- /* * A handle for a spatial anchor. This handle is only valid during the session it was created in.
133
- * Anchors that live beyond one session should be saved by their string descriptors. */
134
- typedef uint32_t SpatialAnchorHandle_t;
135
-
136
- typedef void * glSharedTextureHandle_t;
137
- typedef int32_t glInt_t;
138
- typedef uint32_t glUInt_t;
139
-
140
-
141
107
/* * Used to return the post-distortion UVs for each color channel.
142
108
* UVs range from 0 to 1 with 0,0 in the upper left corner of the
143
109
* source render target. The 0,0 to 1,1 range covers a single eye. */
@@ -164,9 +130,9 @@ enum ETextureType
164
130
TextureType_DirectX12 = 4 , // Handle is a pointer to a D3D12TextureData_t structure
165
131
TextureType_DXGISharedHandle = 5 , // Handle is a HANDLE DXGI share handle, only supported for Overlay render targets.
166
132
// this texture is used directly by our renderer, so only perform atomic (copyresource or resolve) on it
167
- TextureType_Metal = 6 , // Handle is a MTLTexture conforming to the MTLSharedTexture protocol. Textures submitted to IVRCompositor::Submit which
168
- // are of type MTLTextureType2DArray assume layer 0 is the left eye texture (vr::EVREye::Eye_left), layer 1 is the right
169
- // eye texture (vr::EVREye::Eye_Right)
133
+ TextureType_Metal = 6 , // Handle is a MTLTexture conforming to the MTLSharedTexture protocol. Textures submitted to IVRCompositor::Submit which
134
+ // are of type MTLTextureType2DArray assume layer 0 is the left eye texture (vr::EVREye::Eye_left), layer 1 is the right
135
+ // eye texture (vr::EVREye::Eye_Right)
170
136
};
171
137
172
138
enum EColorSpace
@@ -183,6 +149,81 @@ struct Texture_t
183
149
EColorSpace eColorSpace;
184
150
};
185
151
152
+ /* * Allows the application to control what part of the provided texture will be used in the
153
+ * frame buffer. */
154
+ struct VRTextureBounds_t
155
+ {
156
+ float uMin, vMin;
157
+ float uMax, vMax;
158
+ };
159
+
160
+ /* * Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
161
+ struct VRTextureWithPose_t : public Texture_t
162
+ {
163
+ HmdMatrix34_t mDeviceToAbsoluteTracking ; // Actual pose used to render scene textures.
164
+ };
165
+
166
+ struct VRTextureDepthInfo_t
167
+ {
168
+ void * handle; // See ETextureType definition above
169
+ HmdMatrix44_t mProjection ;
170
+ HmdVector2_t vRange; // 0..1
171
+ };
172
+
173
+ struct VRTextureWithDepth_t : public Texture_t
174
+ {
175
+ VRTextureDepthInfo_t depth;
176
+ };
177
+
178
+ struct VRTextureWithPoseAndDepth_t : public VRTextureWithPose_t
179
+ {
180
+ VRTextureDepthInfo_t depth;
181
+ };
182
+
183
+ // 64-bit types that are part of public structures
184
+ // that are replicated in shared memory.
185
+ #if defined(__linux__) || defined(__APPLE__)
186
+ typedef uint64_t vrshared_uint64_t __attribute__ ((aligned(8 )));
187
+ typedef double vrshared_double __attribute__ ((aligned(8 )));
188
+ #else
189
+ typedef uint64_t vrshared_uint64_t ;
190
+ typedef double vrshared_double;
191
+ #endif
192
+
193
+ #pragma pack( pop )
194
+
195
+ } // namespace vr
196
+
197
+ #endif
198
+
199
+ // vrtypes.h
200
+
201
+ #ifndef _INCLUDE_VRTYPES_H
202
+ #define _INCLUDE_VRTYPES_H
203
+
204
+ // Forward declarations to avoid requiring vulkan.h
205
+ struct VkDevice_T ;
206
+ struct VkPhysicalDevice_T ;
207
+ struct VkInstance_T ;
208
+ struct VkQueue_T ;
209
+
210
+ // Forward declarations to avoid requiring d3d12.h
211
+ struct ID3D12Resource ;
212
+ struct ID3D12CommandQueue ;
213
+
214
+ namespace vr
215
+ {
216
+ #pragma pack( push, 8 )
217
+
218
+ /* * A handle for a spatial anchor. This handle is only valid during the session it was created in.
219
+ * Anchors that live beyond one session should be saved by their string descriptors. */
220
+ typedef uint32_t SpatialAnchorHandle_t;
221
+
222
+ typedef void * glSharedTextureHandle_t;
223
+ typedef int32_t glInt_t;
224
+ typedef uint32_t glUInt_t;
225
+
226
+
186
227
// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource).
187
228
typedef uint64_t SharedTextureHandle_t;
188
229
#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0 )
@@ -484,14 +525,22 @@ enum ETrackedDeviceProperty
484
525
// Prop_DashboardLayoutPathName_String = 2090, // DELETED
485
526
Prop_DashboardScale_Float = 2091 ,
486
527
Prop_PeerButtonInfo_String = 2092 ,
528
+ Prop_Hmd_SupportsHDR10_Bool = 2093 ,
529
+ Prop_Hmd_EnableParallelRenderCameras_Bool = 2094 ,
530
+ Prop_DriverProvidedChaperoneJson_String = 2095 , // higher priority than Prop_DriverProvidedChaperonePath_String
487
531
488
532
Prop_IpdUIRangeMinMeters_Float = 2100 ,
489
533
Prop_IpdUIRangeMaxMeters_Float = 2101 ,
490
534
Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102 ,
491
535
Prop_Hmd_SupportsMicMonitoring_Bool = 2103 ,
492
536
Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104 ,
493
- Prop_SupportsRoomViewDirect_Bool = 2105 ,
494
- Prop_SupportsAppThrottling_Bool = 2106 ,
537
+ Prop_Hmd_SupportsRoomViewDirect_Bool = 2105 ,
538
+ Prop_Hmd_SupportsAppThrottling_Bool = 2106 ,
539
+ Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107 ,
540
+
541
+ Prop_DSCVersion_Int32 = 2110 ,
542
+ Prop_DSCSliceCount_Int32 = 2111 ,
543
+ Prop_DSCBPPx16_Int32 = 2112 ,
495
544
496
545
// Driver requested mura correction properties
497
546
Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200 ,
@@ -613,37 +662,6 @@ static const VRActionSetHandle_t k_ulInvalidActionSetHandle = 0;
613
662
static const VRInputValueHandle_t k_ulInvalidInputValueHandle = 0 ;
614
663
615
664
616
- /* * Allows the application to control what part of the provided texture will be used in the
617
- * frame buffer. */
618
- struct VRTextureBounds_t
619
- {
620
- float uMin, vMin;
621
- float uMax, vMax;
622
- };
623
-
624
- /* * Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */
625
- struct VRTextureWithPose_t : public Texture_t
626
- {
627
- HmdMatrix34_t mDeviceToAbsoluteTracking ; // Actual pose used to render scene textures.
628
- };
629
-
630
- struct VRTextureDepthInfo_t
631
- {
632
- void * handle; // See ETextureType definition above
633
- HmdMatrix44_t mProjection ;
634
- HmdVector2_t vRange; // 0..1
635
- };
636
-
637
- struct VRTextureWithDepth_t : public Texture_t
638
- {
639
- VRTextureDepthInfo_t depth;
640
- };
641
-
642
- struct VRTextureWithPoseAndDepth_t : public VRTextureWithPose_t
643
- {
644
- VRTextureDepthInfo_t depth;
645
- };
646
-
647
665
/* * Allows the application to control how scene textures are used by the compositor when calling Submit. */
648
666
enum EVRSubmitFlags
649
667
{
@@ -783,7 +801,7 @@ enum EVREventType
783
801
// VREvent_SceneFocusLost = 402, // data is process
784
802
// VREvent_SceneFocusGained = 403, // data is process
785
803
VREvent_SceneApplicationChanged = 404 , // data is process - The App actually drawing the scene changed (usually to or from the compositor)
786
- VREvent_SceneFocusChanged = 405 , // data is process - New app got access to draw the scene
804
+ // VREvent_SceneFocusChanged = 405, // data is process - This is defunct and will not be called.
787
805
VREvent_InputFocusChanged = 406 , // data is process
788
806
// VREvent_SceneApplicationSecondaryRenderingStarted = 407,
789
807
VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408 , // data is process
@@ -794,6 +812,8 @@ enum EVREventType
794
812
795
813
VREvent_SceneApplicationStateChanged = 412 , // No data; but query VRApplications()->GetSceneApplicationState();
796
814
815
+ VREvent_SceneAppPipeDisconnected = 413 , // data is process - Called when the scene app's pipe has been closed.
816
+
797
817
VREvent_ConsoleOpened = 420 ,
798
818
VREvent_ConsoleClosed = 421 ,
799
819
@@ -1007,6 +1027,9 @@ enum EVRButtonId
1007
1027
k_EButton_IndexController_B = k_EButton_ApplicationMenu,
1008
1028
k_EButton_IndexController_JoyStick = k_EButton_Axis3,
1009
1029
1030
+ k_EButton_Reserved0 = 50 ,
1031
+ k_EButton_Reserved1 = 51 ,
1032
+
1010
1033
k_EButton_Max = 64
1011
1034
};
1012
1035
@@ -2801,7 +2824,6 @@ namespace vr
2801
2824
static const char * const k_pch_SteamVR_ForceWindows32bitVRMonitor = " forceWindows32BitVRMonitor" ;
2802
2825
static const char * const k_pch_SteamVR_DebugInputBinding = " debugInputBinding" ;
2803
2826
static const char * const k_pch_SteamVR_DoNotFadeToGrid = " doNotFadeToGrid" ;
2804
- static const char * const k_pch_SteamVR_RenderCameraMode = " renderCameraMode" ;
2805
2827
static const char * const k_pch_SteamVR_EnableSharedResourceJournaling = " enableSharedResourceJournaling" ;
2806
2828
static const char * const k_pch_SteamVR_EnableSafeMode = " enableSafeMode" ;
2807
2829
static const char * const k_pch_SteamVR_PreferredRefreshRate = " preferredRefreshRate" ;
@@ -2895,6 +2917,7 @@ namespace vr
2895
2917
static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = " saveTimingsOnExit" ;
2896
2918
static const char * const k_pch_Perf_TestData_Float = " perfTestData" ;
2897
2919
static const char * const k_pch_Perf_GPUProfiling_Bool = " GPUProfiling" ;
2920
+ static const char * const k_pch_Perf_GpuBusMonitoring_Bool = " gpuBusMonitoring" ;
2898
2921
2899
2922
// -----------------------------------------------------------------------------
2900
2923
// collision bounds keys
@@ -2967,6 +2990,7 @@ namespace vr
2967
2990
static const char * const k_pch_Dashboard_DashboardScale = " dashboardScale" ;
2968
2991
static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = " standaloneSystemLayer" ;
2969
2992
static const char * const k_pch_Dashboard_StickyDashboard = " stickyDashboard" ;
2993
+ static const char * const k_pch_Dashboard_AllowSteamOverlays_Bool = " allowSteamOverlays" ;
2970
2994
2971
2995
// -----------------------------------------------------------------------------
2972
2996
// model skin keys
@@ -2997,7 +3021,8 @@ namespace vr
2997
3021
// per-app keys - the section name for these is the app key itself. Some of these are prefixed by the controller type
2998
3022
static const char * const k_pch_App_BindingAutosaveURLSuffix_String = " AutosaveURL" ;
2999
3023
static const char * const k_pch_App_BindingLegacyAPISuffix_String = " _legacy" ;
3000
- static const char * const k_pch_App_BindingSteamVRInputAPISuffix_String = " _steamvrinput" ;
3024
+ static const char *const k_pch_App_BindingSteamVRInputAPISuffix_String = " _steamvrinput" ;
3025
+ static const char *const k_pch_App_BindingOpenXRAPISuffix_String = " _openxr" ;
3001
3026
static const char * const k_pch_App_BindingCurrentURLSuffix_String = " CurrentURL" ;
3002
3027
static const char * const k_pch_App_BindingPreviousURLSuffix_String = " PreviousURL" ;
3003
3028
static const char * const k_pch_App_NeedToUpdateAutosaveSuffix_Bool = " NeedToUpdateAutosave" ;
@@ -3278,6 +3303,16 @@ struct Compositor_CumulativeStats
3278
3303
uint32_t m_nNumFramePresentsTimedOut;
3279
3304
uint32_t m_nNumDroppedFramesTimedOut;
3280
3305
uint32_t m_nNumReprojectedFramesTimedOut;
3306
+
3307
+ /* * For items in this section, divide all the values by m_nNumFrameSubmits. */
3308
+ uint32_t m_nNumFrameSubmits;
3309
+ vrshared_double m_flSumCompositorCPUTimeMS;
3310
+ vrshared_double m_flSumCompositorGPUTimeMS;
3311
+ vrshared_double m_flSumTargetFrameTimes;
3312
+ vrshared_double m_flSumApplicationCPUTimeMS;
3313
+ vrshared_double m_flSumApplicationGPUTimeMS;
3314
+
3315
+ uint32_t m_nNumFramesWithDepth; // total frames submitted with depth by the current application
3281
3316
};
3282
3317
3283
3318
struct Compositor_StageRenderSettings
@@ -3737,13 +3772,14 @@ namespace vr
3737
3772
VROverlayTransform_Invalid = -1 ,
3738
3773
VROverlayTransform_Absolute = 0 ,
3739
3774
VROverlayTransform_TrackedDeviceRelative = 1 ,
3740
- VROverlayTransform_SystemOverlay = 2 ,
3775
+ // VROverlayTransform_SystemOverlay = 2, // Deleted from the SDK.
3741
3776
VROverlayTransform_TrackedComponent = 3 ,
3742
3777
VROverlayTransform_Cursor = 4 ,
3743
3778
VROverlayTransform_DashboardTab = 5 ,
3744
3779
VROverlayTransform_DashboardThumb = 6 ,
3745
3780
VROverlayTransform_Mountable = 7 ,
3746
3781
VROverlayTransform_Projection = 8 ,
3782
+ VROverlayTransform_Subview = 9 ,
3747
3783
};
3748
3784
3749
3785
/* * Overlay control settings */
@@ -3805,6 +3841,9 @@ namespace vr
3805
3841
3806
3842
// If this is set, the alpha values of the overlay texture will be ignored
3807
3843
VROverlayFlags_IgnoreTextureAlpha = 1 << 22 ,
3844
+
3845
+ // Do not use
3846
+ VROverlayFlags_Reserved = 1 << 26 ,
3808
3847
};
3809
3848
3810
3849
enum VRMessageOverlayResponse
@@ -3981,6 +4020,9 @@ namespace vr
3981
4020
* Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same
3982
4021
* sort order are rendered back to front base on distance from the HMD.
3983
4022
*
4023
+ * Subview overlays are always drawn immediately on top of their parent overlay, and the sort order is
4024
+ * only relative to their peer subviews for that overlay.
4025
+ *
3984
4026
* Sort order defaults to 0. */
3985
4027
virtual EVROverlayError SetOverlaySortOrder ( VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder ) = 0;
3986
4028
@@ -4041,12 +4083,6 @@ namespace vr
4041
4083
/* * Gets the transform information when the overlay is rendering on a component. */
4042
4084
virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent ( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, VR_OUT_STRING() char *pchComponentName, uint32_t unComponentNameSize ) = 0;
4043
4085
4044
- /* * Gets the transform if it is relative to another overlay. Returns an error if the transform is some other type. */
4045
- virtual vr::EVROverlayError GetOverlayTransformOverlayRelative ( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t *ulOverlayHandleParent, HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0;
4046
-
4047
- /* * Sets the transform to relative to the transform of the specified overlay. This overlays visibility will also track the parents visibility */
4048
- virtual vr::EVROverlayError SetOverlayTransformOverlayRelative ( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulOverlayHandleParent, const HmdMatrix34_t *pmatParentOverlayToOverlayTransform ) = 0;
4049
-
4050
4086
/* * Sets the hotspot for the specified overlay when that overlay is used as a cursor. These are in texture space with 0,0 in the upper left corner of
4051
4087
* the texture and 1,1 in the lower right corner of the texture. */
4052
4088
virtual EVROverlayError SetOverlayTransformCursor ( VROverlayHandle_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot ) = 0;
@@ -4228,7 +4264,7 @@ namespace vr
4228
4264
virtual void CloseMessageOverlay () = 0;
4229
4265
};
4230
4266
4231
- static const char * const IVROverlay_Version = " IVROverlay_026 " ;
4267
+ static const char * const IVROverlay_Version = " IVROverlay_027 " ;
4232
4268
4233
4269
} // namespace vr
4234
4270
0 commit comments