Skip to content

Commit

Permalink
OpenXR SDK 1.0.20 (2021-10-04)
Browse files Browse the repository at this point in the history
This release includes a proposed cross-vendor OpenXR loader for Android,
Android build system for hello_xr, and a number of new vendor
extensions.

-   Registry
    -   Add new XR_HTCX_vive_tracker_interaction provisional vendor
        extension. (internal MR 1983)
    -   Add new XR_VARJO_marker_tracking vendor extension. (internal MR
        2129)
    -   Add new XR_FB_triangle_mesh vendor extension. (internal MR 2130)
    -   Add new XR_FB_passthrough vendor extension. (internal MR 2130)
    -   Reserve vendor extensions for Facebook. (internal MR 2131)
    -   Reserve a vendor extension for Almalence. (OpenXR-Docs PR 99)
    -   XR_FB_color_space: Fix XML markup to indicate that
        XrSystemColorSpacePropertiesFB is chained to XrSystemProperties.
        (internal MR 2143)
-   SDK
    -   Loader specification: Describe a cross-vendor loader for use on
        Android. (internal MR 1949, internal issue 1425)
    -   hello_xr: Add Android build system, using new cross-vendor
        loader, and make some improvements/fixes. (internal MR 1949,
        internal issue 1425)
    -   loader: Implement cross-vendor loader for Android, with AAR
        Prefab packaging. (internal MR 1949, internal issue 1425)
  • Loading branch information
rpavlik committed Oct 4, 2021
1 parent 6e0ca79 commit 171dcb3
Show file tree
Hide file tree
Showing 40 changed files with 2,659 additions and 149 deletions.
2 changes: 2 additions & 0 deletions .azure-pipelines/openxr-sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ stages:
- stage: Build
jobs:
- template: shared/build_jobs.yml
parameters:
isSdkSourceRepo: false
4 changes: 2 additions & 2 deletions .azure-pipelines/shared/build_jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ parameters:
- name: sourceDir
type: string
default: "$(System.DefaultWorkingDirectory)"
- name: isSdk
- name: isSdkSourceRepo
type: boolean
default: true

Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:

- job: combine_artifacts
dependsOn: windows_build
condition: ${{ eq(parameters.isSdk, true) }}
condition: ${{ eq(parameters.isSdkSourceRepo, true) }}
displayName: "Organize artifacts"
pool:
vmImage: "windows-latest"
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,7 @@ local.properties
!.markdownlint.yaml
!.proclamation.json
!.reuse

