lunarg / openxr-overlaylayer Goto Github PK
View Code? Open in Web Editor NEWImplementation of the OpenXR Overlay extension as a layer
License: Other
Implementation of the OpenXR Overlay extension as a layer
License: Other
Right now if you debug hello_xr and then hit ENTER in the console window, it doesn't exit because the thread waiting on the Overlay app to connect is still running. Make a semaphore and add it to the wait that indicates "you should stop waiting now and exit gracefully".
I build XR_overlay.sln following README.md.
Cmake build was successful and the OverlaySample.exe file was also created.
But not the xr_extx_overlay project. Visual studio MSB8066 error pops up saying that the custom build has ended.
Also, xr_generated_overlay.hpp and xr_generated_overlay.cpp, which should be included in this project, are not generated normally.
When I build the project, an error like the picture below.
how can i fix it?
Instead of streaming "Couldn't find a suggested binding matching the interaction profile for an Action; XrSpace will not be locatable; are controllers turned on?" off the screen if the controllers are turned off, print once and mark that it has been printed. (Or is this a job better suited for a log file filterer?)
Rift S
[VALID_ERROR | VUID-xrDestroySpace-space-parameter | xrDestroySpace]: Invalid XrSpace handle "space" 0x0200408c0000000b
Objects:
[0] - XrSpace (0x0200408c0000000b)
This may be a space being deleted twice.
ENTER in hello_xr console (exit gracefully) on Samsung Odyssey / WinMR results in:
[Verbose [VALID_ERRORGENERAL | | VUID-xrSyncActions-session-parameterxrDestroyInstance | OpenXR-Loader | ] : xrSyncActionsEntering loader trampoline]:
Invalid XrSession handle "session" 0x0000000000000000
Objects:
XXX [ | xrDestroyInstance | OpenXR-Loader ] : Entering loader trampoline
[0] - XrSession (0x0000000000000000)
Verbose [GENERAL | xrDestroyInstance | OpenXR-Loader] : Entering loader terminator
XXX [ | xrDestroyInstance | OpenXR-Loader ] : Entering loader terminator
Verbose [GENERAL | xrDestroyInstance | OpenXR-Loader] : Completed loader terminator
Verbose [[VALID_ERRORGENERAL | xrDestroyInstance | | OpenXR-LoaderVUID-xrSyncActions-session-parameter] : Completed loader trampoline |
xrSyncActionsInfo []: GENERAL | Invalid XrSession handle "session" 0x0000000000000000xrDestroyInstance
| Objects:OpenXR-Loader
] : RuntimeInterface::UnloadRuntime - Unloading RuntimeInterface [
0Info [GENERAL] - | | XrSessionOpenXR-Loader] : RuntimeInterface being destroyed.
(0x0000000000000000)
[VALID_ERROR | VUID-xrAcquireSwapchainImage-swapchain-parameter | xrAcquireSwapchainImage]: Invalid XrSwapchain handle "swapchain" 0x00000000000000dc
Objects:
d:\agent\_work\2\s\src\vctools\crt\crtw32\stdcpp\thr\mutex.c(51): mutex destroyed while busy
Appears to be a destroy of a child session 0x0 which errors from the Overlay Layer and then from core_validation, then a subsequent invalid swapchain destroy results in an MSVCRT assertion because... a Mutex is being held?
Possibly the same issue as #13
Hello,
I use VS2022 and latest SDK's.
I can build the app in debug mode without error, however when I switch to release I get an error that openxr.lib is not found.
I need the release version, or otherwise I cannot use the app to test on a separate system.
The XR_EXTX_overlay is build, but the problem seems to sit in the OverlaySample.
My goal is to create a simple form as an OpenXR overlay, and wanted to use this example
Your support is appreciated!
It's a global in the generated source, emitted in generate.py around line 817.
For all fully-specified paths, e.g. /user/hand/left/input/trigger/value, the API layer must also add the parent path, e.g. /user/hand/left/input/trigger/, to WellKnownStrings because an app can specify, e.g. BOOLEAN action binding to /user/hand/left/input/trigger/ and runtimes must take that path for BOOLEAN to be /user/hand/left/input/trigger/value.
When compiling ALL_BUILD target, using Visual Studio 2019, I encountered a fatal error with regards to the following Link.
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1061?view=msvc-160
Build started...
1>------ Build started: Project: xr_extx_overlay, Configuration: Debug x64 ------
1>xr_generated_overlays.cpp
1>E:\SteamVR_Projekt\OpenXR_SDK\OpenXR-OverlayLayer-master\OpenXR-OverlayLayer-master\build\api-layer\xr_generated_overlays.cpp(9925,65): fatal error C1061: compiler limit: blocks nested too deeply
1>Done building project "xr_extx_overlay.vcxproj" -- FAILED.
2>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug x64 ------
2>Project not selected to build for this solution configuration
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 1 skipped ==========
I have devised a crude workaround to at least get the build to run.
Workaround:
Replace "else" in file xr_generated_overlays.cpp(9925) with new line.
UWP (AppContainer ) apps cannot open named resources without explicit granted permission. The API Layer uses named file mappings, mutexes, and semaphores, and those will need to be opened with ALL_APPLICATION_PACKAGES permission. It's not clear that those can be created from within UWP with that permission, so we may need to rearchitect with a service outside UWP that creates or brokers those objects.
I built the library and I have the following files. How to integrate the library with OpenXR? the usage documents in not complete. @bradgrantham-lunarg please guide me.
-> Build all files and made the register implicit referencing to a .json for the overlay
-> Hello.xr is running without any errors (see screenshot)
-> Explorer is indicating that the overlay is available (see screenshot)
-> OverlaySample is build (x64) and all files (.exe, .png etc) are set within the same working directory
-> Openxr_loader.dll of the xr_extx_overlay and OverlaySample are identical (1.0.9)
-> After OverlaySample is run, a black command interface window is opened, and closed immediately.
-> No overlay is visible in OpenXR, only the hello.xr blocks
I added pauses statements in the OverlaySample in order to see where things go wrong.
As can be seen in attached schreenshot, everything seems to go fine and the 'program.CreateInstance("Overlay Sample",0,"none",0); ' is executed. Thereafter some programcode is run, but window is closed and no overlay visible.
-> It should be notes that the "XR_DEFINE_ATOM(XrPermissionIdEXT) is showing a C++ potential error that Uint64 type should be declared, but compiles Okay
Since they're Instance-specific.
the header in the tree has XR_EXT_OVERLAY_PREVIEW_EXTENSION_NAME "XR_EXT_overlay_preview"
and should be XR_EXTX_overlay. It's possible public-release-1 won't run against the actual shipped OpenXR 1.0.8.
It should check for any extensions not in the allowlist. If there are unknown extensions, log a nice message and mark that we cannot open an overlay XrSession (xrCreateSession with chained OverlayCreateInfo should fail) and mark that we should pass back all downchain functions for GetProcAddr.
Include an interaction mode in which a widget image is displayed in the
the top-left 1/16th (left 1โ4 by top 1โ4) of the overlay composition layers and
is highlighted when the grip direction intersects the widget image.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.