Navigation Menu

Skip to content

Commit

Permalink
OpenXR 1.0.5 release (6-December-2019)
Browse files Browse the repository at this point in the history
Patch release for the 1.0 series.

This release primarily contains extension reservations and small specification
clarifications/fixes.

### GitHub Pull Requests

These had been integrated into the public repo incrementally.

- Loader tests
  - #147 - Small bugfix and output extension

### Internal issues

- Registry
  - Reserve Microsoft extension numbers (Internal MR 1613)
  • Loading branch information
rpavlik committed Dec 7, 2019
1 parent 1cbb91b commit 3ffb204
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 48 deletions.
2 changes: 1 addition & 1 deletion .appveyor.yml
@@ -1,4 +1,4 @@
version: 1.0.1.{build}
version: 1.0.5.{build}
image: Visual Studio 2017


Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.SDK.md
Expand Up @@ -13,6 +13,25 @@ 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 1.0.5 release (6-December-2019)

Patch release for the 1.0 series.

This release primarily contains extension reservations and small specification
clarifications/fixes.

### GitHub Pull Requests

These had been integrated into the public repo incrementally.

- Loader tests
- #147 - Small bugfix and output extension

### Internal issues

- Registry
- Reserve Microsoft extension numbers (Internal MR 1613)

## OpenXR 1.0.4 release (21-November-2019)

Patch release for the 1.0 series.
Expand Down
2 changes: 1 addition & 1 deletion checkCodespell
Expand Up @@ -44,7 +44,7 @@ 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,${ROOT}/src/conformance/framework/catch2,*.pyc,*.png,*.jpg,*.svg"
SKIP="${ROOT}/src/external,${ROOT}/src/conformance/framework/catch2,*.pyc,*.png,*.jpg,*.svg,*.otf"

# Args that get passed if no args are provided to this script.
# -q4 to silence "UINT ==> UNIT | disabled due to being a data type"
Expand Down
1 change: 1 addition & 0 deletions openxr-codespell.exclude
Expand Up @@ -4,3 +4,4 @@
| homogeneous | homogenous | More common
if (timebase_info.numer == 0) mach_timebase_info(&timebase_info);
return ((mach_absolute_time() * timebase_info.numer) / timebase_info.denom);
'\b[aA]nd [aA]nd\b'
2 changes: 1 addition & 1 deletion specification/Makefile
Expand Up @@ -42,7 +42,7 @@ ifneq (,$(strip $(VERY_STRICT)))
ASCIIDOC := $(ASCIIDOC) --failure-level WARN
endif

SPECREVISION = 1.0.4
SPECREVISION = 1.0.5
REVISION_COMPONENTS = $(subst ., ,$(SPECREVISION))
MAJORMINORVER = $(word 1,$(REVISION_COMPONENTS)).$(word 2,$(REVISION_COMPONENTS))

Expand Down
51 changes: 50 additions & 1 deletion specification/registry/xr.xml
Expand Up @@ -113,7 +113,7 @@ maintained in the master branch of the Khronos OpenXR GitHub project.
updates them automatically by processing a line at a time.
-->
<type category="define">// OpenXR current version number.
#define <name>XR_CURRENT_API_VERSION</name> <type>XR_MAKE_VERSION</type>(1, 0, 4)</type>
#define <name>XR_CURRENT_API_VERSION</name> <type>XR_MAKE_VERSION</type>(1, 0, 5)</type>

<!--
NOTE: For avoidance of ambiguity, there should only be 1 <name> tag immediately in
Expand Down Expand Up @@ -2448,5 +2448,54 @@ maintained in the master branch of the Khronos OpenXR GitHub project.
</require>
</extension>

<extension name="XR_MSFT_extension_50" number="50" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_50_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_50&quot;" name="XR_MSFT_extension_50_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_51" number="51" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_51_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_51&quot;" name="XR_MSFT_extension_51_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_52" number="52" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_52_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_52&quot;" name="XR_MSFT_extension_52_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_53" number="53" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_53_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_53&quot;" name="XR_MSFT_extension_53_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_54" number="54" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_54_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_54&quot;" name="XR_MSFT_extension_54_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_55" number="55" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_55_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_55&quot;" name="XR_MSFT_extension_55_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_56" number="56" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_56_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_56&quot;" name="XR_MSFT_extension_56_EXTENSION_NAME"/>
</require>
</extension>
<extension name="XR_MSFT_extension_57" number="57" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_57_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_extension_57&quot;" name="XR_MSFT_extension_57_EXTENSION_NAME"/>
</require>
</extension>