# Output artifact
*.aar
*.pom
34 changes: 34 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,34 @@ Files: changes/*
Copyright: 2019-2021, The Khronos Group Inc.
License: CC-BY-4.0

Files: src/tests/hello_xr/android_resources/vulkan/mipmap-xxhdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/vulkan/mipmap-mdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/vulkan/mipmap-xhdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/vulkan/mipmap-hdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/vulkan/mipmap-xxxhdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/opengles/mipmap-xxhdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/opengles/mipmap-mdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/opengles/mipmap-xhdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/opengles/mipmap-hdpi/ic_helloxr_launcher.png
src/tests/hello_xr/android_resources/opengles/mipmap-xxxhdpi/ic_helloxr_launcher.png
Copyright: Copyright (c) 2020-2021 The Khronos Group Inc.
Copyright (c) 2020, Google
License: Apache-2.0
Comment: Based on a Material Icons asset ("emoji-people") with added text
in "Miriam Libre" Bold, converted to path, and manually simplified.
Rasterized with Android Studio.

Files: src/external/jsoncpp/*
Copyright: 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
License: MIT OR LicenseRef-jsoncpp-public-domain
Comment: Unmodified, vendored copy of jsoncpp 1.8.4

Files: src/external/jnipp/*
Copyright: 2016-2020, Mitchell Dowd
2020, Collabora, Ltd.
License: MIT
Comment: Ryan Pavlik at Collabora's fork

Files: external/python/jinja2/*
external/python/Jinja2-2.10.3.dist-info/*
Copyright: 2013-2019 by the Jinja team
Expand Down Expand Up @@ -43,3 +66,14 @@ Files: specification/sources/chapters/extensions/ext/ext_performance_settings.ad
Copyright: 2017-2020, The Khronos Group Inc.
License: CC-BY-4.0
Comment: In-line license comments requested, https://gitlab.khronos.org/openxr/openxr/-/issues/1419

Files: src/conformance/platform_specific/android_resources/mipmap-hdpi/*
src/conformance/platform_specific/android_resources/mipmap-mdpi/*
src/conformance/platform_specific/android_resources/mipmap-xhdpi/*
src/conformance/platform_specific/android_resources/mipmap-xxhdpi/*
src/conformance/platform_specific/android_resources/mipmap-xxxhdpi/*
Copyright: 2020, The Khronos Group Inc.
2020, Google
License: Apache-2.0
Comment: Generated .png versions of an icon, created in Android Studio
based on a Material Icons asset.
33 changes: 33 additions & 0 deletions CHANGELOG.SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,39 @@ along with any public pull requests that have been accepted.
In this repository in particular, since it is primarily software,
pull requests may be integrated as they are accepted even between periodic updates.

## OpenXR SDK 1.0.20 (2021-10-04)

This release includes a proposed cross-vendor OpenXR loader for Android, Android
build system for hello_xr, and a number of new vendor extensions.

- Registry
- Add new `XR_HTCX_vive_tracker_interaction` provisional vendor extension.
([internal MR 1983](https://gitlab.khronos.org/openxr/openxr/merge_requests/1983))
- Add new `XR_VARJO_marker_tracking` vendor extension.
([internal MR 2129](https://gitlab.khronos.org/openxr/openxr/merge_requests/2129))
- Add new `XR_FB_triangle_mesh` vendor extension.
([internal MR 2130](https://gitlab.khronos.org/openxr/openxr/merge_requests/2130))
- Add new `XR_FB_passthrough` vendor extension.
([internal MR 2130](https://gitlab.khronos.org/openxr/openxr/merge_requests/2130))
- Reserve vendor extensions for Facebook.
([internal MR 2131](https://gitlab.khronos.org/openxr/openxr/merge_requests/2131))
- Reserve a vendor extension for Almalence.
([OpenXR-Docs PR 99](https://github.com/KhronosGroup/OpenXR-Docs/pull/99))
- XR_FB_color_space: Fix XML markup to indicate that
`XrSystemColorSpacePropertiesFB` is chained to `XrSystemProperties`.
([internal MR 2143](https://gitlab.khronos.org/openxr/openxr/merge_requests/2143))
- SDK
- Loader specification: Describe a cross-vendor loader for use on Android.
([internal MR 1949](https://gitlab.khronos.org/openxr/openxr/merge_requests/1949),
[internal issue 1425](https://gitlab.khronos.org/openxr/openxr/issues/1425))
- hello_xr: Add Android build system, using new cross-vendor loader, and make
some improvements/fixes.
([internal MR 1949](https://gitlab.khronos.org/openxr/openxr/merge_requests/1949),
[internal issue 1425](https://gitlab.khronos.org/openxr/openxr/issues/1425))
- loader: Implement cross-vendor loader for Android, with AAR Prefab packaging.
([internal MR 1949](https://gitlab.khronos.org/openxr/openxr/merge_requests/1949),
[internal issue 1425](https://gitlab.khronos.org/openxr/openxr/issues/1425))

## OpenXR SDK 1.0.19 (2021-08-24)

This release features a number of new or updated vendor extensions, as well as
Expand Down
65 changes: 64 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,65 @@ if(BUILD_FORCE_GENERATION AND NOT PYTHON_EXECUTABLE)
message(FATAL_ERROR "BUILD_FORCE_GENERATION requires Python")
endif()

string(TOUPPER "${CMAKE_GENERATOR_PLATFORM}" CMAKE_GENERATOR_PLATFORM_UPPER)

# Artifact organization
if(WIN32 OR ANDROID)
option(INSTALL_TO_ARCHITECTURE_PREFIXES "Install platform-specific files to architecture-specific directories, for packaging" OFF)
endif()

if(WIN32 AND INSTALL_TO_ARCHITECTURE_PREFIXES)
unset(_UWP_SUFFIX)
if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(_UWP_SUFFIX _uwp)
endif()
if(CMAKE_GENERATOR_PLATFORM_UPPER MATCHES "ARM.*")
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_PLATFORM ARM64)
else()
set(_PLATFORM ARM)
endif()
else()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_PLATFORM x64)
else()
set(_PLATFORM Win32)
endif()
endif()

include(GNUInstallDirs)
set(CMAKE_INSTALL_BINDIR ${_PLATFORM}${_UWP_SUFFIX}/${CMAKE_INSTALL_BINDIR})
set(CMAKE_INSTALL_LIBDIR ${_PLATFORM}${_UWP_SUFFIX}/${CMAKE_INSTALL_LIBDIR})

elseif(ANDROID AND INSTALL_TO_ARCHITECTURE_PREFIXES)
# This organizes things like a prefab module
set(PREFAB_INSTALL_DIR prefab)
set(PREFAB_MODULE_INSTALL_DIR ${PREFAB_INSTALL_DIR}/modules/openxr_loader)
set(CMAKE_INSTALL_LIBDIR ${PREFAB_MODULE_INSTALL_DIR}/libs/android.${ANDROID_ABI} CACHE STRING "Where to install libraries")
set(CMAKE_INSTALL_BINDIR ${CMAKE_INSTALL_LIBDIR})
set(CMAKE_INSTALL_INCDIR ${PREFAB_MODULE_INSTALL_DIR}/include)

unset(NDK_MAJOR_VERSION)
if(CMAKE_ANDROID_NDK)
file(STRINGS "${CMAKE_ANDROID_NDK}/source.properties" NDK_PROPERTIES)
foreach(_line ${NDK_PROPERTIES})
if("${_line}" MATCHES "Pkg.Revision = ([0-9]+)[.]([0-9]+)[.]([0-9]+)")
set(NDK_MAJOR_VERSION ${CMAKE_MATCH_1})
endif()
endforeach()
else()
message(FATAL_ERROR "Please set CMAKE_ANDROID_NDK to your NDK root!")
endif()
if(NDK_MAJOR_VERSION)
message(STATUS "Building using NDK major version ${NDK_MAJOR_VERSION}")
else()
message(FATAL_ERROR "Could not parse the major version from ${CMAKE_ANDROID_NDK}/source.properties")
endif()

elseif(NOT ANDROID)
include(GNUInstallDirs)
endif()

add_subdirectory(include)
add_subdirectory(src)

Expand All @@ -68,4 +127,8 @@ if(BASH_COMMAND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/specification/Makefile")
endif()
endif()

install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" DESTINATION share/doc/openxr)
if(ANDROID AND INSTALL_TO_ARCHITECTURE_PREFIXES)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" DESTINATION META-INF COMPONENT License)
else()
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" DESTINATION share/doc/openxr COMPONENT License)
endif()
Loading

0 comments on commit 171dcb3

Please sign in to comment.