Commit Graph

375 Commits

Author SHA1 Message Date
jules blok
914bc40b96 Migrate from using the deprecated PMIC to a list of IMCs
#rb Jeff.Fisher

[CL 28337579 by jules blok in ue5-main branch]
2023-09-29 04:10:37 -04:00
christopher fiala
c579c70a6a Modifies VRS manager and generators to minimize unnecessary work when r.VRS.Enable is set to 1, but no generators are enabled.
We now create a list of active generators at the start of each frame, which speeds up iterating over them later and removes the need to wrap every loop in a mutex.


#jira UE-195920
#rb erica.stella

[CL 28108736 by christopher fiala in ue5-main branch]
2023-09-21 17:42:42 -04:00
jeff fisher
74c5c9755b UE-194257 OpenXR: vive hand tracking layer breaks oculus runtime
-Added a ProblematicOpenXRApiLayerInfos ini setting that defines specific ApiLayer versions that are behaving badly with regard to an extension.
-Attempt to create the openxr instance by repeatedly calling xrCreateInstance with progressively more of the potentially problematic extensions not enabled.  We will either find a combination that works or never find a combination that works.
-This Cl also provides a structure for implementing further problematic openxr api layer handling, should a project need further workarounds similar to this.
#jira UE-194257
#rb Christopher.Fiala

[CL 27919342 by jeff fisher in ue5-main branch]
2023-09-15 12:20:43 -04:00
christopher fiala
8c090570c5 Fixes face-locked stereo layers (such as the console and stat displays) becoming offset from the user's view after teleporting or otherwise changing the HMD's TrackingToWorld transform.
#jira UE-192701
#rb rolando.caloca

[CL 27839684 by christopher fiala in ue5-main branch]
2023-09-13 13:48:43 -04:00
Jeff Fisher
0145ff2d9f OpenXR related private header access cleanup.
-Refactoring to move some cross-module included Private header files into Internal.  Eliminating some includes by refactoring.  Eliminating some simply unnecessary includes.
#jira UE-193863 UE-193862
#review-27587767
#rb Christopher.Fiala

[CL 27605791 by Jeff Fisher in ue5-main branch]
2023-09-05 14:32:18 -04:00
robert srinivasiah
0707ac8594 OpenXR: Move OpenXRPlatformRHI to public
#jira UE-193725
#rb Jeff.Fisher
#rnx

[CL 27560271 by robert srinivasiah in ue5-main branch]
2023-09-01 13:26:37 -04:00
christopher fiala
556916c162 Gate accesses to PipelinedFrameState.Views XrViews array to avoid crashing after XR_ERROR_SESSION_LOST failures.
The app will still exit after detecting XR_SESSION_STATE_LOSS_PENDING, but will no longer crash.

#jira UE-168851
#rb jeff.fisher

[CL 27145067 by christopher fiala in ue5-main branch]
2023-08-16 13:17:19 -04:00
bryan sefcik
f75f1d02d1 Updated to support Arm64EC
#jira

[CL 27077417 by bryan sefcik in ue5-main branch]
2023-08-14 13:50:46 -04:00
robert srinivasiah
51069bbdff OpenXR: don't use XrTime 0 in GetPoseForTime
if we call GetPoseForTime after the session has ended, we might have a zero'd time from retained XrFrameState.
In that case, we shouldn't be fetching any poses, nor pretending that poses might be valid.

#rb Jeff.Fisher

[CL 27052830 by robert srinivasiah in ue5-main branch]
2023-08-11 19:35:07 -04:00
robert srinivasiah
6db5df5e2c OpenXR: Attach compositor submissions thread to the Java Env
Logcat spam lead to this discovery. Attaching the current thread to the Java Env results in 250-300us speed increase inside xrEndFrame.

#jira UE-189231
#rb Chris.Babcock

[CL 27042786 by robert srinivasiah in ue5-main branch]
2023-08-11 15:57:23 -04:00
erica stella
b60abe278f Fix foveation image access race condition between render and rhi threads.
#jira UE-191222
#rb jules.blok

[CL 26883230 by erica stella in ue5-main branch]
2023-08-07 11:06:56 -04:00
erica stella
9a01272a06 Fix foveation turning on when FSR attachment is available.
GRHISupportsAttachmentVariableRateShading could be enabled by FSR even when FDM is not available. Need to check whether the active extension is FDM by checking the ImageDataType.