</extensions>
</registry>
42 changes: 42 additions & 0 deletions src/CMakeLists.txt
Expand Up @@ -92,6 +92,48 @@ if (BUILD_ALL_EXTENSIONS AND NOT VulkanHeaders_FOUND)
message(FATAL_ERROR "Vulkan headers not found")
endif()

# Find glslc shader compiler.
# On Android, the NDK includes the binary, so no external dependency.
if(ANDROID)
file(GLOB glslc-folders ${ANDROID_NDK}/shader-tools/*)
else()
file(GLOB glslc-folders $ENV{VULKAN_SDK}/*)
endif()
find_program(CMAKE_GLSL_COMPILER glslc PATHS ${glslc-folders} NO_DEFAULT_PATH)
if(CMAKE_GLSL_COMPILER)
message(STATUS "Found glslc: ${CMAKE_GLSL_COMPILER}")
else()
message(STATUS "Could NOT find glslc, using precompiled .spv files")
endif()

function(compile_glsl run_target_name)
set(glsl_output_files "")
foreach(in_file IN LISTS ARGN)
get_filename_component(glsl_stage ${in_file} NAME_WE)
set(out_file ${CMAKE_CURRENT_BINARY_DIR}/${glsl_stage}.spv)
if(CMAKE_GLSL_COMPILER)
# Run glslc if we can find it
add_custom_command(
OUTPUT ${out_file}
COMMAND ${CMAKE_GLSL_COMPILER} -mfmt=c -fshader-stage=${glsl_stage} ${in_file} -o ${out_file}
DEPENDS ${in_file}
)
else()
# Use the precompiled .spv files
get_filename_component(glsl_src_dir ${in_file} DIRECTORY)
set(precompiled_file ${glsl_src_dir}/${glsl_stage}.spv)
configure_file(${precompiled_file} ${out_file} COPYONLY)
endif()
list(APPEND glsl_output_files ${out_file})
endforeach()
add_custom_target(
${run_target_name} ALL
DEPENDS ${glsl_output_files}
)
set_target_properties(${run_target_name} PROPERTIES FOLDER ${HELPER_FOLDER})

endfunction()

find_package(OpenGL)
if (OPENGL_FOUND)
add_definitions(-DXR_USE_GRAPHICS_API_OPENGL)
Expand Down
46 changes: 2 additions & 44 deletions src/tests/hello_xr/CMakeLists.txt
Expand Up @@ -31,53 +31,11 @@ set_target_properties(hello_xr PROPERTIES FOLDER ${SAMPLES_FOLDER})
source_group("Headers" FILES ${LOCAL_HEADERS})
source_group("Shaders" FILES ${VULKAN_SHADERS})

# Find glslc shader compiler.
# On Android, the NDK includes the binary, so no external dependency.
if(ANDROID)
file(GLOB glslc-folders ${ANDROID_NDK}/shader-tools/*)
else()
file(GLOB glslc-folders $ENV{VULKAN_SDK}/*)
endif()
find_program(CMAKE_GLSL_COMPILER glslc PATHS ${glslc-folders} NO_DEFAULT_PATH)
if(CMAKE_GLSL_COMPILER)
message(STATUS "Found glslc: ${CMAKE_GLSL_COMPILER}")
else()
message(STATUS "Could NOT find glslc, using precompiled .spv files")
endif()

function(compile_glsl)
set(glsl_output_files "")
foreach(in_file IN LISTS ARGN)
get_filename_component(glsl_stage ${in_file} NAME_WE)
set(out_file ${CMAKE_CURRENT_BINARY_DIR}/${glsl_stage}.spv)
if(CMAKE_GLSL_COMPILER)
# Run glslc if we can find it
add_custom_command(
OUTPUT ${out_file}
COMMAND ${CMAKE_GLSL_COMPILER} -mfmt=c -fshader-stage=${glsl_stage} ${in_file} -o ${out_file}
DEPENDS ${in_file}
)
else()
# Use the precompiled .spv files
get_filename_component(glsl_src_dir ${in_file} DIRECTORY)
set(precompiled_file ${glsl_src_dir}/${glsl_stage}.spv)
configure_file(${precompiled_file} ${out_file} COPYONLY)
endif()
list(APPEND glsl_output_files ${out_file})
endforeach()
add_custom_target(
run_glsl_compiles ALL
DEPENDS ${glsl_output_files}
)
set_target_properties(run_glsl_compiles PROPERTIES FOLDER ${HELPER_FOLDER})

endfunction()

compile_glsl(${VULKAN_SHADERS})
compile_glsl(run_hello_xr_glsl_compiles ${VULKAN_SHADERS})

add_dependencies(hello_xr
generate_openxr_header
run_glsl_compiles
run_hello_xr_glsl_compiles
)

target_include_directories(hello_xr
Expand Down

0 comments on commit 3ffb204

Please sign in to comment.