Skip to content

Instantly share code, notes, and snippets.

View fredemmott's full-sized avatar

Fred Emmott fredemmott

View GitHub Profile
diff --git a/src/injectables/CMakeLists.txt b/src/injectables/CMakeLists.txt
index cf1d951e..3db56d7a 100644
--- a/src/injectables/CMakeLists.txt
+++ b/src/injectables/CMakeLists.txt
@@ -48,6 +48,8 @@ target_link_libraries(
ThirdParty::DirectXTK
detours-ext
oculus-sdk-headers
+ PRIVATE
+ OpenKneeboard-D3D11
using System.Runtime.InteropServices;
using System.Text;
public partial class Program
{
[LibraryImport("OpenKneeboard_CAPI64")]
private static partial void OpenKneeboard_send_utf8(byte[] messageName, UInt64 messageNameBytes, byte[] messageData, UInt64 messageDataBytes);
public static void Main(string[] args)
{
// This is just an example dynamic path; in a real program, follow all the documented steps on the OpenKneeboard web site
#include <array>
#include <tuple>
#include <cstddef> // for size_t
// concatenate multiple arrays - requires C++20
//
// The usual approach is to default-construct `std::array<T, Na + Nb>`, then
// overwrite the elements, e.g. with `std::copy()` or loops.
//
// The problem with that is it requires that `T` is default-constructable;

Plain text

four spaces

More plain text

Triple backtick code block
~~~
Same block
diff --git a/gen-v1.0.32.1/include/OXRTracing/forward_declarations.gen.hpp b/gen-v1.0.34/include/OXRTracing/forward_declarations.gen.hpp
index 3715aa9..8c1082b 100644
--- a/gen-v1.0.32.1/include/OXRTracing/forward_declarations.gen.hpp
+++ b/gen-v1.0.34/include/OXRTracing/forward_declarations.gen.hpp
@@ -46,6 +46,7 @@ extern PFN_xrCreateActionSet next_xrCreateActionSet;
extern PFN_xrCreateActionSpace next_xrCreateActionSpace;
extern PFN_xrCreateBodyTrackerFB next_xrCreateBodyTrackerFB;
extern PFN_xrCreateEyeTrackerFB next_xrCreateEyeTrackerFB;
+extern PFN_xrCreateFaceTracker2FB next_xrCreateFaceTracker2FB;
extern PFN_xrCreateFaceTrackerFB next_xrCreateFaceTrackerFB;

XR_FREDEMMOTT_reflection

Previously XR_FREDEMMOTT_structure_type_sizes

Document version: v2024.01.23.03

Status: Initial draft/RFC. Not started formal process

New structures

Varjo mirror with hello_xr demo, OpenXR Toolkit, and OpenKneeboard running:

image

OpenXR Toolkit left eye screenshot:

HelloXR_20240106_115531_L

OpenXR Toolkit right eye screenshot:

diff --git a/gen-v1.0.31/include/OXRTracing/forward_declarations.gen.hpp b/gen/include/OXRTracing/forward_declarations.gen.hpp
index 7a031df..3715aa9 100644
--- a/gen-v1.0.31/include/OXRTracing/forward_declarations.gen.hpp
+++ b/gen/include/OXRTracing/forward_declarations.gen.hpp
@@ -69,6 +69,7 @@ extern PFN_xrCreateSpatialAnchorFromPerceptionAnchorMSFT
next_xrCreateSpatialAnchorFromPerceptionAnchorMSFT;
extern PFN_xrCreateSpatialAnchorFromPersistedNameMSFT
next_xrCreateSpatialAnchorFromPersistedNameMSFT;
+extern PFN_xrCreateSpatialAnchorHTC next_xrCreateSpatialAnchorHTC;
extern PFN_xrCreateSpatialAnchorMSFT next_xrCreateSpatialAnchorMSFT;
diff --git a/gen-v1.0.30/include/OXRTracing/forward_declarations.gen.hpp b/gen/include/OXRTracing/forward_declarations.gen.hpp
index eb8cc33..7a031df 100644
--- a/gen-v1.0.30/include/OXRTracing/forward_declarations.gen.hpp
+++ b/gen/include/OXRTracing/forward_declarations.gen.hpp
@@ -182,6 +182,9 @@ extern PFN_xrGetReferenceSpaceBoundsRect next_xrGetReferenceSpaceBoundsRect;
extern PFN_xrGetRenderModelPropertiesFB next_xrGetRenderModelPropertiesFB;
extern PFN_xrGetSceneComponentsMSFT next_xrGetSceneComponentsMSFT;
extern PFN_xrGetSceneComputeStateMSFT next_xrGetSceneComputeStateMSFT;
+extern PFN_xrGetSceneMarkerDecodedStringMSFT
+ next_xrGetSceneMarkerDecodedStringMSFT;
diff --git a/src/APILayer/APILayer_loader.cpp b/src/APILayer/APILayer_loader.cpp
index f21ecb7..1041077 100644
--- a/src/APILayer/APILayer_loader.cpp
+++ b/src/APILayer/APILayer_loader.cpp
@@ -312,17 +312,27 @@ static XrResult xrCreateApiLayerInstance(
XrInstance dummyInstance {};
{
- // Workaround UltraLeap bug: it should be possible to enumerate
- // extensions without an XrInstance, but ultraleap's API layer