branchsbox/hackweek-openxrcancel
24 Commits over 0 Days - ∞cph!
Facepunch.XR works out bounds for us, gives us full render target size separately from eye render target size
Use Facepunch.XR provided logging levels
Pass bounds to texture submit info
Default IPD (for testing with null driver)
Facepunch.XR update
Fetch display info from compositor
Submit texture, render loop, etc.
Initial FPXR presentation logic
Delete all OpenVR files & references, stub out anything that required them
fpxr update
FPXR: Session now handled by Compositor, Instance is now a class
Bind fpxr compositor and add everything we should need to start submitting
Fetch rendering recommendations from fpxr
Remove silly hack hard-coding all our extensions, fetch them properly
Pass vulkan-related stuff in as structure
Hack around extension-related crash for now
Move OpenXR requirements into Facepunch.XR
Requirements are done automatically now, make instance/device extension format consistent
Remove direct OpenXR bindings
Pass debug callback eto Facepunch.XR, make a session
openxr_loader lib
Add Facepunch.XR native library
Initial bindings to Facepunch.XR
Clean up, move everything into OpenXR class
Log session state info
Environment blend mode logic
View configurations, create swapchains
Poll for all events (defined in https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#_xrpollevent)
ApplicationRunning default
Clean up
Bend over backwards to give OpenXR the exact vulkan instance it wants
Remove hack & fetch instance extensions properly
VRSystem has state, logical split for instance/session
Basic event loop polling
Handle session events, begin/end session
Log unhandled events
Create Vulkan graphics binding for OpenXR, pass to session
Declare OpenXR graphics requirements for render devices
Temp - environment variables for openxr validation layers
Properly init XrGraphicsRequirementsVulkanKHR
Fetch required extensions
OpenXR handle management tweaks (need to work on this a bit)
Treat handles as pointers
Obtain system ID, create session
Instance properties, destroy instance on shutdown, spin up debug messenger thru XR_EXT_debug_utils
Stub out everything VR-related, remove calls to SteamVR functions
Initial bindings, init API, fetch & spew extensions