#rb jeff.fisher robert.srinivasiah

[CL 26879253 by erica stella in ue5-main branch]
2023-08-07 05:32:51 -04:00
robert manuszewski
fcc98e151b Fixing compile errors
#rb trivial

[CL 26868938 by robert manuszewski in ue5-main branch]
2023-08-05 07:54:15 -04:00
erica stella
030a1ef5db Make Vulkan RHI create textures with foveation image layout if TexCreate_Foveation is set.
#jira UE-191091
#rb robert.srinivasiah

[CL 26739452 by erica stella in ue5-main branch]
2023-08-01 11:01:12 -04:00
ross goldblum
f222fa5a1d Add GNearClippingPlane_RenderThread to be accessed on only on the RenderThread and use GNearClippingPlane otherwise. This avoids the need for the FlushRenderingCommands call which was causing a ~50ms hitch on Switch.
[REVIEW] [at]alex.nischwitz [at]ben.woodhouse [at]matt.hoffman [at]zach.bethel

[CL 26652729 by ross goldblum in ue5-main branch]
2023-07-27 16:06:11 -04:00
erica stella
60514655d3 Fix to deferencing null pointer.
#rb robert.srinivasiah

[CL 26612847 by erica stella in ue5-main branch]
2023-07-26 13:09:50 -04:00
jeff fisher
ca2a7da45a UE-190852 MotionControllerComponent Velocity related fixes
-Expose AngularVelocity, etc directly from MotionControllerComponent.
-Expose AngularVelocity to blueprint as an FRotator.
-Better parameter names and comments for the FVector representation of angular velocity: AngularVelocityAsVectorAndLength.  It was quite prone to misuse previously.
-Fixed late update of HMD motion controllers potentially firing when it should not.
-Split the controller poll function into game and render thread versions.
#jira UE-190852
[REVIEW]
#rb Christopher.fiala

[CL 26611565 by jeff fisher in ue5-main branch]
2023-07-26 12:46:53 -04:00
erica stella
3cbfcdddd0 Fix compile error due to missing SceneView.
[CL 26603903 by erica stella in ue5-main branch]
2023-07-26 08:52:15 -04:00
erica stella
bdbaa6eee1 Allow registering external generators in VariableShadingRateImageManager.
As of the moment, only internal generators are used. Allow registering external generators so new ones can be added. Also decoupling FBFoveationImageGenerator from OpenXRHMD to register it as an external image generator.

#jira UE-189569
#rb robert.srinivasiah

[CL 26601599 by erica stella in ue5-main branch]
2023-07-26 05:31:33 -04:00
robert srinivasiah
b34ec46c28 OpenXR: fix incorrect warning message (trivial)
#jira UE-190765
#rb trivial
#rnx

[CL 26596835 by robert srinivasiah in ue5-main branch]
2023-07-25 23:26:46 -04:00
robert srinivasiah
487891e535 OpenXR: work around SteamVR instance failures
#jira UE-190765
#rb Erica.Stella

[CL 26596806 by robert srinivasiah in ue5-main branch]
2023-07-25 23:24:40 -04:00
jeff fisher
c05178d839 UE-190378 OpenXRHMD SystemProperties uninitialized until OnStereoStartup, GetHMDName could return garbage.
-Initialize it in the constructor, also made the hand tracking system properties into a member so our member doesn't end up pointing at a local variable that goes out of scope.
#jira UE-190378
[REVIEW]
#rb Chirstopher.Fiala

[CL 26460024 by jeff fisher in ue5-main branch]
2023-07-19 10:15:31 -04:00
erica stella
bfe883d2a7 Add setting to enable/disable OpenXR foveation.
#jira UE-189556
#rb robert.srinivasiah jeff.fisher

[CL 26253942 by erica stella in ue5-main branch]
2023-06-27 06:45:37 -04:00
erica stella
74e0639e4d Fix warning for wrong order in parameters.
#rb trivial

[CL 26239434 by erica stella in ue5-main branch]
2023-06-26 14:25:58 -04:00
erica stella
af26abd746 Remove xrSyncAction log spam.
#jira UE-189288
#rb jeff.fisher

[CL 26237902 by erica stella in ue5-main branch]
2023-06-26 13:24:40 -04:00