Update to OpenVR SDK 1.0.8

This commit is contained in:
Benjamin Saunders
2017-07-04 00:01:53 -07:00
parent 5e0dd60dbb
commit 5014f02285
3 changed files with 14 additions and 5 deletions

View File

@ -136,6 +136,7 @@ pub mod compositor_error {
pub const SHARED_TEXTURES_NOT_SUPPORTED: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_SharedTexturesNotSupported); pub const SHARED_TEXTURES_NOT_SUPPORTED: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_SharedTexturesNotSupported);
pub const INDEX_OUT_OF_RANGE: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_IndexOutOfRange); pub const INDEX_OUT_OF_RANGE: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_IndexOutOfRange);
pub const ALREADY_SUBMITTED: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_AlreadySubmitted); pub const ALREADY_SUBMITTED: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_AlreadySubmitted);
pub const INVALID_BOUNDS: CompositorError = CompositorError(sys::EVRCompositorError_EVRCompositorError_VRCompositorError_InvalidBounds);
} }
impl fmt::Debug for CompositorError { impl fmt::Debug for CompositorError {
@ -168,8 +169,3 @@ impl fmt::Display for CompositorError {
f.pad(error::Error::description(self)) f.pad(error::Error::description(self))
} }
} }
pub use sys::VkPhysicalDevice_T;
pub use sys::VkDevice_T;
pub use sys::VkInstance_T;
pub use sys::VkQueue_T;

View File

@ -13,6 +13,11 @@ mod compositor;
pub use tracking::*; pub use tracking::*;
pub use sys::VkPhysicalDevice_T;
pub use sys::VkDevice_T;
pub use sys::VkInstance_T;
pub use sys::VkQueue_T;
static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT; static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
/// Initialize OpenVR /// Initialize OpenVR

View File

@ -152,6 +152,14 @@ impl<'a> System<'a> {
_ => None, _ => None,
} }
} }
pub fn vulkan_output_device(&self) -> Option<*mut VkPhysicalDevice_T> {
unsafe {
let mut device = mem::uninitialized();
self.0.GetOutputDevice.unwrap()(&mut device, sys::ETextureType_ETextureType_TextureType_Vulkan);
if device == 0 { None } else { Some(device as usize as *mut _) }
}
}
} }
/// Values represent the tangents of the half-angles from the center view axis /// Values represent the tangents of the half-angles from the center view axis