Move from SteamVR over to Facepunch.XR
Remove direct OpenXR bindings
Pass debug callback to Facepunch.XR, make a session
Move OpenXR requirements into Facepunch.XR
Requirements are done automatically now, make instance/device extension format consistent
Hack around extension-related crash for now
Events
Pass vulkan-related stuff in as structure
Fetch rendering recommendations from fpxr
Remove silly hack hard-coding all our extensions, fetch them properly
Bind fpxr compositor and add everything we should need to start submitting
FPXR: Session now handled by Compositor, Instance is now a class
Delete all OpenVR files & references, stub out anything that required them
Initial FPXR presentation logic
Fetch display info from compositor
Submit texture, render loop, etc.
Use Facepunch.XR provided logging levels
Pass bounds to texture submit info
Default IPD (for testing with null driver)
Facepunch.XR works out bounds for us, gives us full render target size separately from eye render target size
Do BeginFrame() and EndFrame() on render thread
Native to managed bindings cleanup, sync manually
Sync cleanup, fpxr update
Update fpxr
FPXR returns error codes for various functions now, doesn't use builder pattern for instances
FPXR enum update
Initial XR input support
Port SteamVR actions over to Facepunch.XR format, update fpxr lib
Clean up
When fetching extensions, check if we want to initialise rather than if we have initialised
Clean up structs
Digital, float, vector2 input state fetching
DigitalAction -> BooleanAction, strip down input stuff, remove unnecessary refresh rate calculations
Strip down input stuff, we can just do everything by path
New actions manifest format
FPXR update, new actions manifest path format, temporarily remove knuckles bindings
Remove references to menu chord
We don't have to worry about action sets right now
Store controller bindings in separate files
Rebase fixes
Use input sources for controller differentiation
Fetch controller poses (position & orientation)
InputSource as enum, only include public fpxr headers
Coordinate system fixes
Remove openvr_api.lib dep, unused preprocessor definitions
Facepunch.XR update
Add openxr_loader pdb and dll
Forgot to change these, oops
Refactor VR input to work better for us, remove stubs
Minor cleanup & fpxr update
Fetch view info
Use fpxr.h instead of old fpxr_public.h
Remove unused native -> managed GetHmdMatrix function
Implement world scale, tracked object list
Only init with a debug messenger if launched with -vrdebug, remove some unused stuff
Go through VR performance stats, obsolete everything we can't fetch (not sure there's much point keeping this at this stage 😅)
Implement functions for Facepunch.XR get instance properties
`vr_info` concommand cleanup, uses tracked objects from Input.VR
Remove refs to obsolete VR performance stats
Projection matrix calculation tweaks - need to figure out why we're getting squares (most likely incorrect frustum)
Calculate our own proj matrix from scratch
No more WaitGetPoses
Input cleanup
Vibrations
fpxr update
Obsolete VROverlay / VROverlayPanel (openxr has no direct concept) - we could re-implement these ourselves at a later date if we want to
Re-implement or remove stubbed functions
FPXR update
Convert tracked object positions to world
Delete SteamVR bindings and actions
Valve knuckles bindings
Update Facepunch.XR library