Skip to content

Commit

Permalink
Change log for OpenXR 0.90.1 provisional spec update (8-May-2019)
Browse files Browse the repository at this point in the history
No API changes, and only minimal consistency changes to the spec/registry.
Mostly an update for tooling, layers, loader, and sample code.
Header version has been bumped to 43, but no symbols that should have actually been in use have changed.

### GitHub Pull Requests

These had been integrated into the public repo incrementally.

- General, Build, Other
  - #8, #11, #12 - Improve BUILDING and README
  - #9 - Make Vulkan SDK dependency optional
  - #17 - Add install target to CMake files
  - #17 - API dump layer, build: timespec extension fixes
  - #19 - build: fix CMAKE_PRESENTATION_BACKEND default on linux
  - #34 - list: Fix list test output
- validation layer
  - #18, #22, #23 - Fix build and execution
  - #24 - Fix crash and refactor
- hello_xr
  - #13 - Do not query GL context API version before creating context
  - #26 - Fix a warning
- Loader
  - #3 - Don't cross 32/64 registry silos
  - #14 - Initialize XrExtensionProperties array parameter for rt_xrEnumerateInstanceExtensionProperties
  - #20 - Fix Linux manifest file search
  - #30 - Add default implementations of API functions to dispatch chains
  - #32 - Avoid crash when evaluating layer disable environment vars
  - #35 - Add 'unknown' strings to loader's *ToString fallback functions
  - #36 - Allow null instance in xrGetInstanceProcAddr() for certain entry points
  - #39 - Default to static loader only on Windows

### Internal Issues

- General, Build, Other
  - Unify (for the most part) the OpenXR and Vulkan generator scripts. (internal MR 1166)
  - List instance extensions in the "list" test. (internal MR 1169)
  - Avoid dllexport for all apps compiled with `openxr_platform_defines.h` (internal MR 1187)
  - Don't offer `BUILD_SPECIFICATION` unless the spec makefile is there. (internal MR 1179)
  - Add simple input example to hello_xr. (internal MR 1178)
  - Add a clang-format script for ease of development.
- API Registry and Headers
  - Remove impossible and undocumented error codes. (internal MR 1185 and 1189)
  - Mark layers in `XrFrameEndInfo` as optional. (internal MR 1151, internal issue 899)
  - Remove unused windows types from `openxr_platform.h` (internal MR 1197)
  - Make `openxr_platform.h` include `openxr.h` on which it depends. (internal MR 1140, internal issue 918)
  - Remove unused, undocumented defines. (internal MR 1238, internal issue 1012)
- Loader
  - Fix loader regkey search logic so 64bit application loads 64bit regkey value. (internal MR 1180)
  - Modify loader to be friendly to UWP (Universal Windows Platform) build target. (internal MR 1198)
  • Loading branch information
rpavlik committed May 9, 2019
1 parent b0e62b6 commit 6da94ea
Show file tree
Hide file tree
Showing 211 changed files with 8,545 additions and 1,835 deletions.
21 changes: 21 additions & 0 deletions .editorconfig
@@ -0,0 +1,21 @@
# http://editorconfig.org
root = true

[*]
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = true

[*.cmake,CMakeLists.txt]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.sh]
trim_trailing_whitespace = true
end_of_line = lf

[*.adoc]
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
65 changes: 65 additions & 0 deletions CHANGELOG.SDK.md
@@ -0,0 +1,65 @@
# Changelog for OpenXR-SDK Repo

Update log for the OpenXR-SDK repo on GitHub.
Updates are in reverse chronological order starting with the latest public release.

This summarizes the periodic public updates, not individual commits. Updates
on GitHub are generally done as single large patches at the release point,
collecting together the resolution of many Khronos internal issues,
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.

## Change log for OpenXR 0.90.1 provisional spec update (8-May-2019)

No API changes, and only minimal consistency changes to the spec/registry.
Mostly an update for tooling, layers, loader, and sample code.
Header version has been bumped to 43, but no symbols that should have actually been in use have changed.

### GitHub Pull Requests

These had been integrated into the public repo incrementally.

- General, Build, Other
- #8, #11, #12 - Improve BUILDING and README
- #9 - Make Vulkan SDK dependency optional
- #17 - Add install target to CMake files
- #17 - API dump layer, build: timespec extension fixes
- #19 - build: fix CMAKE_PRESENTATION_BACKEND default on linux
- #34 - list: Fix list test output
- validation layer
- #18, #22, #23 - Fix build and execution
- #24 - Fix crash and refactor
- hello_xr
- #13 - Do not query GL context API version before creating context
- #26 - Fix a warning
- Loader
- #3 - Don't cross 32/64 registry silos
- #14 - Initialize XrExtensionProperties array parameter for rt_xrEnumerateInstanceExtensionProperties
- #20 - Fix Linux manifest file search
- #30 - Add default implementations of API functions to dispatch chains
- #32 - Avoid crash when evaluating layer disable environment vars
- #35 - Add 'unknown' strings to loader's *ToString fallback functions
- #36 - Allow null instance in xrGetInstanceProcAddr() for certain entry points
- #39 - Default to static loader only on Windows

### Internal Issues

- General, Build, Other
- Unify (for the most part) the OpenXR and Vulkan generator scripts. (internal MR 1166)
- List instance extensions in the "list" test. (internal MR 1169)
- Avoid dllexport for all apps compiled with `openxr_platform_defines.h` (internal MR 1187)
- Don't offer `BUILD_SPECIFICATION` unless the spec makefile is there. (internal MR 1179)
- Add simple input example to hello_xr. (internal MR 1178)
- Add a clang-format script for ease of development.
- API Registry and Headers
- Remove impossible and undocumented error codes. (internal MR 1185 and 1189)
- Mark layers in `XrFrameEndInfo` as optional. (internal MR 1151, internal issue 899)
- Remove unused windows types from `openxr_platform.h` (internal MR 1197)
- Make `openxr_platform.h` include `openxr.h` on which it depends. (internal MR 1140, internal issue 918)
- Remove unused, undocumented defines. (internal MR 1238, internal issue 1012)
- Loader
- Fix loader regkey search logic so 64bit application loads 64bit regkey value. (internal MR 1180)
- Modify loader to be friendly to UWP (Universal Windows Platform) build target. (internal MR 1198)

## OpenXR 0.90.0 - Initial public provisional release at GDC
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -29,7 +29,7 @@ add_subdirectory(include)
add_subdirectory(src)

find_program(BASH_COMMAND NAMES bash)
if(BASH_COMMAND)
if(BASH_COMMAND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/specification/Makefile")
option(BUILD_SPECIFICATION "Run './makeAllExts all' in the specification directory as part of the build - intended for one-step checking of spec changes" OFF)
if(BUILD_SPECIFICATION)
add_custom_target(spec-all ALL
Expand Down
6 changes: 5 additions & 1 deletion CODE_OF_CONDUCT.md
@@ -1 +1,5 @@
A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct ([https://www.khronos.org/developers/code-of-conduct](https://www.khronos.org/developers/code-of-conduct)), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.
A reminder that this issue tracker is managed by the Khronos Group.
Interactions here should follow the Khronos Code of Conduct
([https://www.khronos.org/developers/code-of-conduct](https://www.khronos.org/developers/code-of-conduct)),
which prohibits aggressive or derogatory language.
Please keep the discussion friendly and civil.
123 changes: 123 additions & 0 deletions checkCodespell
@@ -0,0 +1,123 @@
#!/bin/sh
#
# Copyright (c) 2019 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# checkCodespell - Run the codespell (https://github.com/codespell-project/codespell)
# tool on the specification, registry, scripts, and source. Forwards any command line arguments
# on to the codespell invocation.
#
# Usage: ./checkCodespell
# Any command-line arguments are passed along to the codespell call,
# so e.g. to fix interactively, do ./checkCodespell -q4 -w -i 3
#
# If no arguments are passed, the number of errors will be counted,
# and the script will exit with a non-zero error code if the number
# of warnings is greater than ${CODESPELL_IGNORE}
# (default defined below as DEFAULT_CODESPELL_IGNORE).
#
# Environment variable CODESPELL can be set to the path to codespell.

ROOT=$(dirname $0)

# How many lines of warnings should be ignored?
DEFAULT_CODESPELL_IGNORE=0

# This syntax allows the default to be overridden by external definition of CODESPELL_IGNORE
CODESPELL_IGNORE=${CODESPELL_IGNORE:-${DEFAULT_CODESPELL_IGNORE}}

# Add to this list when codespell mis-identifies a term actually used as a misspelling
# (comma-delimited)
IGNORE_WORDS="lod,LOD"

# Add to this to exclude individual files or directories (comma-delimited)
# - Skipping external code.
# - Skipping binary files.
SKIP="${ROOT}/src/external,*.pyc,*.png"

# Args that get passed if no args are provided to this script.
# -q4 to silence "UINT ==> UNIT | disabled due to being a data type"
DEFAULT_ARGS="-q4"

which_codespell=$(which codespell)

CODESPELL=${CODESPELL:-${which_codespell}}

# This command is in a function so we can call it again easily to do a count.
doCodespell() {
${CODESPELL} --ignore-words-list="${IGNORE_WORDS}" \
--skip="${SKIP}" \
--exclude-file=${ROOT}/openxr-codespell.exclude \
"$@" \
${ROOT}/*.md \
${ROOT}/*.sh \
${ROOT}/*.bat \
${ROOT}/include/ \
${ROOT}/specification/check* \
${ROOT}/specification/make* \
${ROOT}/specification/*.md \
${ROOT}/specification/loader/ \
${ROOT}/specification/registry/ \
${ROOT}/specification/scripts/*.py \
${ROOT}/specification/scripts/*.rb \
${ROOT}/specification/scripts/openxr-macros/*.rb \
${ROOT}/specification/sources/ \
${ROOT}/src \
${ROOT}/vuid_database/ \

# Keep a blank line after the last pattern, so that a trailing backslash is OK!
}

echo "Using CODESPELL=${CODESPELL} - version $(${CODESPELL} --version)"

EXTRA_ARGS=""

if [ $# -eq 0 ]; then
echo "No arguments passed, will use default arguments: ${DEFAULT_ARGS}"
EXTRA_ARGS="${DEFAULT_ARGS}"
fi

echo ""

doCodespell "$@" ${EXTRA_ARGS}

if [ $# -eq 0 ]; then
# No arguments were passed, so this isn't, e.g., an interactive repair call.
# Thus, check it against our built-in requirements.

echo ""
echo "No arguments passed, so counting errors and comparing to CODESPELL_IGNORE=${CODESPELL_IGNORE}"
if [ ${CODESPELL_IGNORE} -ne ${DEFAULT_CODESPELL_IGNORE} ]; then
echo "Note: Manually-set CODESPELL_IGNORE is overriding the built in default value, DEFAULT_CODESPELL_IGNORE=${DEFAULT_CODESPELL_IGNORE}"
else
echo "(set from the built in default value, DEFAULT_CODESPELL_IGNORE)"
fi
echo ""

numErrors=$(doCodespell -q5 |wc -l)
echo "${numErrors} errors seen"

if [ "${numErrors}" -gt "${CODESPELL_IGNORE}" ]; then
echo "Error limit exceeded - exiting with error"
exit 1
else
echo "OK - limit not exceeded."
fi

if [ "${numErrors}" -lt "${DEFAULT_CODESPELL_IGNORE}" ]; then
echo ""
echo "Note: Error count is less than DEFAULT_CODESPELL_IGNORE,"
echo "please update that variable in $0 to tighten requirements."
fi
fi

0 comments on commit 6da94ea

Please sign in to comment.