mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-07-31 17:41:48 +03:00
Compare commits
27 Commits
proton_8.0
...
experiment
Author | SHA1 | Date | |
---|---|---|---|
|
a796f297cd | ||
|
81abc3d9f1 | ||
|
f7d1e4aee5 | ||
|
327e5fe94d | ||
|
5a30a04562 | ||
|
622beb876e | ||
|
22c42cd43d | ||
|
c287de9b0f | ||
|
c82f15be51 | ||
|
c16db69537 | ||
|
c913122960 | ||
|
df0b2ceaf7 | ||
|
a60b494afd | ||
|
c214de457c | ||
|
383977e6cb | ||
|
9cf3679c0e | ||
|
9e513d238e | ||
|
cbb3d2a0a9 | ||
|
e7b8fedd00 | ||
|
b263b86894 | ||
|
dc318f58c0 | ||
|
c0ea64ec95 | ||
|
46e9ab5bf3 | ||
|
b70ae9094b | ||
|
ccde2554ce | ||
|
be905ab339 | ||
|
d611ab8a5f |
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -31,3 +31,6 @@
|
|||||||
[submodule "OpenXR-SDK"]
|
[submodule "OpenXR-SDK"]
|
||||||
path = OpenXR-SDK
|
path = OpenXR-SDK
|
||||||
url = https://github.com/KhronosGroup/OpenXR-SDK
|
url = https://github.com/KhronosGroup/OpenXR-SDK
|
||||||
|
[submodule "dxvk-nvapi"]
|
||||||
|
path = dxvk-nvapi
|
||||||
|
url = https://github.com/jp7677/dxvk-nvapi
|
||||||
|
37
Makefile
37
Makefile
@ -18,7 +18,7 @@ BUILD_DIR := "build-$(shell echo $(_build_name) | sed -e 's/ /_/g')"
|
|||||||
STEAM_DIR := $(HOME)/.steam/root
|
STEAM_DIR := $(HOME)/.steam/root
|
||||||
|
|
||||||
ifeq ($(build_name),)
|
ifeq ($(build_name),)
|
||||||
DEPLOY_DIR := $(shell git describe --tags --always)
|
DEPLOY_DIR := $(shell git describe --tags --always --exclude proton-sdk*)
|
||||||
else
|
else
|
||||||
DEPLOY_DIR := $(_build_name)
|
DEPLOY_DIR := $(_build_name)
|
||||||
endif
|
endif
|
||||||
@ -145,19 +145,24 @@ install-internal: downloads
|
|||||||
|
|
||||||
install: install-internal
|
install: install-internal
|
||||||
mkdir -p $(STEAM_DIR)/compatibilitytools.d/
|
mkdir -p $(STEAM_DIR)/compatibilitytools.d/
|
||||||
|
rm -rf $(STEAM_DIR)/compatibilitytools.d/$(_build_name)/files/ #remove proton's internal files, but preserve user_settings etc from top-level
|
||||||
cp -Rf --no-dereference --preserve=mode,links vagrant_share/compatibilitytools.d/$(_build_name) $(STEAM_DIR)/compatibilitytools.d/
|
cp -Rf --no-dereference --preserve=mode,links vagrant_share/compatibilitytools.d/$(_build_name) $(STEAM_DIR)/compatibilitytools.d/
|
||||||
echo "Proton installed to your local Steam installation"
|
echo "Proton installed to your local Steam installation"
|
||||||
|
|
||||||
redist: | vagrant_share/$(DEPLOY_DIR)
|
redist: | vagrant_share/$(DEPLOY_DIR)
|
||||||
redist: private SHELL := $(VAGRANT_SHELL)
|
redist: private SHELL := $(VAGRANT_SHELL)
|
||||||
redist: downloads
|
redist: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) redist && cp $(BUILD_DIR)/redist/* /vagrant/$(DEPLOY_DIR) && \
|
rm -rf /vagrant/$(DEPLOY_DIR)/* && \
|
||||||
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) redist && \
|
||||||
|
cp -Rf $(BUILD_DIR)/redist/* /vagrant/$(DEPLOY_DIR) && \
|
||||||
echo "Proton build available at vagrant_share/$(DEPLOY_DIR)"
|
echo "Proton build available at vagrant_share/$(DEPLOY_DIR)"
|
||||||
|
|
||||||
deploy: | vagrant_share/$(DEPLOY_DIR)-deploy
|
deploy: | vagrant_share/$(DEPLOY_DIR)-deploy
|
||||||
deploy: private SHELL := $(VAGRANT_SHELL)
|
deploy: private SHELL := $(VAGRANT_SHELL)
|
||||||
deploy: downloads
|
deploy: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) deploy && cp $(BUILD_DIR)/deploy/* /vagrant/$(DEPLOY_DIR)-deploy && \
|
rm -rf /vagrant/$(DEPLOY_DIR)-deploy/* && \
|
||||||
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) deploy && \
|
||||||
|
cp -Rf $(BUILD_DIR)/deploy/* /vagrant/$(DEPLOY_DIR)-deploy && \
|
||||||
echo "Proton deployed to vagrant_share/$(DEPLOY_DIR)-deploy"
|
echo "Proton deployed to vagrant_share/$(DEPLOY_DIR)-deploy"
|
||||||
|
|
||||||
module: | vagrant_share/$(module)/lib/wine/
|
module: | vagrant_share/$(module)/lib/wine/
|
||||||
@ -176,39 +181,47 @@ dxvk: | vagrant_share/dxvk/lib64/wine/dxvk
|
|||||||
dxvk: private SHELL := $(VAGRANT_SHELL)
|
dxvk: private SHELL := $(VAGRANT_SHELL)
|
||||||
dxvk: downloads
|
dxvk: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) dxvk && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) dxvk && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/dxvk/*.dll /vagrant/dxvk/lib/wine/dxvk/ && \
|
cp -f $(BUILD_DIR)/dist/files/lib/wine/dxvk/*.dll /vagrant/dxvk/lib/wine/dxvk/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/dxvk/*.dll /vagrant/dxvk/lib64/wine/dxvk/
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/dxvk/*.dll /vagrant/dxvk/lib64/wine/dxvk/
|
||||||
|
|
||||||
|
dxvk-nvapi: | vagrant_share/dxvk-nvapi/lib/wine/nvapi
|
||||||
|
dxvk-nvapi: | vagrant_share/dxvk-nvapi/lib64/wine/nvapi
|
||||||
|
dxvk-nvapi: private SHELL := $(VAGRANT_SHELL)
|
||||||
|
dxvk-nvapi: downloads
|
||||||
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) dxvk-nvapi && \
|
||||||
|
cp -f $(BUILD_DIR)/dist/files/lib/wine/nvapi/*.dll /vagrant/dxvk-nvapi/lib/wine/nvapi/ && \
|
||||||
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/nvapi/*.dll /vagrant/dxvk-nvapi/lib64/wine/nvapi/
|
||||||
|
|
||||||
vkd3d-proton: | vagrant_share/vkd3d-proton/lib/wine/vkd3d-proton
|
vkd3d-proton: | vagrant_share/vkd3d-proton/lib/wine/vkd3d-proton
|
||||||
vkd3d-proton: | vagrant_share/vkd3d-proton/lib64/wine/vkd3d-proton
|
vkd3d-proton: | vagrant_share/vkd3d-proton/lib64/wine/vkd3d-proton
|
||||||
vkd3d-proton: private SHELL := $(VAGRANT_SHELL)
|
vkd3d-proton: private SHELL := $(VAGRANT_SHELL)
|
||||||
vkd3d-proton: downloads
|
vkd3d-proton: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) vkd3d-proton && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) vkd3d-proton && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/vkd3d-proton/*.dll /vagrant/vkd3d-proton/lib/wine/vkd3d-proton/ && \
|
cp -f $(BUILD_DIR)/dist/files/lib/wine/vkd3d-proton/*.dll /vagrant/vkd3d-proton/lib/wine/vkd3d-proton/ && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/vkd3d-proton/*.dll /vagrant/vkd3d-proton/lib64/wine/vkd3d-proton/
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/vkd3d-proton/*.dll /vagrant/vkd3d-proton/lib64/wine/vkd3d-proton/
|
||||||
|
|
||||||
lsteamclient: | vagrant_share/lsteamclient/lib/wine
|
lsteamclient: | vagrant_share/lsteamclient/lib/wine
|
||||||
lsteamclient: | vagrant_share/lsteamclient/lib64/wine
|
lsteamclient: | vagrant_share/lsteamclient/lib64/wine
|
||||||
lsteamclient: private SHELL := $(VAGRANT_SHELL)
|
lsteamclient: private SHELL := $(VAGRANT_SHELL)
|
||||||
lsteamclient: downloads
|
lsteamclient: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) lsteamclient && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) lsteamclient && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/lsteamclient.dll.so /vagrant/lsteamclient/lib/wine && \
|
cp -f $(BUILD_DIR)/dist/files/lib/wine/lsteamclient.dll.so /vagrant/lsteamclient/lib/wine && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/lsteamclient.dll.so /vagrant/lsteamclient/lib64/wine
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/lsteamclient.dll.so /vagrant/lsteamclient/lib64/wine
|
||||||
|
|
||||||
vrclient: | vagrant_share/vrclient/lib/wine
|
vrclient: | vagrant_share/vrclient/lib/wine
|
||||||
vrclient: | vagrant_share/vrclient/lib64/wine
|
vrclient: | vagrant_share/vrclient/lib64/wine
|
||||||
vrclient: private SHELL := $(VAGRANT_SHELL)
|
vrclient: private SHELL := $(VAGRANT_SHELL)
|
||||||
vrclient: downloads
|
vrclient: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) vrclient && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) vrclient && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib/wine/vrclient.dll.so /vagrant/vrclient/lib/wine && \
|
cp -f $(BUILD_DIR)/dist/files/lib/wine/vrclient.dll.so /vagrant/vrclient/lib/wine && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/vrclient_x64.dll.so /vagrant/vrclient/lib64/wine
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/vrclient_x64.dll.so /vagrant/vrclient/lib64/wine
|
||||||
|
|
||||||
wineopenxr: | vagrant_share/wineopenxr/lib/wine
|
wineopenxr: | vagrant_share/wineopenxr/lib/wine
|
||||||
wineopenxr: | vagrant_share/wineopenxr/lib64/wine
|
wineopenxr: | vagrant_share/wineopenxr/lib64/wine
|
||||||
wineopenxr: private SHELL := $(VAGRANT_SHELL)
|
wineopenxr: private SHELL := $(VAGRANT_SHELL)
|
||||||
wineopenxr: downloads
|
wineopenxr: downloads
|
||||||
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) wineopenxr && \
|
$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) wineopenxr && \
|
||||||
cp -f $(BUILD_DIR)/dist/dist/lib64/wine/wineopenxr.dll.so /vagrant/wineopenxr/lib64/wine
|
cp -f $(BUILD_DIR)/dist/files/lib64/wine/wineopenxr.dll.so /vagrant/wineopenxr/lib64/wine
|
||||||
|
|
||||||
vagrant_share/%:
|
vagrant_share/%:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
@ -273,12 +273,14 @@ the Wine prefix. Removing the option will revert to the previous behavior.
|
|||||||
| | <tt>PROTON_LOG_DIR</tt> | Output log files into the directory specified. Defaults to your home directory. |
|
| | <tt>PROTON_LOG_DIR</tt> | Output log files into the directory specified. Defaults to your home directory. |
|
||||||
| | <tt>PROTON_DUMP_DEBUG_COMMANDS</tt> | When running a game, Proton will write some useful debug scripts for that game into `$PROTON_DEBUG_DIR/proton_$USER/`. |
|
| | <tt>PROTON_DUMP_DEBUG_COMMANDS</tt> | When running a game, Proton will write some useful debug scripts for that game into `$PROTON_DEBUG_DIR/proton_$USER/`. |
|
||||||
| | <tt>PROTON_DEBUG_DIR</tt> | Root directory for the Proton debug scripts, `/tmp` by default. |
|
| | <tt>PROTON_DEBUG_DIR</tt> | Root directory for the Proton debug scripts, `/tmp` by default. |
|
||||||
|
| | <tt>PROTON_CRASH_REPORT_DIR</tt> | Write crash logs into this directory. Does not clean up old logs, so may eat all your disk space eventually. |
|
||||||
| <tt>wined3d</tt> | <tt>PROTON_USE_WINED3D</tt> | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, and d3d9. |
|
| <tt>wined3d</tt> | <tt>PROTON_USE_WINED3D</tt> | Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, and d3d9. |
|
||||||
| <tt>nod3d11</tt> | <tt>PROTON_NO_D3D11</tt> | Disable <tt>d3d11.dll</tt>, for d3d11 games which can fall back to and run better with d3d9. |
|
| <tt>nod3d11</tt> | <tt>PROTON_NO_D3D11</tt> | Disable <tt>d3d11.dll</tt>, for d3d11 games which can fall back to and run better with d3d9. |
|
||||||
| <tt>nod3d10</tt> | <tt>PROTON_NO_D3D10</tt> | Disable <tt>d3d10.dll</tt> and <tt>dxgi.dll</tt>, for d3d10 games which can fall back to and run better with d3d9. |
|
| <tt>nod3d10</tt> | <tt>PROTON_NO_D3D10</tt> | Disable <tt>d3d10.dll</tt> and <tt>dxgi.dll</tt>, for d3d10 games which can fall back to and run better with d3d9. |
|
||||||
| <tt>noesync</tt> | <tt>PROTON_NO_ESYNC</tt> | Do not use eventfd-based in-process synchronization primitives. |
|
| <tt>noesync</tt> | <tt>PROTON_NO_ESYNC</tt> | Do not use eventfd-based in-process synchronization primitives. |
|
||||||
| <tt>nofsync</tt> | <tt>PROTON_NO_FSYNC</tt> | Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no `FUTEX_WAIT_MULTIPLE` support.) |
|
| <tt>nofsync</tt> | <tt>PROTON_NO_FSYNC</tt> | Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no `FUTEX_WAIT_MULTIPLE` support.) |
|
||||||
| <tt>noxim</tt> | <tt>PROTON_NO_XIM</tt> | Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7. |
|
| <tt>noxim</tt> | <tt>PROTON_NO_XIM</tt> | Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7. |
|
||||||
|
| <tt>enablenvapi</tt> | <tt>PROTON_ENABLE_NVAPI</tt> | Enable NVIDIA's NVAPI GPU support library. |
|
||||||
| <tt>nativevulkanloader</tt> | | Use the Vulkan loader shipped with the game instead of Proton's built-in Vulkan loader. This breaks VR support, but is required by a few games. |
|
| <tt>nativevulkanloader</tt> | | Use the Vulkan loader shipped with the game instead of Proton's built-in Vulkan loader. This breaks VR support, but is required by a few games. |
|
||||||
| <tt>forcelgadd</tt> | <tt>PROTON_FORCE_LARGE_ADDRESS_AWARE</tt> | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. |
|
| <tt>forcelgadd</tt> | <tt>PROTON_FORCE_LARGE_ADDRESS_AWARE</tt> | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. |
|
||||||
| <tt>heapdelayfree</tt>| <tt>PROTON_HEAP_DELAY_FREE</tt>| Delay freeing some memory, to work around application use-after-free bugs. |
|
| <tt>heapdelayfree</tt>| <tt>PROTON_HEAP_DELAY_FREE</tt>| Delay freeing some memory, to work around application use-after-free bugs. |
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
SRC := $(abspath $(SRCDIR))
|
SRC := $(abspath $(SRCDIR))
|
||||||
OBJ := $(abspath $(CURDIR))
|
OBJ := $(abspath $(CURDIR))
|
||||||
|
|
||||||
|
ifeq ($(filter s,$(MAKEFLAGS)),s)
|
||||||
|
MAKEFLAGS += --quiet --no-print-directory
|
||||||
|
--quiet? := --quiet
|
||||||
|
else
|
||||||
|
MFLAGS += V=1 VERBOSE=1
|
||||||
|
-v? := -v
|
||||||
|
--verbose? := --verbose
|
||||||
|
endif
|
||||||
|
|
||||||
##
|
##
|
||||||
## Nested make
|
## Nested make
|
||||||
##
|
##
|
||||||
@ -104,6 +113,8 @@ container-build:
|
|||||||
|
|
||||||
all32 $(MAKECMDGOALS32): container-build
|
all32 $(MAKECMDGOALS32): container-build
|
||||||
all64 $(MAKECMDGOALS64): container-build
|
all64 $(MAKECMDGOALS64): container-build
|
||||||
|
else
|
||||||
|
J = $(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@ -125,7 +136,7 @@ endif
|
|||||||
##
|
##
|
||||||
|
|
||||||
DST_BASE := $(OBJ)/dist
|
DST_BASE := $(OBJ)/dist
|
||||||
DST_DIR := $(DST_BASE)/dist
|
DST_DIR := $(DST_BASE)/files
|
||||||
DST_LIBDIR32 := $(DST_DIR)/lib
|
DST_LIBDIR32 := $(DST_DIR)/lib
|
||||||
DST_LIBDIR64 := $(DST_DIR)/lib64
|
DST_LIBDIR64 := $(DST_DIR)/lib64
|
||||||
DEPLOY_DIR := ./deploy
|
DEPLOY_DIR := ./deploy
|
||||||
@ -167,6 +178,7 @@ CARGO_BUILD_ARG := --release
|
|||||||
COMPAT_MANIFEST_TEMPLATE := $(SRCDIR)/compatibilitytool.vdf.template
|
COMPAT_MANIFEST_TEMPLATE := $(SRCDIR)/compatibilitytool.vdf.template
|
||||||
LICENSE := $(SRCDIR)/dist.LICENSE
|
LICENSE := $(SRCDIR)/dist.LICENSE
|
||||||
OFL_LICENSE := $(SRCDIR)/fonts/liberation-fonts/LICENSE
|
OFL_LICENSE := $(SRCDIR)/fonts/liberation-fonts/LICENSE
|
||||||
|
STEAMPIPE_FIXUPS_PY := $(SRCDIR)/steampipe_fixups.py
|
||||||
|
|
||||||
GECKO_VER := 2.47.2
|
GECKO_VER := 2.47.2
|
||||||
GECKO32_TARBALL := wine-gecko-$(GECKO_VER)-x86.tar.xz
|
GECKO32_TARBALL := wine-gecko-$(GECKO_VER)-x86.tar.xz
|
||||||
@ -253,8 +265,9 @@ DIST_TARGETS := $(DIST_COPY_TARGETS) $(DIST_OVR32) $(DIST_OVR64) \
|
|||||||
$(DIST_GECKO32) $(DIST_GECKO64) $(DIST_WINEMONO) \
|
$(DIST_GECKO32) $(DIST_GECKO64) $(DIST_WINEMONO) \
|
||||||
$(DIST_COMPAT_MANIFEST) $(DIST_LICENSE) $(DIST_TOOLMANIFEST) $(DIST_OFL_LICENSE) $(DIST_FONTS)
|
$(DIST_COMPAT_MANIFEST) $(DIST_LICENSE) $(DIST_TOOLMANIFEST) $(DIST_OFL_LICENSE) $(DIST_FONTS)
|
||||||
|
|
||||||
DEPLOY_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) $(DIST_TOOLMANIFEST) $(DIST_OFL_LICENSE)
|
BASE_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) $(DIST_TOOLMANIFEST) $(DIST_OFL_LICENSE) $(DST_DIR)
|
||||||
REDIST_COPY_TARGETS := $(DEPLOY_COPY_TARGETS) $(DIST_COMPAT_MANIFEST)
|
DEPLOY_COPY_TARGETS := $(BASE_COPY_TARGETS) $(STEAMPIPE_FIXUPS_PY)
|
||||||
|
REDIST_COPY_TARGETS := $(BASE_COPY_TARGETS) $(DIST_COMPAT_MANIFEST)
|
||||||
|
|
||||||
$(DIST_LICENSE): $(LICENSE)
|
$(DIST_LICENSE): $(LICENSE)
|
||||||
cp -a $< $@
|
cp -a $< $@
|
||||||
@ -343,36 +356,36 @@ dist: $(DIST_TARGETS) all-dist dist_wineopenxr | $(DST_DIR)
|
|||||||
echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION)
|
echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION)
|
||||||
|
|
||||||
deploy: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
deploy: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
||||||
mkdir -p $(DEPLOY_DIR) && \
|
mkdir -p $(DEPLOY_DIR)
|
||||||
cp -a $(DEPLOY_COPY_TARGETS) $(DEPLOY_DIR) && \
|
cp -af --no-dereference --preserve=mode,links $(DEPLOY_COPY_TARGETS) $(DEPLOY_DIR)
|
||||||
tar -C $(DST_DIR) -c . > $(DEPLOY_DIR)/proton_dist.tar
|
python3 $(STEAMPIPE_FIXUPS_PY) process $(DEPLOY_DIR)
|
||||||
@echo "Created deployment archive at "$(DEPLOY_DIR)"/proton_dist.tar"
|
|
||||||
|
|
||||||
install: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
install: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
||||||
if [ ! -d $(STEAM_DIR) ]; then echo >&2 "!! "$(STEAM_DIR)" does not exist, cannot install"; return 1; fi
|
if [ ! -d $(STEAM_DIR) ]; then echo >&2 "!! "$(STEAM_DIR)" does not exist, cannot install"; return 1; fi
|
||||||
mkdir -p $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
mkdir -p $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
||||||
cp -rf --no-dereference --preserve=mode,links $(DST_BASE)/* $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
cp -af --no-dereference --preserve=mode,links $(DST_BASE)/* $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
||||||
cp -f $(DIST_VERSION) $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)/dist/
|
|
||||||
@echo "Installed Proton to "$(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
@echo "Installed Proton to "$(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
||||||
@echo "You may need to restart Steam to select this tool"
|
@echo "You may need to restart Steam to select this tool"
|
||||||
|
|
||||||
redist: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
redist: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
||||||
mkdir -p $(REDIST_DIR)
|
mkdir -p $(REDIST_DIR)
|
||||||
cp -a $(REDIST_COPY_TARGETS) $(REDIST_DIR)
|
cp -af --no-dereference --preserve=mode,links $(REDIST_COPY_TARGETS) $(REDIST_DIR)
|
||||||
tar -C $(DST_DIR) -c . | gzip -c -1 > $(REDIST_DIR)/proton_dist.tar.gz
|
|
||||||
@echo "Created redistribution tarball at "$(REDIST_DIR)"/proton_dist.tar.gz"
|
|
||||||
|
|
||||||
.PHONY: module32 module64 module
|
.PHONY: module32 module64 module
|
||||||
|
|
||||||
module32: private SHELL := $(CONTAINER_SHELL)
|
module32: private SHELL := $(CONTAINER_SHELL)
|
||||||
module32: CONTAINERGOALS := $(CONTAINERGOALS) wine-configure32
|
module32: CONTAINERGOALS := $(CONTAINERGOALS) wine-configure32
|
||||||
module32: | all-source wine-configure32
|
module32: | all-source wine-configure32
|
||||||
+$(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_OBJ32)/dlls/$(module)
|
+$(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_OBJ32)/dlls/$(module) && \
|
||||||
|
find $(WINE_OBJ32)/dlls/$(module) -type f -name '*.dll' -printf '%p\0' | \
|
||||||
|
xargs $(--verbose?) -0 -r -P$(J) -n1 $(SRC)/make/pefixup.py
|
||||||
|
|
||||||
module64: private SHELL := $(CONTAINER_SHELL)
|
module64: private SHELL := $(CONTAINER_SHELL)
|
||||||
module64: CONTAINERGOALS := $(CONTAINERGOALS) wine-configure64
|
module64: CONTAINERGOALS := $(CONTAINERGOALS) wine-configure64
|
||||||
module64: | all-source wine-configure64
|
module64: | all-source wine-configure64
|
||||||
+$(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_OBJ64)/dlls/$(module)
|
+$(MAKE) -j$(J) $(filter -j%,$(MAKEFLAGS)) $(MFLAGS) $(MAKEOVERRIDES) -C $(WINE_OBJ64)/dlls/$(module) && \
|
||||||
|
find $(WINE_OBJ64)/dlls/$(module) -type f -name '*.dll' -printf '%p\0' | \
|
||||||
|
xargs $(--verbose?) -0 -r -P$(J) -n1 $(SRC)/make/pefixup.py
|
||||||
|
|
||||||
module: CONTAINERGOALS := $(CONTAINERGOALS) wine-configure
|
module: CONTAINERGOALS := $(CONTAINERGOALS) wine-configure
|
||||||
module: | all-source wine-configure
|
module: | all-source wine-configure
|
||||||
@ -633,6 +646,7 @@ WINE_SOURCE_ARGS = \
|
|||||||
|
|
||||||
WINE_CONFIGURE_ARGS = \
|
WINE_CONFIGURE_ARGS = \
|
||||||
--with-mingw \
|
--with-mingw \
|
||||||
|
--without-xpresent \
|
||||||
--disable-tests
|
--disable-tests
|
||||||
|
|
||||||
WINE_CONFIGURE_ARGS64 = --enable-win64
|
WINE_CONFIGURE_ARGS64 = --enable-win64
|
||||||
@ -717,6 +731,32 @@ $(OBJ)/.dxvk-post-build32:
|
|||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## dxvk-nvapi
|
||||||
|
##
|
||||||
|
|
||||||
|
DXVK_NVAPI_MESON_ARGS32 = \
|
||||||
|
--bindir=$(DXVK_NVAPI_DST32)/lib/wine/nvapi \
|
||||||
|
--cross-file=$(DXVK_NVAPI_OBJ32)/build-win32.txt
|
||||||
|
DXVK_NVAPI_MESON_ARGS64 = \
|
||||||
|
--bindir=$(DXVK_NVAPI_DST64)/lib64/wine/nvapi \
|
||||||
|
--cross-file=$(DXVK_NVAPI_OBJ64)/build-win64.txt
|
||||||
|
|
||||||
|
$(eval $(call rules-source,dxvk-nvapi,$(SRCDIR)/dxvk-nvapi))
|
||||||
|
$(eval $(call rules-meson,dxvk-nvapi,32))
|
||||||
|
$(eval $(call rules-meson,dxvk-nvapi,64))
|
||||||
|
|
||||||
|
$(OBJ)/.dxvk-nvapi-post-build64:
|
||||||
|
mkdir -p "$(DST_DIR)"/lib64/wine/nvapi
|
||||||
|
rm -f "$(DST_DIR)"/lib64/wine/nvapi/version && if test -e $(SRCDIR)/.git; then ( cd $(SRCDIR) && git submodule status -- dxvk-nvapi ) > "$(DST_DIR)"/lib64/wine/nvapi/version; fi
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
$(OBJ)/.dxvk-nvapi-post-build32:
|
||||||
|
mkdir -p "$(DST_DIR)"/lib/wine/nvapi
|
||||||
|
rm -f "$(DST_DIR)"/lib/wine/nvapi/version && if test -e $(SRCDIR)/.git; then ( cd $(SRCDIR) && git submodule status -- dxvk-nvapi ) > "$(DST_DIR)"/lib/wine/nvapi/version; fi
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## vkd3d-proton
|
## vkd3d-proton
|
||||||
##
|
##
|
||||||
|
@ -97,7 +97,7 @@ function configure() {
|
|||||||
#
|
#
|
||||||
|
|
||||||
arg_steamrt="soldier"
|
arg_steamrt="soldier"
|
||||||
arg_protonsdk_image="registry.gitlab.steamos.cloud/proton/soldier/sdk:0.20210126.1-1"
|
arg_protonsdk_image="registry.gitlab.steamos.cloud/proton/soldier/sdk:0.20210505.0-2"
|
||||||
arg_no_protonsdk=""
|
arg_no_protonsdk=""
|
||||||
arg_build_name=""
|
arg_build_name=""
|
||||||
arg_docker_opts=""
|
arg_docker_opts=""
|
||||||
|
@ -73,6 +73,14 @@ def setup_dll_symlinks(default_pfx_dir, dist_dir):
|
|||||||
os.unlink(filename)
|
os.unlink(filename)
|
||||||
make_relative_symlink(target, filename)
|
make_relative_symlink(target, filename)
|
||||||
|
|
||||||
|
#steampipe can't handle filenames with colons, so we remove them here
|
||||||
|
#and restore them in the proton script
|
||||||
|
def fixup_drive_links(default_pfx_dir):
|
||||||
|
for walk_dir, dirs, files in os.walk(os.path.join(default_pfx_dir, "dosdevices")):
|
||||||
|
for dir_ in dirs:
|
||||||
|
if ":" in dir_:
|
||||||
|
os.remove(os.path.join(walk_dir, dir_))
|
||||||
|
|
||||||
def make_default_pfx(default_pfx_dir, dist_dir, runtime):
|
def make_default_pfx(default_pfx_dir, dist_dir, runtime):
|
||||||
local_env = dict(os.environ)
|
local_env = dict(os.environ)
|
||||||
|
|
||||||
@ -96,6 +104,7 @@ def make_default_pfx(default_pfx_dir, dist_dir, runtime):
|
|||||||
|
|
||||||
env=local_env, check=True)
|
env=local_env, check=True)
|
||||||
setup_dll_symlinks(default_pfx_dir, dist_dir)
|
setup_dll_symlinks(default_pfx_dir, dist_dir)
|
||||||
|
fixup_drive_links(default_pfx_dir)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import sys
|
import sys
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
STEAMRT_VERSION = 0.20210126.1
|
STEAMRT_VERSION = 0.20210505.0
|
||||||
STEAMRT_URLBASE = registry.gitlab.steamos.cloud
|
STEAMRT_URLBASE = registry.gitlab.steamos.cloud
|
||||||
|
|
||||||
PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/soldier/sdk
|
PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/soldier/sdk
|
||||||
|
@ -52,9 +52,14 @@ RUN bash -c 'mkdir -p /usr/lib/ccache && ls /usr/bin/{,*-}{cc,c++,gcc,g++}{,-[0-
|
|||||||
ENV PATH=/usr/lib/ccache:$PATH
|
ENV PATH=/usr/lib/ccache:$PATH
|
||||||
|
|
||||||
RUN apt-get install -y \
|
RUN apt-get install -y \
|
||||||
tini \
|
libxpresent-dev \
|
||||||
|
libxpresent-dev:i386 \
|
||||||
|
python3-pefile \
|
||||||
|
libcapstone-dev \
|
||||||
|
libcapstone-dev:i386 \
|
||||||
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
|
&& rm -rf /opt/usr/share/doc /opt/usr/share/info /opt/usr/share/man \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/tini-static", "-s", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini-static", "-s", "-g", "--"]
|
||||||
|
|
||||||
CMD ["/bin/bash"]
|
CMD ["/bin/bash"]
|
||||||
|
2
dxvk
2
dxvk
@ -1 +1 @@
|
|||||||
Subproject commit f8a4ca555a6e5d89f5162a042bbae550902f4e49
|
Subproject commit ed3aacadb27918e7988e479a275088a78e18cfa8
|
1
dxvk-nvapi
Submodule
1
dxvk-nvapi
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit fcd8ce2a0e5eef81148cedcb572fe6d1e667da94
|
25
make/pefixup.py
Executable file
25
make/pefixup.py
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import stat
|
||||||
|
import pefile
|
||||||
|
|
||||||
|
for path in sys.argv[1:]:
|
||||||
|
pe = pefile.PE(path)
|
||||||
|
|
||||||
|
for section in pe.sections:
|
||||||
|
if section.Name.decode("utf-8")[0:5] == ".text":
|
||||||
|
section.Characteristics &= ~pefile.SECTION_CHARACTERISTICS['IMAGE_SCN_CNT_INITIALIZED_DATA']
|
||||||
|
section.Characteristics &= ~pefile.SECTION_CHARACTERISTICS['IMAGE_SCN_ALIGN_MASK']
|
||||||
|
|
||||||
|
pe.OPTIONAL_HEADER.CheckSum = pe.generate_checksum()
|
||||||
|
|
||||||
|
perm = stat.S_IMODE(os.stat(path).st_mode)
|
||||||
|
if (perm & stat.S_IWUSR) == 0:
|
||||||
|
os.chmod(path, perm | stat.S_IWUSR)
|
||||||
|
|
||||||
|
pe.write(path)
|
||||||
|
|
||||||
|
if (perm & stat.S_IWUSR) == 0:
|
||||||
|
os.chmod(path, perm)
|
@ -12,7 +12,7 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/configure.ac
|
|||||||
rm -rf "$$($(2)_OBJ$(3))/config.cache"
|
rm -rf "$$($(2)_OBJ$(3))/config.cache"
|
||||||
|
|
||||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||||
$$($(2)_SRC)/configure -C \
|
$$($(2)_SRC)/configure $(--quiet?) -C \
|
||||||
--prefix="$$($(2)_DST$(3))" \
|
--prefix="$$($(2)_DST$(3))" \
|
||||||
--libdir="$$($(2)_DST$(3))/lib$(subst 32,,$(3))" \
|
--libdir="$$($(2)_DST$(3))/lib$(subst 32,,$(3))" \
|
||||||
$$($(2)_ENV$(3)) \
|
$$($(2)_ENV$(3)) \
|
||||||
|
@ -55,26 +55,32 @@ ifneq ($(UNSTRIPPED_BUILD),)
|
|||||||
$$(OBJ)/.$(1)-dist$(3):
|
$$(OBJ)/.$(1)-dist$(3):
|
||||||
@echo ":: installing $(3)bit $(1)..." >&2
|
@echo ":: installing $(3)bit $(1)..." >&2
|
||||||
mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR$(3))/
|
mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR$(3))/
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR$(3))/%h\0' | sort -z | uniq -z | xargs --verbose -0 -r -P8 mkdir -p
|
cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR$(3))/%h\0' | sort -z | uniq -z | xargs $(--verbose?) -0 -r -P$$(J) mkdir -p
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs --verbose -0 -r -P8 -n2 cp -a
|
cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs $(--verbose?) -0 -r -P$$(J) -n2 cp -a
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
||||||
-printf '--only-keep-debug\0%p\0$$(DST_LIBDIR$(3))/%p.debug\0' | \
|
-printf '--only-keep-debug\0%p\0$$(DST_LIBDIR$(3))/%p.debug\0' | \
|
||||||
xargs --verbose -0 -r -P8 -n3 objcopy --file-alignment=4096
|
xargs $(--verbose?) -0 -r -P$$(J) -n3 objcopy --file-alignment=4096
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
||||||
-printf '--add-gnu-debuglink=$$(DST_LIBDIR$(3))/%p.debug\0--strip-debug\0%p\0$$(DST_LIBDIR$(3))/%p\0' | \
|
-printf '--add-gnu-debuglink=$$(DST_LIBDIR$(3))/%p.debug\0--strip-debug\0%p\0$$(DST_LIBDIR$(3))/%p\0' | \
|
||||||
xargs --verbose -0 -r -P8 -n4 objcopy --file-alignment=4096
|
xargs $(--verbose?) -0 -r -P$$(J) -n4 objcopy --file-alignment=4096
|
||||||
|
cd $$($(2)_LIBDIR$(3)) && find -type f -name '*.dll' \
|
||||||
|
-printf '$$(DST_LIBDIR$(3))/%p\0' | \
|
||||||
|
xargs $(--verbose?) -0 -r -P$$(J) -n1 $$(SRC)/make/pefixup.py
|
||||||
touch $$@
|
touch $$@
|
||||||
else
|
else
|
||||||
$$(OBJ)/.$(1)-dist$(3):
|
$$(OBJ)/.$(1)-dist$(3):
|
||||||
@echo ":: installing $(3)bit $(1)..." >&2
|
@echo ":: installing $(3)bit $(1)..." >&2
|
||||||
mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR$(3))/
|
mkdir -p $$($(2)_LIBDIR$(3))/ $$(DST_LIBDIR$(3))/
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR$(3))/%h\0' | sort -z | uniq -z | xargs --verbose -0 -r -P8 mkdir -p
|
cd $$($(2)_LIBDIR$(3)) && find -type f -printf '$$(DST_LIBDIR$(3))/%h\0' | sort -z | uniq -z | xargs $(--verbose?) -0 -r -P$$(J) mkdir -p
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs --verbose -0 -r -P8 -n2 cp -a
|
cd $$($(2)_LIBDIR$(3)) && find -type l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs $(--verbose?) -0 -r -P$$(J) -n2 cp -a
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
||||||
-printf '$$(DST_LIBDIR$(3))/%p.debug\0' | xargs --verbose -0 -r -P8 rm -f
|
-printf '$$(DST_LIBDIR$(3))/%p.debug\0' | xargs $(--verbose?) -0 -r -P$$(J) rm -f
|
||||||
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
cd $$($(2)_LIBDIR$(3)) && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.def' ')' \
|
||||||
-printf '--strip-debug\0%p\0$$(DST_LIBDIR$(3))/%p\0' | \
|
-printf '--strip-debug\0%p\0$$(DST_LIBDIR$(3))/%p\0' | \
|
||||||
xargs --verbose -0 -r -P8 -n3 objcopy --file-alignment=4096
|
xargs $(--verbose?) -0 -r -P$$(J) -n3 objcopy --file-alignment=4096
|
||||||
|
cd $$($(2)_LIBDIR$(3)) && find -type f -name '*.dll' \
|
||||||
|
-printf '$$(DST_LIBDIR$(3))/%p\0' | \
|
||||||
|
xargs $(--verbose?) -0 -r -P$$(J) -n1 $$(SRC)/make/pefixup.py
|
||||||
touch $$@
|
touch $$@
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -31,7 +31,7 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/meson.build
|
|||||||
$$(OBJ)/.$(1)-build$(3):
|
$$(OBJ)/.$(1)-build$(3):
|
||||||
@echo ":: building $(3)bit $(1)..." >&2
|
@echo ":: building $(3)bit $(1)..." >&2
|
||||||
env $$($(2)_ENV$(3)) \
|
env $$($(2)_ENV$(3)) \
|
||||||
ninja $$(filter -j%,$$(MAKEFLAGS)) -C "$$($(2)_OBJ$(3))" install
|
ninja $$(filter -j%,$$(MAKEFLAGS)) -C "$$($(2)_OBJ$(3))" install $(-v?)
|
||||||
touch $$@
|
touch $$@
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
@ -25,7 +25,7 @@ $$(OBJ)/.$(1)-source: $$(shell echo -n 'syncing $(1)... ' >&2 && \
|
|||||||
rsync --dry-run --filter=:C --exclude '*~' --exclude .git $$($(2)_SOURCE_ARGS) --info=name -Oarx --delete "$$(abspath $(3))/" "$$($(2)_SRC)" | \
|
rsync --dry-run --filter=:C --exclude '*~' --exclude .git $$($(2)_SOURCE_ARGS) --info=name -Oarx --delete "$$(abspath $(3))/" "$$($(2)_SRC)" | \
|
||||||
grep -v -e ^$$$$ | grep -q ^ && echo $(1)-rebuild && \
|
grep -v -e ^$$$$ | grep -q ^ && echo $(1)-rebuild && \
|
||||||
echo 'done, dirty' >&2 || echo 'done' >&2)
|
echo 'done, dirty' >&2 || echo 'done' >&2)
|
||||||
rsync --filter=:C --exclude '*~' --exclude .git $$($(2)_SOURCE_ARGS) --info=name -Oarx --delete "$$(abspath $(3))/" "$$($(2)_SRC)"
|
rsync --filter=:C --exclude '*~' --exclude .git $$($(2)_SOURCE_ARGS) --info=name -Oarx --delete "$$(abspath $(3))/" "$$($(2)_SRC)" $(--quiet?)
|
||||||
touch $$@
|
touch $$@
|
||||||
|
|
||||||
$$(OBJ)/.$(1)-post-source: $$(OBJ)/.$(1)-source
|
$$(OBJ)/.$(1)-post-source: $$(OBJ)/.$(1)-source
|
||||||
|
193
proton
193
proton
@ -15,6 +15,16 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
import tarfile
|
import tarfile
|
||||||
|
|
||||||
|
from ctypes import CDLL
|
||||||
|
from ctypes import POINTER
|
||||||
|
from ctypes import Structure
|
||||||
|
from ctypes import addressof
|
||||||
|
from ctypes import cast
|
||||||
|
from ctypes import c_int
|
||||||
|
from ctypes import c_char_p
|
||||||
|
from ctypes import c_void_p
|
||||||
|
from ctypes.util import find_library
|
||||||
|
|
||||||
from filelock import FileLock
|
from filelock import FileLock
|
||||||
|
|
||||||
#To enable debug logging, copy "user_settings.sample.py" to "user_settings.py"
|
#To enable debug logging, copy "user_settings.sample.py" to "user_settings.py"
|
||||||
@ -127,6 +137,83 @@ def try_get_game_library_dir():
|
|||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
# Function to find the installed location of DLL files for use by Wine/Proton
|
||||||
|
# from the NVIDIA Linux driver
|
||||||
|
#
|
||||||
|
# See https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/issues/71 for
|
||||||
|
# background on the chosen method of DLL discovery.
|
||||||
|
#
|
||||||
|
# On success, returns a str() of the absolute-path to the directory at which DLL
|
||||||
|
# files are stored
|
||||||
|
#
|
||||||
|
# On failure, returns None
|
||||||
|
def find_nvidia_wine_dll_dir():
|
||||||
|
libdl = CDLL(find_library("libdl"))
|
||||||
|
libglx_nvidia = CDLL("libGLX_nvidia.so.0")
|
||||||
|
|
||||||
|
if libdl is None or libglx_nvidia is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# from dlinfo(3)
|
||||||
|
#
|
||||||
|
# struct link_map {
|
||||||
|
# ElfW(Addr) l_addr; /* Difference between the
|
||||||
|
# address in the ELF file and
|
||||||
|
# the address in memory */
|
||||||
|
# char *l_name; /* Absolute pathname where
|
||||||
|
# object was found */
|
||||||
|
# ElfW(Dyn) *l_ld; /* Dynamic section of the
|
||||||
|
# shared object */
|
||||||
|
# struct link_map *l_next, *l_prev;
|
||||||
|
# /* Chain of loaded objects */
|
||||||
|
#
|
||||||
|
# /* Plus additional fields private to the
|
||||||
|
# implementation */
|
||||||
|
# };
|
||||||
|
RTLD_DI_LINKMAP = 2
|
||||||
|
class link_map(Structure):
|
||||||
|
_fields_ = [("l_addr", c_void_p), ("l_name", c_char_p), ("l_ld", c_void_p)]
|
||||||
|
|
||||||
|
# from dlinfo(3)
|
||||||
|
#
|
||||||
|
# int dlinfo (void *restrict handle, int request, void *restrict info)
|
||||||
|
dlinfo_func = libdl.dlinfo
|
||||||
|
dlinfo_func.argtypes = c_void_p, c_int, c_void_p
|
||||||
|
dlinfo_func.restype = c_int
|
||||||
|
|
||||||
|
# Allocate a link_map object
|
||||||
|
glx_nvidia_info_ptr = POINTER(link_map)()
|
||||||
|
|
||||||
|
# Run dlinfo(3) on the handle to libGLX_nvidia.so.0, storing results at the
|
||||||
|
# address represented by glx_nvidia_info_ptr
|
||||||
|
if dlinfo_func(libglx_nvidia._handle,
|
||||||
|
RTLD_DI_LINKMAP,
|
||||||
|
addressof(glx_nvidia_info_ptr)) != 0:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Grab the contents our of our pointer
|
||||||
|
glx_nvidia_info = cast(glx_nvidia_info_ptr, POINTER(link_map)).contents
|
||||||
|
|
||||||
|
# Decode the path to our library to a str()
|
||||||
|
if glx_nvidia_info.l_name is None:
|
||||||
|
return None
|
||||||
|
try:
|
||||||
|
libglx_nvidia_path = os.fsdecode(glx_nvidia_info.l_name)
|
||||||
|
except UnicodeDecodeError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Follow any symlinks to the actual file
|
||||||
|
libglx_nvidia_realpath = os.path.realpath(libglx_nvidia_path)
|
||||||
|
|
||||||
|
# Go to the relative path ./nvidia/wine from our library
|
||||||
|
nvidia_wine_dir = os.path.join(os.path.dirname(libglx_nvidia_realpath), "nvidia", "wine")
|
||||||
|
|
||||||
|
# Check that nvngx.dll exists here, or fail
|
||||||
|
if os.path.exists(os.path.join(nvidia_wine_dir, "nvngx.dll")):
|
||||||
|
return nvidia_wine_dir
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
EXT2_IOC_GETFLAGS = 0x80086601
|
EXT2_IOC_GETFLAGS = 0x80086601
|
||||||
EXT2_IOC_SETFLAGS = 0x40086602
|
EXT2_IOC_SETFLAGS = 0x40086602
|
||||||
|
|
||||||
@ -149,14 +236,14 @@ def set_dir_casefold_bit(dir_path):
|
|||||||
class Proton:
|
class Proton:
|
||||||
def __init__(self, base_dir):
|
def __init__(self, base_dir):
|
||||||
self.base_dir = base_dir + "/"
|
self.base_dir = base_dir + "/"
|
||||||
self.dist_dir = self.path("dist/")
|
self.dist_dir = self.path("files/")
|
||||||
self.bin_dir = self.path("dist/bin/")
|
self.bin_dir = self.path("files/bin/")
|
||||||
self.lib_dir = self.path("dist/lib/")
|
self.lib_dir = self.path("files/lib/")
|
||||||
self.lib64_dir = self.path("dist/lib64/")
|
self.lib64_dir = self.path("files/lib64/")
|
||||||
self.fonts_dir = self.path("dist/share/fonts/")
|
self.fonts_dir = self.path("files/share/fonts/")
|
||||||
self.wine_fonts_dir = self.path("dist/share/wine/fonts/")
|
self.wine_fonts_dir = self.path("files/share/wine/fonts/")
|
||||||
self.version_file = self.path("version")
|
self.version_file = self.path("version")
|
||||||
self.default_pfx_dir = self.path("dist/share/default_pfx/")
|
self.default_pfx_dir = self.path("files/share/default_pfx/")
|
||||||
self.user_settings_file = self.path("user_settings.py")
|
self.user_settings_file = self.path("user_settings.py")
|
||||||
self.wine_bin = self.bin_dir + "wine"
|
self.wine_bin = self.bin_dir + "wine"
|
||||||
self.wineserver_bin = self.bin_dir + "wineserver"
|
self.wineserver_bin = self.bin_dir + "wineserver"
|
||||||
@ -165,28 +252,34 @@ class Proton:
|
|||||||
def path(self, d):
|
def path(self, d):
|
||||||
return self.base_dir + d
|
return self.base_dir + d
|
||||||
|
|
||||||
def need_tarball_extraction(self):
|
def cleanup_legacy_dist(self):
|
||||||
'''Checks if the proton_dist tarball archive must be extracted. Returns true if extraction is needed, false otherwise'''
|
old_dist_dir = self.path("dist/")
|
||||||
return not os.path.exists(self.dist_dir) or \
|
if os.path.exists(old_dist_dir):
|
||||||
not os.path.exists(self.path("dist/version")) or \
|
with self.dist_lock:
|
||||||
not filecmp.cmp(self.version_file, self.path("dist/version"))
|
if os.path.exists(old_dist_dir):
|
||||||
|
shutil.rmtree(old_dist_dir)
|
||||||
|
|
||||||
def extract_tarball(self):
|
def do_steampipe_fixups(self):
|
||||||
with self.dist_lock:
|
fixups_json = self.path("steampipe_fixups.json")
|
||||||
if self.need_tarball_extraction():
|
fixups_mtime = self.path("files/steampipe_fixups_mtime")
|
||||||
if os.path.exists(self.dist_dir):
|
|
||||||
shutil.rmtree(self.dist_dir)
|
if os.path.exists(fixups_json):
|
||||||
tar = None
|
with self.dist_lock:
|
||||||
for sf in ["", ".xz", ".bz2", ".gz"]:
|
import steampipe_fixups
|
||||||
if os.path.exists(self.path("proton_dist.tar" + sf)):
|
|
||||||
tar = tarfile.open(self.path("proton_dist.tar" + sf), mode="r:*")
|
current_fixup_mtime = None
|
||||||
break
|
if os.path.exists(fixups_mtime):
|
||||||
if not tar:
|
with open(fixups_mtime, "r") as f:
|
||||||
log("No proton_dist tarball??")
|
current_fixup_mtime = f.readline().strip()
|
||||||
sys.exit(1)
|
|
||||||
tar.extractall(path=self.dist_dir)
|
new_fixup_mtime = getmtimestr(fixups_json)
|
||||||
tar.close()
|
|
||||||
try_copy(self.version_file, self.dist_dir)
|
if current_fixup_mtime != new_fixup_mtime:
|
||||||
|
result_code = steampipe_fixups.do_restore(self.base_dir, fixups_json)
|
||||||
|
|
||||||
|
if result_code == 0:
|
||||||
|
with open(fixups_mtime, "w") as f:
|
||||||
|
f.write(new_fixup_mtime + "\n")
|
||||||
|
|
||||||
def missing_default_prefix(self):
|
def missing_default_prefix(self):
|
||||||
'''Check if the default prefix dir is missing. Returns true if missing, false if present'''
|
'''Check if the default prefix dir is missing. Returns true if missing, false if present'''
|
||||||
@ -432,11 +525,18 @@ class CompatData:
|
|||||||
if not os.path.exists(self.prefix_dir + "/user.reg"):
|
if not os.path.exists(self.prefix_dir + "/user.reg"):
|
||||||
self.copy_pfx()
|
self.copy_pfx()
|
||||||
|
|
||||||
|
if not os.path.lexists(self.prefix_dir + "/dosdevices/c:"):
|
||||||
|
os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
|
||||||
|
|
||||||
|
if not os.path.lexists(self.prefix_dir + "/dosdevices/z:"):
|
||||||
|
os.symlink("/", self.prefix_dir + "/dosdevices/z:")
|
||||||
|
|
||||||
# collect configuration info
|
# collect configuration info
|
||||||
steamdir = os.environ["STEAM_COMPAT_CLIENT_INSTALL_PATH"]
|
steamdir = os.environ["STEAM_COMPAT_CLIENT_INSTALL_PATH"]
|
||||||
|
|
||||||
use_wined3d = "wined3d" in g_session.compat_config
|
use_wined3d = "wined3d" in g_session.compat_config
|
||||||
use_dxvk_dxgi = "WINEDLLOVERRIDES" in g_session.env and "dxgi=n" in g_session.env["WINEDLLOVERRIDES"]
|
use_dxvk_dxgi = not ("WINEDLLOVERRIDES" in g_session.env and "dxgi=b" in g_session.env["WINEDLLOVERRIDES"])
|
||||||
|
use_nvapi = 'enablenvapi' in g_session.compat_config
|
||||||
|
|
||||||
builtin_dll_copy = os.environ.get("PROTON_DLL_COPY",
|
builtin_dll_copy = os.environ.get("PROTON_DLL_COPY",
|
||||||
#dxsetup redist
|
#dxsetup redist
|
||||||
@ -481,6 +581,7 @@ class CompatData:
|
|||||||
str(use_wined3d),
|
str(use_wined3d),
|
||||||
str(use_dxvk_dxgi),
|
str(use_dxvk_dxgi),
|
||||||
builtin_dll_copy,
|
builtin_dll_copy,
|
||||||
|
str(use_nvapi),
|
||||||
))
|
))
|
||||||
|
|
||||||
if old_ver == CURRENT_PREFIX_VERSION:
|
if old_ver == CURRENT_PREFIX_VERSION:
|
||||||
@ -556,7 +657,6 @@ class CompatData:
|
|||||||
dxvkfiles = ["dxvk_config", "d3d11", "d3d10", "d3d10core", "d3d10_1", "d3d9"]
|
dxvkfiles = ["dxvk_config", "d3d11", "d3d10", "d3d10core", "d3d10_1", "d3d9"]
|
||||||
wined3dfiles = []
|
wined3dfiles = []
|
||||||
|
|
||||||
#if the user asked for dxvk's dxgi (dxgi=n), then copy it into place
|
|
||||||
if use_dxvk_dxgi:
|
if use_dxvk_dxgi:
|
||||||
dxvkfiles.append("dxgi")
|
dxvkfiles.append("dxgi")
|
||||||
else:
|
else:
|
||||||
@ -575,6 +675,31 @@ class CompatData:
|
|||||||
self.prefix_dir + "drive_c/windows/syswow64/" + f + ".dll")
|
self.prefix_dir + "drive_c/windows/syswow64/" + f + ".dll")
|
||||||
g_session.dlloverrides[f] = "n"
|
g_session.dlloverrides[f] = "n"
|
||||||
|
|
||||||
|
# If the user requested the NVAPI be available, copy it into place.
|
||||||
|
# If they didn't, clean up any stray nvapi DLLs.
|
||||||
|
if use_nvapi:
|
||||||
|
try_copy(g_proton.lib64_dir + "wine/nvapi/nvapi64.dll",
|
||||||
|
self.prefix_dir + "drive_c/windows/system32/nvapi64.dll")
|
||||||
|
try_copy(g_proton.lib_dir + "wine/nvapi/nvapi.dll",
|
||||||
|
self.prefix_dir + "drive_c/windows/syswow64/nvapi.dll")
|
||||||
|
g_session.dlloverrides["nvapi64"] = "n"
|
||||||
|
g_session.dlloverrides["nvapi"] = "n"
|
||||||
|
else:
|
||||||
|
nvapi64_dll = self.prefix_dir + "drive_c/windows/system32/nvapi64.dll"
|
||||||
|
nvapi32_dll = self.prefix_dir + "drive_c/windows/syswow64/nvapi.dll"
|
||||||
|
if os.path.exists(nvapi64_dll):
|
||||||
|
os.unlink(nvapi64_dll)
|
||||||
|
if os.path.exists(nvapi32_dll):
|
||||||
|
os.unlink(nvapi32_dll)
|
||||||
|
|
||||||
|
# Try to detect known DLLs that ship with the NVIDIA Linux Driver
|
||||||
|
# and add them into the prefix
|
||||||
|
nvidia_wine_dll_dir = find_nvidia_wine_dll_dir()
|
||||||
|
if nvidia_wine_dll_dir:
|
||||||
|
for dll in ["_nvngx.dll", "nvngx.dll"]:
|
||||||
|
try_copy(nvidia_wine_dll_dir + "/" + dll,
|
||||||
|
self.prefix_dir + "drive_c/windows/system32/" + dll)
|
||||||
|
|
||||||
try_copy(g_proton.lib64_dir + "wine/vkd3d-proton/d3d12.dll",
|
try_copy(g_proton.lib64_dir + "wine/vkd3d-proton/d3d12.dll",
|
||||||
self.prefix_dir + "drive_c/windows/system32/d3d12.dll")
|
self.prefix_dir + "drive_c/windows/system32/d3d12.dll")
|
||||||
try_copy(g_proton.lib_dir + "wine/vkd3d-proton/d3d12.dll",
|
try_copy(g_proton.lib_dir + "wine/vkd3d-proton/d3d12.dll",
|
||||||
@ -740,6 +865,7 @@ class Session:
|
|||||||
self.check_environment("PROTON_SET_GAME_DRIVE", "gamedrive")
|
self.check_environment("PROTON_SET_GAME_DRIVE", "gamedrive")
|
||||||
self.check_environment("PROTON_NO_XIM", "noxim")
|
self.check_environment("PROTON_NO_XIM", "noxim")
|
||||||
self.check_environment("PROTON_HEAP_DELAY_FREE", "heapdelayfree")
|
self.check_environment("PROTON_HEAP_DELAY_FREE", "heapdelayfree")
|
||||||
|
self.check_environment("PROTON_ENABLE_NVAPI", "enablenvapi")
|
||||||
|
|
||||||
if "noesync" in self.compat_config:
|
if "noesync" in self.compat_config:
|
||||||
self.env.pop("WINEESYNC", "")
|
self.env.pop("WINEESYNC", "")
|
||||||
@ -779,6 +905,9 @@ class Session:
|
|||||||
if "hidenvgpu" in self.compat_config:
|
if "hidenvgpu" in self.compat_config:
|
||||||
self.env["WINE_HIDE_NVIDIA_GPU"] = "1"
|
self.env["WINE_HIDE_NVIDIA_GPU"] = "1"
|
||||||
|
|
||||||
|
if "PROTON_CRASH_REPORT_DIR" in self.env:
|
||||||
|
self.env["WINE_CRASH_REPORT_DIR"] = self.env["PROTON_CRASH_REPORT_DIR"]
|
||||||
|
|
||||||
if "SteamGameId" in self.env:
|
if "SteamGameId" in self.env:
|
||||||
if self.env["WINEDEBUG"] != "-all":
|
if self.env["WINEDEBUG"] != "-all":
|
||||||
basedir = self.env.get("PROTON_LOG_DIR", os.environ["HOME"])
|
basedir = self.env.get("PROTON_LOG_DIR", os.environ["HOME"])
|
||||||
@ -967,8 +1096,8 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
g_proton = Proton(os.path.dirname(sys.argv[0]))
|
g_proton = Proton(os.path.dirname(sys.argv[0]))
|
||||||
|
|
||||||
if g_proton.need_tarball_extraction():
|
g_proton.cleanup_legacy_dist()
|
||||||
g_proton.extract_tarball()
|
g_proton.do_steampipe_fixups()
|
||||||
|
|
||||||
g_compatdata = CompatData(os.environ["STEAM_COMPAT_DATA_PATH"])
|
g_compatdata = CompatData(os.environ["STEAM_COMPAT_DATA_PATH"])
|
||||||
|
|
||||||
|
116
steampipe_fixups.py
Executable file
116
steampipe_fixups.py
Executable file
@ -0,0 +1,116 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
#Steampipe doesn't support certain unix-y things which may be required by
|
||||||
|
#native Linux applications. This file will process a directory of Linux files
|
||||||
|
#and store the file properties into a manifest file. After a round trip through
|
||||||
|
#Steampipe, the original file properties can be restored using this same
|
||||||
|
#script.
|
||||||
|
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import secrets
|
||||||
|
import stat
|
||||||
|
|
||||||
|
DEFAULT_MANIFEST_NAME = "steampipe_fixups.json"
|
||||||
|
|
||||||
|
def usage():
|
||||||
|
print("Usage:")
|
||||||
|
print("\t" + sys.argv[0] + "\tprepare\t<path to directory to process>\t[manifest output file]")
|
||||||
|
print("\t\tProcess the given path and output the manifest file to the given path, or <path/" + DEFAULT_MANIFEST_NAME + "> if unspecified.")
|
||||||
|
print("")
|
||||||
|
print("\t" + sys.argv[0] + "\trestore\t<path to directory to process>\t[manifest file]")
|
||||||
|
print("\t\tRestore the given path using the manifest file, or <path/" + DEFAULT_MANIFEST_NAME + "> if unspecified.")
|
||||||
|
|
||||||
|
empty_dirs = []
|
||||||
|
no_write_paths = []
|
||||||
|
|
||||||
|
def canonicalize(path, prefix):
|
||||||
|
return path.replace(prefix, "", 1).lstrip('/')
|
||||||
|
|
||||||
|
def process_dir(path):
|
||||||
|
for root, subdirs, files in os.walk(path):
|
||||||
|
if len(subdirs) == 0 and len(files) == 0:
|
||||||
|
empty_dirs.append(canonicalize(root, path))
|
||||||
|
|
||||||
|
for file_ in files:
|
||||||
|
this_file = os.path.join(root, file_)
|
||||||
|
stat_result = os.lstat(this_file)
|
||||||
|
if (stat_result.st_mode & stat.S_IWUSR) == 0:
|
||||||
|
no_write_paths.append(canonicalize(this_file, path))
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def write_manifest(manifest):
|
||||||
|
out = open(manifest, "w")
|
||||||
|
json.dump(
|
||||||
|
{
|
||||||
|
"id": str(secrets.randbits(32)), #we need steampipe to update this file for every build
|
||||||
|
"empty_dirs": empty_dirs,
|
||||||
|
"no_write_paths": no_write_paths,
|
||||||
|
},
|
||||||
|
out,
|
||||||
|
indent = 4,
|
||||||
|
sort_keys = True
|
||||||
|
)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def do_process(path, manifest):
|
||||||
|
if os.path.exists(manifest):
|
||||||
|
os.remove(manifest)
|
||||||
|
|
||||||
|
ret = process_dir(path)
|
||||||
|
if ret != 0:
|
||||||
|
return ret
|
||||||
|
|
||||||
|
#output should be deterministic
|
||||||
|
empty_dirs.sort()
|
||||||
|
no_write_paths.sort()
|
||||||
|
|
||||||
|
ret = write_manifest(manifest)
|
||||||
|
if ret != 0:
|
||||||
|
return ret
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def do_restore(path, manifest):
|
||||||
|
loaded = json.load(open(manifest, "r"))
|
||||||
|
|
||||||
|
empty_dirs = loaded["empty_dirs"]
|
||||||
|
no_write_paths = loaded["no_write_paths"]
|
||||||
|
|
||||||
|
for empty_dir in empty_dirs:
|
||||||
|
try:
|
||||||
|
os.makedirs(os.path.join(path, empty_dir))
|
||||||
|
except OSError:
|
||||||
|
#already exists
|
||||||
|
pass
|
||||||
|
|
||||||
|
for file_ in no_write_paths:
|
||||||
|
this_file = os.path.join(path, file_)
|
||||||
|
stat_result = os.lstat(this_file)
|
||||||
|
os.chmod(this_file,
|
||||||
|
stat_result.st_mode & ~(stat.S_IWUSR | stat.S_IWGRP | stat.S_IWOTH))
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import sys
|
||||||
|
if len(sys.argv) < 3 or len(sys.argv) > 4:
|
||||||
|
usage()
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
verb = sys.argv[1]
|
||||||
|
path = sys.argv[2]
|
||||||
|
if len(sys.argv) >= 4:
|
||||||
|
manifest = sys.argv[3]
|
||||||
|
else:
|
||||||
|
manifest = os.path.join(path, DEFAULT_MANIFEST_NAME)
|
||||||
|
|
||||||
|
if verb == "process":
|
||||||
|
sys.exit(do_process(path, manifest))
|
||||||
|
|
||||||
|
if verb == "restore":
|
||||||
|
sys.exit(do_restore(path, manifest))
|
||||||
|
|
||||||
|
usage()
|
||||||
|
sys.exit(1)
|
@ -1 +1 @@
|
|||||||
Subproject commit 3ed3526332f53d7d35cf1b685fa8096b01f26ff0
|
Subproject commit ec5b4ccecf799e7593dd3c6e8b13dc4f04e77228
|
2
wine
2
wine
@ -1 +1 @@
|
|||||||
Subproject commit f94b0f7590d43bb3e6aefcc6e16cf69bffc25122
|
Subproject commit 5b82ac53192d32fe28516abf4161d2174817b164
|
@ -3,7 +3,7 @@
|
|||||||
* This file is generated from OpenXR xr.xml file covered
|
* This file is generated from OpenXR xr.xml file covered
|
||||||
* by the following copyright and permission notice:
|
* by the following copyright and permission notice:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2017-2020 The Khronos Group Inc.
|
* Copyright (c) 2017-2021, The Khronos Group Inc.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
@ -386,6 +386,12 @@ static XrResult WINAPI wine_xrSetColorSpaceFB(XrSession session, const XrColorSp
|
|||||||
return ((wine_XrSession *)session)->wine_instance->funcs.p_xrSetColorSpaceFB(((wine_XrSession *)session)->session, colorspace);
|
return ((wine_XrSession *)session)->wine_instance->funcs.p_xrSetColorSpaceFB(((wine_XrSession *)session)->session, colorspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static XrResult WINAPI wine_xrSetEnvironmentDepthEstimationVARJO(XrSession session, XrBool32 enabled)
|
||||||
|
{
|
||||||
|
WINE_TRACE("%p, %u\n", session, enabled);
|
||||||
|
return ((wine_XrSession *)session)->wine_instance->funcs.p_xrSetEnvironmentDepthEstimationVARJO(((wine_XrSession *)session)->session, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
static XrResult WINAPI wine_xrSetInputDeviceActiveEXT(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive)
|
static XrResult WINAPI wine_xrSetInputDeviceActiveEXT(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive)
|
||||||
{
|
{
|
||||||
WINE_TRACE("%p, 0x%s, 0x%s, %u\n", session, wine_dbgstr_longlong(interactionProfile), wine_dbgstr_longlong(topLevelPath), isActive);
|
WINE_TRACE("%p, 0x%s, 0x%s, %u\n", session, wine_dbgstr_longlong(interactionProfile), wine_dbgstr_longlong(topLevelPath), isActive);
|
||||||
@ -552,6 +558,7 @@ static const struct openxr_func xr_dispatch_table[] =
|
|||||||
{"xrRequestExitSession", &wine_xrRequestExitSession},
|
{"xrRequestExitSession", &wine_xrRequestExitSession},
|
||||||
{"xrResultToString", &wine_xrResultToString},
|
{"xrResultToString", &wine_xrResultToString},
|
||||||
{"xrSetColorSpaceFB", &wine_xrSetColorSpaceFB},
|
{"xrSetColorSpaceFB", &wine_xrSetColorSpaceFB},
|
||||||
|
{"xrSetEnvironmentDepthEstimationVARJO", &wine_xrSetEnvironmentDepthEstimationVARJO},
|
||||||
{"xrSetInputDeviceActiveEXT", &wine_xrSetInputDeviceActiveEXT},
|
{"xrSetInputDeviceActiveEXT", &wine_xrSetInputDeviceActiveEXT},
|
||||||
{"xrSetInputDeviceLocationEXT", &wine_xrSetInputDeviceLocationEXT},
|
{"xrSetInputDeviceLocationEXT", &wine_xrSetInputDeviceLocationEXT},
|
||||||
{"xrSetInputDeviceStateBoolEXT", &wine_xrSetInputDeviceStateBoolEXT},
|
{"xrSetInputDeviceStateBoolEXT", &wine_xrSetInputDeviceStateBoolEXT},
|
||||||
@ -627,6 +634,9 @@ static const char * const xr_extensions[] =
|
|||||||
"XR_MSFT_unbounded_reference_space",
|
"XR_MSFT_unbounded_reference_space",
|
||||||
"XR_OCULUS_android_session_state_enable",
|
"XR_OCULUS_android_session_state_enable",
|
||||||
"XR_VALVE_analog_threshold",
|
"XR_VALVE_analog_threshold",
|
||||||
|
"XR_VARJO_composition_layer_depth_test",
|
||||||
|
"XR_VARJO_environment_depth_estimation",
|
||||||
|
"XR_VARJO_foveated_rendering",
|
||||||
"XR_VARJO_quad_views",
|
"XR_VARJO_quad_views",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* This file is generated from OpenXR xr.xml file covered
|
* This file is generated from OpenXR xr.xml file covered
|
||||||
* by the following copyright and permission notice:
|
* by the following copyright and permission notice:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2017-2020 The Khronos Group Inc.
|
* Copyright (c) 2017-2021, The Khronos Group Inc.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
@ -134,6 +134,7 @@ struct openxr_instance_funcs
|
|||||||
XrResult (*p_xrRequestExitSession)(XrSession);
|
XrResult (*p_xrRequestExitSession)(XrSession);
|
||||||
XrResult (*p_xrResultToString)(XrInstance, XrResult, char[]);
|
XrResult (*p_xrResultToString)(XrInstance, XrResult, char[]);
|
||||||
XrResult (*p_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB);
|
XrResult (*p_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB);
|
||||||
|
XrResult (*p_xrSetEnvironmentDepthEstimationVARJO)(XrSession, XrBool32);
|
||||||
XrResult (*p_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32);
|
XrResult (*p_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32);
|
||||||
XrResult (*p_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef);
|
XrResult (*p_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef);
|
||||||
XrResult (*p_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32);
|
XrResult (*p_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32);
|
||||||
@ -223,6 +224,7 @@ struct openxr_instance_funcs
|
|||||||
USE_XR_FUNC(xrRequestExitSession) \
|
USE_XR_FUNC(xrRequestExitSession) \
|
||||||
USE_XR_FUNC(xrResultToString) \
|
USE_XR_FUNC(xrResultToString) \
|
||||||
USE_XR_FUNC(xrSetColorSpaceFB) \
|
USE_XR_FUNC(xrSetColorSpaceFB) \
|
||||||
|
USE_XR_FUNC(xrSetEnvironmentDepthEstimationVARJO) \
|
||||||
USE_XR_FUNC(xrSetInputDeviceActiveEXT) \
|
USE_XR_FUNC(xrSetInputDeviceActiveEXT) \
|
||||||
USE_XR_FUNC(xrSetInputDeviceLocationEXT) \
|
USE_XR_FUNC(xrSetInputDeviceLocationEXT) \
|
||||||
USE_XR_FUNC(xrSetInputDeviceStateBoolEXT) \
|
USE_XR_FUNC(xrSetInputDeviceStateBoolEXT) \
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* This file is generated from OpenXR xr.xml file covered
|
* This file is generated from OpenXR xr.xml file covered
|
||||||
* by the following copyright and permission notice:
|
* by the following copyright and permission notice:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2017-2020 The Khronos Group Inc.
|
* Copyright (c) 2017-2021, The Khronos Group Inc.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
*
|
*
|
||||||
@ -65,9 +65,9 @@
|
|||||||
#define XR_KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME "XR_KHR_composition_layer_cube"
|
#define XR_KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME "XR_KHR_composition_layer_cube"
|
||||||
#define XR_KHR_composition_layer_depth_SPEC_VERSION 5
|
#define XR_KHR_composition_layer_depth_SPEC_VERSION 5
|
||||||
#define XR_KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME "XR_KHR_composition_layer_depth"
|
#define XR_KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME "XR_KHR_composition_layer_depth"
|
||||||
#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 3
|
#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 4
|
||||||
#define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list"
|
#define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list"
|
||||||
#define XR_EXT_performance_settings_SPEC_VERSION 1
|
#define XR_EXT_performance_settings_SPEC_VERSION 2
|
||||||
#define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings"
|
#define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings"
|
||||||
#define XR_EXT_thermal_query_SPEC_VERSION 1
|
#define XR_EXT_thermal_query_SPEC_VERSION 1
|
||||||
#define XR_EXT_THERMAL_QUERY_EXTENSION_NAME "XR_EXT_thermal_query"
|
#define XR_EXT_THERMAL_QUERY_EXTENSION_NAME "XR_EXT_thermal_query"
|
||||||
@ -77,7 +77,7 @@
|
|||||||
#define XR_KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME "XR_KHR_composition_layer_equirect"
|
#define XR_KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME "XR_KHR_composition_layer_equirect"
|
||||||
#define XR_KHR_opengl_enable_SPEC_VERSION 9
|
#define XR_KHR_opengl_enable_SPEC_VERSION 9
|
||||||
#define XR_KHR_OPENGL_ENABLE_EXTENSION_NAME "XR_KHR_opengl_enable"
|
#define XR_KHR_OPENGL_ENABLE_EXTENSION_NAME "XR_KHR_opengl_enable"
|
||||||
#define XR_KHR_vulkan_enable_SPEC_VERSION 7
|
#define XR_KHR_vulkan_enable_SPEC_VERSION 8
|
||||||
#define XR_KHR_VULKAN_ENABLE_EXTENSION_NAME "XR_KHR_vulkan_enable"
|
#define XR_KHR_VULKAN_ENABLE_EXTENSION_NAME "XR_KHR_vulkan_enable"
|
||||||
#define XR_KHR_D3D11_enable_SPEC_VERSION 5
|
#define XR_KHR_D3D11_enable_SPEC_VERSION 5
|
||||||
#define XR_KHR_D3D11_ENABLE_EXTENSION_NAME "XR_KHR_D3D11_enable"
|
#define XR_KHR_D3D11_ENABLE_EXTENSION_NAME "XR_KHR_D3D11_enable"
|
||||||
@ -87,7 +87,7 @@
|
|||||||
#define XR_EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME "XR_EXT_eye_gaze_interaction"
|
#define XR_EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME "XR_EXT_eye_gaze_interaction"
|
||||||
#define XR_KHR_visibility_mask_SPEC_VERSION 2
|
#define XR_KHR_visibility_mask_SPEC_VERSION 2
|
||||||
#define XR_KHR_VISIBILITY_MASK_EXTENSION_NAME "XR_KHR_visibility_mask"
|
#define XR_KHR_VISIBILITY_MASK_EXTENSION_NAME "XR_KHR_visibility_mask"
|
||||||
#define XR_EXTX_overlay_SPEC_VERSION 4
|
#define XR_EXTX_overlay_SPEC_VERSION 5
|
||||||
#define XR_EXTX_OVERLAY_EXTENSION_NAME "XR_EXTX_overlay"
|
#define XR_EXTX_OVERLAY_EXTENSION_NAME "XR_EXTX_overlay"
|
||||||
#define XR_KHR_composition_layer_color_scale_bias_SPEC_VERSION 5
|
#define XR_KHR_composition_layer_color_scale_bias_SPEC_VERSION 5
|
||||||
#define XR_KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME "XR_KHR_composition_layer_color_scale_bias"
|
#define XR_KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME "XR_KHR_composition_layer_color_scale_bias"
|
||||||
@ -105,15 +105,15 @@
|
|||||||
#define XR_OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME "XR_OCULUS_android_session_state_enable"
|
#define XR_OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME "XR_OCULUS_android_session_state_enable"
|
||||||
#define XR_EXT_view_configuration_depth_range_SPEC_VERSION 1
|
#define XR_EXT_view_configuration_depth_range_SPEC_VERSION 1
|
||||||
#define XR_EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME "XR_EXT_view_configuration_depth_range"
|
#define XR_EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME "XR_EXT_view_configuration_depth_range"
|
||||||
#define XR_EXT_conformance_automation_SPEC_VERSION 1
|
#define XR_EXT_conformance_automation_SPEC_VERSION 2
|
||||||
#define XR_EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME "XR_EXT_conformance_automation"
|
#define XR_EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME "XR_EXT_conformance_automation"
|
||||||
#define XR_MSFT_spatial_graph_bridge_SPEC_VERSION 1
|
#define XR_MSFT_spatial_graph_bridge_SPEC_VERSION 1
|
||||||
#define XR_MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME "XR_MSFT_spatial_graph_bridge"
|
#define XR_MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME "XR_MSFT_spatial_graph_bridge"
|
||||||
#define XR_MSFT_hand_interaction_SPEC_VERSION 1
|
#define XR_MSFT_hand_interaction_SPEC_VERSION 1
|
||||||
#define XR_MSFT_HAND_INTERACTION_EXTENSION_NAME "XR_MSFT_hand_interaction"
|
#define XR_MSFT_HAND_INTERACTION_EXTENSION_NAME "XR_MSFT_hand_interaction"
|
||||||
#define XR_EXT_hand_tracking_SPEC_VERSION 2
|
#define XR_EXT_hand_tracking_SPEC_VERSION 3
|
||||||
#define XR_EXT_HAND_TRACKING_EXTENSION_NAME "XR_EXT_hand_tracking"
|
#define XR_EXT_HAND_TRACKING_EXTENSION_NAME "XR_EXT_hand_tracking"
|
||||||
#define XR_MSFT_hand_tracking_mesh_SPEC_VERSION 2
|
#define XR_MSFT_hand_tracking_mesh_SPEC_VERSION 3
|
||||||
#define XR_MSFT_HAND_TRACKING_MESH_EXTENSION_NAME "XR_MSFT_hand_tracking_mesh"
|
#define XR_MSFT_HAND_TRACKING_MESH_EXTENSION_NAME "XR_MSFT_hand_tracking_mesh"
|
||||||
#define XR_MSFT_secondary_view_configuration_SPEC_VERSION 1
|
#define XR_MSFT_secondary_view_configuration_SPEC_VERSION 1
|
||||||
#define XR_MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME "XR_MSFT_secondary_view_configuration"
|
#define XR_MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME "XR_MSFT_secondary_view_configuration"
|
||||||
@ -132,7 +132,7 @@
|
|||||||
#define XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HUAWEI_controller_interaction"
|
#define XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HUAWEI_controller_interaction"
|
||||||
#define XR_VALVE_analog_threshold_SPEC_VERSION 1
|
#define XR_VALVE_analog_threshold_SPEC_VERSION 1
|
||||||
#define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold"
|
#define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold"
|
||||||
#define XR_KHR_vulkan_enable2_SPEC_VERSION 1
|
#define XR_KHR_vulkan_enable2_SPEC_VERSION 2
|
||||||
#define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2"
|
#define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2"
|
||||||
#define XR_KHR_composition_layer_equirect2_SPEC_VERSION 1
|
#define XR_KHR_composition_layer_equirect2_SPEC_VERSION 1
|
||||||
#define XR_KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME "XR_KHR_composition_layer_equirect2"
|
#define XR_KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME "XR_KHR_composition_layer_equirect2"
|
||||||
@ -150,6 +150,12 @@
|
|||||||
#define XR_FB_COLOR_SPACE_EXTENSION_NAME "XR_FB_color_space"
|
#define XR_FB_COLOR_SPACE_EXTENSION_NAME "XR_FB_color_space"
|
||||||
#define XR_KHR_binding_modification_SPEC_VERSION 1
|
#define XR_KHR_binding_modification_SPEC_VERSION 1
|
||||||
#define XR_KHR_BINDING_MODIFICATION_EXTENSION_NAME "XR_KHR_binding_modification"
|
#define XR_KHR_BINDING_MODIFICATION_EXTENSION_NAME "XR_KHR_binding_modification"
|
||||||
|
#define XR_VARJO_foveated_rendering_SPEC_VERSION 1
|
||||||
|
#define XR_VARJO_FOVEATED_RENDERING_EXTENSION_NAME "XR_VARJO_foveated_rendering"
|
||||||
|
#define XR_VARJO_composition_layer_depth_test_SPEC_VERSION 1
|
||||||
|
#define XR_VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME "XR_VARJO_composition_layer_depth_test"
|
||||||
|
#define XR_VARJO_environment_depth_estimation_SPEC_VERSION 1
|
||||||
|
#define XR_VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME "XR_VARJO_environment_depth_estimation"
|
||||||
|
|
||||||
|
|
||||||
#define XR_MAKE_VERSION(major, minor, patch) \
|
#define XR_MAKE_VERSION(major, minor, patch) \
|
||||||
@ -162,7 +168,7 @@
|
|||||||
#define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL)
|
#define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL)
|
||||||
|
|
||||||
|
|
||||||
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 13)
|
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 15)
|
||||||
|
|
||||||
|
|
||||||
#if !defined(XR_MAY_ALIAS)
|
#if !defined(XR_MAY_ALIAS)
|
||||||
@ -252,6 +258,7 @@ XR_DEFINE_ATOM(XrSystemId)
|
|||||||
typedef int64_t XrTime;
|
typedef int64_t XrTime;
|
||||||
typedef uint64_t XrVersion;
|
typedef uint64_t XrVersion;
|
||||||
|
|
||||||
|
typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB;
|
||||||
typedef XrFlags64 XrCompositionLayerFlags;
|
typedef XrFlags64 XrCompositionLayerFlags;
|
||||||
typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
|
typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
|
||||||
typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT;
|
typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT;
|
||||||
@ -417,6 +424,7 @@ typedef enum XrReferenceSpaceType
|
|||||||
XR_REFERENCE_SPACE_TYPE_LOCAL = 2,
|
XR_REFERENCE_SPACE_TYPE_LOCAL = 2,
|
||||||
XR_REFERENCE_SPACE_TYPE_STAGE = 3,
|
XR_REFERENCE_SPACE_TYPE_STAGE = 3,
|
||||||
XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT = 1000038000,
|
XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT = 1000038000,
|
||||||
|
XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO = 1000121000,
|
||||||
XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7fffffff,
|
XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7fffffff,
|
||||||
} XrReferenceSpaceType;
|
} XrReferenceSpaceType;
|
||||||
|
|
||||||
@ -620,6 +628,10 @@ typedef enum XrStructureType
|
|||||||
XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000,
|
XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000,
|
||||||
XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000,
|
XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000,
|
||||||
XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000,
|
XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000,
|
||||||
|
XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO = 1000121000,
|
||||||
|
XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO = 1000121001,
|
||||||
|
XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO = 1000121002,
|
||||||
|
XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO = 1000122000,
|
||||||
XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR,
|
XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR,
|
||||||
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR,
|
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR,
|
||||||
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR,
|
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR,
|
||||||
@ -652,6 +664,7 @@ typedef struct XrApplicationInfo XrApplicationInfo;
|
|||||||
typedef struct XrBaseOutStructure XrBaseOutStructure;
|
typedef struct XrBaseOutStructure XrBaseOutStructure;
|
||||||
typedef struct XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo;
|
typedef struct XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo;
|
||||||
typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader;
|
typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader;
|
||||||
|
typedef struct XrCompositionLayerDepthTestVARJO XrCompositionLayerDepthTestVARJO;
|
||||||
typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT;
|
typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT;
|
||||||
typedef struct XrDebugUtilsLabelEXT XrDebugUtilsLabelEXT;
|
typedef struct XrDebugUtilsLabelEXT XrDebugUtilsLabelEXT;
|
||||||
typedef struct XrEventDataBaseHeader XrEventDataBaseHeader;
|
typedef struct XrEventDataBaseHeader XrEventDataBaseHeader;
|
||||||
@ -661,17 +674,11 @@ typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessio
|
|||||||
typedef struct XrEventDataSessionStateChanged XrEventDataSessionStateChanged;
|
typedef struct XrEventDataSessionStateChanged XrEventDataSessionStateChanged;
|
||||||
typedef struct XrExtensionProperties XrExtensionProperties;
|
typedef struct XrExtensionProperties XrExtensionProperties;
|
||||||
typedef struct XrExtent2Di XrExtent2Di;
|
typedef struct XrExtent2Di XrExtent2Di;
|
||||||
typedef struct XrFovf XrFovf;
|
typedef struct XrFoveatedViewConfigurationViewVARJO XrFoveatedViewConfigurationViewVARJO;
|
||||||
typedef struct XrFrameEndInfo XrFrameEndInfo;
|
typedef struct XrFrameBeginInfo XrFrameBeginInfo;
|
||||||
typedef struct XrFrameWaitInfo XrFrameWaitInfo;
|
typedef struct XrFrameState XrFrameState;
|
||||||
typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR;
|
typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR;
|
||||||
typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR;
|
typedef struct XrGraphicsRequirementsD3D11KHR XrGraphicsRequirementsD3D11KHR;
|
||||||
typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR;
|
|
||||||
typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR;
|
|
||||||
typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR;
|
|
||||||
typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR;
|
|
||||||
typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR;
|
|
||||||
typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR;
|
|
||||||
typedef struct XrHandJointsLocateInfoEXT XrHandJointsLocateInfoEXT;
|
typedef struct XrHandJointsLocateInfoEXT XrHandJointsLocateInfoEXT;
|
||||||
typedef struct XrHandMeshUpdateInfoMSFT XrHandMeshUpdateInfoMSFT;
|
typedef struct XrHandMeshUpdateInfoMSFT XrHandMeshUpdateInfoMSFT;
|
||||||
typedef struct XrHandPoseTypeInfoMSFT XrHandPoseTypeInfoMSFT;
|
typedef struct XrHandPoseTypeInfoMSFT XrHandPoseTypeInfoMSFT;
|
||||||
@ -691,13 +698,15 @@ typedef struct XrSwapchainImageD3D12KHR XrSwapchainImageD3D12KHR;
|
|||||||
typedef struct XrSwapchainImageOpenGLKHR XrSwapchainImageOpenGLKHR;
|
typedef struct XrSwapchainImageOpenGLKHR XrSwapchainImageOpenGLKHR;
|
||||||
typedef struct XrSwapchainImageWaitInfo XrSwapchainImageWaitInfo;
|
typedef struct XrSwapchainImageWaitInfo XrSwapchainImageWaitInfo;
|
||||||
typedef struct XrSystemColorSpacePropertiesFB XrSystemColorSpacePropertiesFB;
|
typedef struct XrSystemColorSpacePropertiesFB XrSystemColorSpacePropertiesFB;
|
||||||
typedef struct XrSystemGetInfo XrSystemGetInfo;
|
typedef struct XrSystemFoveatedRenderingPropertiesVARJO XrSystemFoveatedRenderingPropertiesVARJO;
|
||||||
typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT;
|
typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties;
|
||||||
|
typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT;
|
||||||
typedef struct XrSystemTrackingProperties XrSystemTrackingProperties;
|
typedef struct XrSystemTrackingProperties XrSystemTrackingProperties;
|
||||||
typedef struct XrVector3f XrVector3f;
|
typedef struct XrVector3f XrVector3f;
|
||||||
typedef struct XrViewConfigurationDepthRangeEXT XrViewConfigurationDepthRangeEXT;
|
typedef struct XrViewConfigurationDepthRangeEXT XrViewConfigurationDepthRangeEXT;
|
||||||
typedef struct XrViewConfigurationView XrViewConfigurationView;
|
typedef struct XrViewConfigurationView XrViewConfigurationView;
|
||||||
typedef struct XrViewLocateInfo XrViewLocateInfo;
|
typedef struct XrViewLocateFoveatedRenderingVARJO XrViewLocateFoveatedRenderingVARJO;
|
||||||
|
typedef struct XrViewState XrViewState;
|
||||||
typedef struct XrVulkanDeviceCreateInfoKHR XrVulkanDeviceCreateInfoKHR;
|
typedef struct XrVulkanDeviceCreateInfoKHR XrVulkanDeviceCreateInfoKHR;
|
||||||
typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR;
|
typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR;
|
||||||
typedef struct XrActionSetCreateInfo XrActionSetCreateInfo;
|
typedef struct XrActionSetCreateInfo XrActionSetCreateInfo;
|
||||||
@ -713,8 +722,11 @@ typedef struct XrEventDataEventsLost XrEventDataEventsLost;
|
|||||||
typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT;
|
typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT;
|
||||||
typedef struct XrEventDataVisibilityMaskChangedKHR XrEventDataVisibilityMaskChangedKHR;
|
typedef struct XrEventDataVisibilityMaskChangedKHR XrEventDataVisibilityMaskChangedKHR;
|
||||||
typedef struct XrEyeGazeSampleTimeEXT XrEyeGazeSampleTimeEXT;
|
typedef struct XrEyeGazeSampleTimeEXT XrEyeGazeSampleTimeEXT;
|
||||||
typedef struct XrFrameState XrFrameState;
|
typedef struct XrFrameEndInfo XrFrameEndInfo;
|
||||||
typedef struct XrGraphicsRequirementsD3D11KHR XrGraphicsRequirementsD3D11KHR;
|
typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR;
|
||||||
|
typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR;
|
||||||
|
typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR;
|
||||||
|
typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR;
|
||||||
typedef struct XrHandJointVelocityEXT XrHandJointVelocityEXT;
|
typedef struct XrHandJointVelocityEXT XrHandJointVelocityEXT;
|
||||||
typedef struct XrHandMeshVertexMSFT XrHandMeshVertexMSFT;
|
typedef struct XrHandMeshVertexMSFT XrHandMeshVertexMSFT;
|
||||||
typedef struct XrHapticBaseHeader XrHapticBaseHeader;
|
typedef struct XrHapticBaseHeader XrHapticBaseHeader;
|
||||||
@ -731,12 +743,11 @@ typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo;
|
|||||||
typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR;
|
typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR;
|
||||||
typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR;
|
typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR;
|
||||||
typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT;
|
typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT;
|
||||||
typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT;
|
typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT;
|
||||||
typedef struct XrVector2f XrVector2f;
|
typedef struct XrVector2f XrVector2f;
|
||||||
typedef struct XrView XrView;
|
typedef struct XrViewConfigurationProperties XrViewConfigurationProperties;
|
||||||
typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC;
|
typedef struct XrViewLocateInfo XrViewLocateInfo;
|
||||||
typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR;
|
typedef struct XrVulkanGraphicsDeviceGetInfoKHR XrVulkanGraphicsDeviceGetInfoKHR;
|
||||||
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR;
|
|
||||||
typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo;
|
typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo;
|
||||||
typedef struct XrActionStateVector2f XrActionStateVector2f;
|
typedef struct XrActionStateVector2f XrActionStateVector2f;
|
||||||
typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR;
|
typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR;
|
||||||
@ -745,7 +756,9 @@ typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT;
|
|||||||
typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT;
|
typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT;
|
||||||
typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged;
|
typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged;
|
||||||
typedef struct XrExtent2Df XrExtent2Df;
|
typedef struct XrExtent2Df XrExtent2Df;
|
||||||
typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR;
|
typedef struct XrFrameWaitInfo XrFrameWaitInfo;
|
||||||
|
typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR;
|
||||||
|
typedef struct XrHandJointLocationEXT XrHandJointLocationEXT;
|
||||||
typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT;
|
typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT;
|
||||||
typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT;
|
typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT;
|
||||||
typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT;
|
typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT;
|
||||||
@ -756,39 +769,42 @@ typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewC
|
|||||||
typedef struct XrSpaceLocation XrSpaceLocation;
|
typedef struct XrSpaceLocation XrSpaceLocation;
|
||||||
typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT;
|
typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT;
|
||||||
typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo;
|
typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo;
|
||||||
typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties;
|
typedef struct XrSystemGetInfo XrSystemGetInfo;
|
||||||
typedef struct XrVector4f XrVector4f;
|
typedef struct XrVector4f XrVector4f;
|
||||||
typedef struct XrViewState XrViewState;
|
typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR;
|
||||||
typedef struct XrActionStatePose XrActionStatePose;
|
typedef struct XrActionStatePose XrActionStatePose;
|
||||||
typedef struct XrBindingModificationsKHR XrBindingModificationsKHR;
|
typedef struct XrBindingModificationsKHR XrBindingModificationsKHR;
|
||||||
typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT;
|
typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT;
|
||||||
typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending;
|
typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending;
|
||||||
typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT;
|
typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR;
|
||||||
|
typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT;
|
||||||
typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT;
|
typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT;
|
||||||
typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding;
|
typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding;
|
||||||
typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT;
|
typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT;
|
||||||
typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT;
|
typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT;
|
||||||
typedef struct XrSwapchainSubImage XrSwapchainSubImage;
|
typedef struct XrSwapchainSubImage XrSwapchainSubImage;
|
||||||
typedef struct XrViewConfigurationProperties XrViewConfigurationProperties;
|
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR;
|
||||||
typedef struct XrApiLayerProperties XrApiLayerProperties;
|
typedef struct XrApiLayerProperties XrApiLayerProperties;
|
||||||
typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR;
|
typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR;
|
||||||
typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR;
|
typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR;
|
||||||
typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView;
|
|
||||||
typedef struct XrEventDataBuffer XrEventDataBuffer;
|
|
||||||
typedef struct XrHandJointLocationEXT XrHandJointLocationEXT;
|
|
||||||
typedef struct XrHandMeshMSFT XrHandMeshMSFT;
|
|
||||||
typedef struct XrRect2Df XrRect2Df;
|
|
||||||
typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR;
|
|
||||||
typedef struct XrVulkanGraphicsDeviceGetInfoKHR XrVulkanGraphicsDeviceGetInfoKHR;
|
|
||||||
typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR;
|
|
||||||
typedef struct XrCompositionLayerProjection XrCompositionLayerProjection;
|
|
||||||
typedef struct XrFrameBeginInfo XrFrameBeginInfo;
|
|
||||||
typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT;
|
|
||||||
typedef struct XrSystemProperties XrSystemProperties;
|
|
||||||
typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR;
|
|
||||||
typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT;
|
|
||||||
typedef struct XrCompositionLayerQuad XrCompositionLayerQuad;
|
typedef struct XrCompositionLayerQuad XrCompositionLayerQuad;
|
||||||
|
typedef struct XrFovf XrFovf;
|
||||||
|
typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT;
|
||||||
|
typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT;
|
||||||
typedef struct XrSessionBeginInfo XrSessionBeginInfo;
|
typedef struct XrSessionBeginInfo XrSessionBeginInfo;
|
||||||
|
typedef struct XrSystemProperties XrSystemProperties;
|
||||||
|
typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC;
|
||||||
|
typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR;
|
||||||
|
typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView;
|
||||||
|
typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR;
|
||||||
|
typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR;
|
||||||
|
typedef struct XrRect2Df XrRect2Df;
|
||||||
|
typedef struct XrView XrView;
|
||||||
|
typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR;
|
||||||
|
typedef struct XrEventDataBuffer XrEventDataBuffer;
|
||||||
|
typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR;
|
||||||
|
typedef struct XrCompositionLayerProjection XrCompositionLayerProjection;
|
||||||
|
typedef struct XrHandMeshMSFT XrHandMeshMSFT;
|
||||||
typedef XrBool32 (XRAPI_PTR * PFN_xrDebugUtilsMessengerCallbackEXT)(
|
typedef XrBool32 (XRAPI_PTR * PFN_xrDebugUtilsMessengerCallbackEXT)(
|
||||||
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
|
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
|
||||||
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
|
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
|
||||||
@ -868,6 +884,14 @@ struct XrCompositionLayerBaseHeader
|
|||||||
XrSpace space;
|
XrSpace space;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct XrCompositionLayerDepthTestVARJO
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
const void *next;
|
||||||
|
float depthTestRangeNearZ;
|
||||||
|
float depthTestRangeFarZ;
|
||||||
|
};
|
||||||
|
|
||||||
struct XrControllerModelKeyStateMSFT
|
struct XrControllerModelKeyStateMSFT
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
@ -934,58 +958,36 @@ struct XrExtent2Di
|
|||||||
int32_t height;
|
int32_t height;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrFovf
|
struct XrFoveatedViewConfigurationViewVARJO
|
||||||
{
|
|
||||||
float angleLeft;
|
|
||||||
float angleRight;
|
|
||||||
float angleUp;
|
|
||||||
float angleDown;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrFrameEndInfo
|
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
void *next;
|
||||||
XrTime displayTime;
|
XrBool32 foveatedRenderingActive;
|
||||||
XrEnvironmentBlendMode environmentBlendMode;
|
|
||||||
uint32_t layerCount;
|
|
||||||
const XrCompositionLayerBaseHeader * const*layers;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrFrameWaitInfo
|
struct XrFrameBeginInfo
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrGraphicsBindingD3D12KHR
|
struct XrFrameState
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
|
XrTime predictedDisplayTime;
|
||||||
|
XrDuration predictedDisplayPeriod;
|
||||||
|
XrBool32 shouldRender;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrGraphicsBindingD3D11KHR
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
ID3D12Device *device;
|
ID3D11Device *device;
|
||||||
ID3D12CommandQueue *queue;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrGraphicsBindingOpenGLWin32KHR
|
struct XrGraphicsRequirementsD3D11KHR
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
const void *next;
|
|
||||||
HDC hDC;
|
|
||||||
HGLRC hGLRC;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrGraphicsBindingVulkanKHR
|
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
const void *next;
|
|
||||||
VkInstance instance;
|
|
||||||
VkPhysicalDevice physicalDevice;
|
|
||||||
VkDevice device;
|
|
||||||
uint32_t queueFamilyIndex;
|
|
||||||
uint32_t queueIndex;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrGraphicsRequirementsD3D12KHR
|
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
@ -993,22 +995,6 @@ struct XrGraphicsRequirementsD3D12KHR
|
|||||||
D3D_FEATURE_LEVEL minFeatureLevel;
|
D3D_FEATURE_LEVEL minFeatureLevel;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrGraphicsRequirementsOpenGLKHR
|
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
void *next;
|
|
||||||
XrVersion minApiVersionSupported;
|
|
||||||
XrVersion maxApiVersionSupported;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrGraphicsRequirementsVulkanKHR
|
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
void *next;
|
|
||||||
XrVersion minApiVersionSupported;
|
|
||||||
XrVersion maxApiVersionSupported;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrHandJointsLocateInfoEXT
|
struct XrHandJointsLocateInfoEXT
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
@ -1161,20 +1147,25 @@ struct XrSystemColorSpacePropertiesFB
|
|||||||
XrColorSpaceFB colorSpace;
|
XrColorSpaceFB colorSpace;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrSystemGetInfo
|
struct XrSystemFoveatedRenderingPropertiesVARJO
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
const void *next;
|
|
||||||
XrFormFactor formFactor;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrSystemHandTrackingMeshPropertiesMSFT
|
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
XrBool32 supportsHandTrackingMesh;
|
XrBool32 supportsFoveatedRendering;
|
||||||
uint32_t maxHandMeshIndexCount;
|
};
|
||||||
uint32_t maxHandMeshVertexCount;
|
|
||||||
|
struct XrSystemGraphicsProperties
|
||||||
|
{
|
||||||
|
uint32_t maxSwapchainImageHeight;
|
||||||
|
uint32_t maxSwapchainImageWidth;
|
||||||
|
uint32_t maxLayerCount;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrSystemHandTrackingPropertiesEXT
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
|
XrBool32 supportsHandTracking;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrSystemTrackingProperties
|
struct XrSystemTrackingProperties
|
||||||
@ -1212,13 +1203,18 @@ struct XrViewConfigurationView
|
|||||||
uint32_t maxSwapchainSampleCount;
|
uint32_t maxSwapchainSampleCount;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrViewLocateInfo
|
struct XrViewLocateFoveatedRenderingVARJO
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
XrViewConfigurationType viewConfigurationType;
|
XrBool32 foveatedRenderingActive;
|
||||||
XrTime displayTime;
|
};
|
||||||
XrSpace space;
|
|
||||||
|
struct XrViewState
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
|
XrViewStateFlags viewStateFlags;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrVulkanDeviceCreateInfoKHR
|
struct XrVulkanDeviceCreateInfoKHR
|
||||||
@ -1356,21 +1352,41 @@ struct XrEyeGazeSampleTimeEXT
|
|||||||
XrTime time;
|
XrTime time;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrFrameState
|
struct XrFrameEndInfo
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
const void *next;
|
||||||
XrTime predictedDisplayTime;
|
XrTime displayTime;
|
||||||
XrDuration predictedDisplayPeriod;
|
XrEnvironmentBlendMode environmentBlendMode;
|
||||||
XrBool32 shouldRender;
|
uint32_t layerCount;
|
||||||
|
const XrCompositionLayerBaseHeader * const*layers;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrGraphicsRequirementsD3D11KHR
|
struct XrGraphicsBindingD3D12KHR
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
const void *next;
|
||||||
|
ID3D12Device *device;
|
||||||
|
ID3D12CommandQueue *queue;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrGraphicsBindingVulkanKHR
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
const void *next;
|
||||||
|
VkInstance instance;
|
||||||
|
VkPhysicalDevice physicalDevice;
|
||||||
|
VkDevice device;
|
||||||
|
uint32_t queueFamilyIndex;
|
||||||
|
uint32_t queueIndex;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrGraphicsRequirementsOpenGLKHR
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
LUID adapterLuid;
|
XrVersion minApiVersionSupported;
|
||||||
D3D_FEATURE_LEVEL minFeatureLevel;
|
XrVersion maxApiVersionSupported;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrHandJointVelocityEXT
|
struct XrHandJointVelocityEXT
|
||||||
@ -1490,11 +1506,13 @@ struct XrSystemEyeGazeInteractionPropertiesEXT
|
|||||||
XrBool32 supportsEyeGazeInteraction;
|
XrBool32 supportsEyeGazeInteraction;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrSystemHandTrackingPropertiesEXT
|
struct XrSystemHandTrackingMeshPropertiesMSFT
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
XrBool32 supportsHandTracking;
|
XrBool32 supportsHandTrackingMesh;
|
||||||
|
uint32_t maxHandMeshIndexCount;
|
||||||
|
uint32_t maxHandMeshVertexCount;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrVector2f
|
struct XrVector2f
|
||||||
@ -1503,40 +1521,29 @@ struct XrVector2f
|
|||||||
float y;
|
float y;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrView
|
struct XrViewConfigurationProperties
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
XrPosef pose;
|
XrViewConfigurationType viewConfigurationType;
|
||||||
XrFovf fov;
|
XrBool32 fovMutable;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrViewConfigurationViewFovEPIC
|
struct XrViewLocateInfo
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
XrFovf recommendedFov;
|
XrViewConfigurationType viewConfigurationType;
|
||||||
XrFovf maxMutableFov;
|
XrTime displayTime;
|
||||||
|
XrSpace space;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrVisibilityMaskKHR
|
struct XrVulkanGraphicsDeviceGetInfoKHR
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
void *next;
|
|
||||||
uint32_t vertexCapacityInput;
|
|
||||||
uint32_t vertexCountOutput;
|
|
||||||
XrVector2f *vertices;
|
|
||||||
uint32_t indexCapacityInput;
|
|
||||||
uint32_t indexCountOutput;
|
|
||||||
uint32_t *indices;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrVulkanSwapchainFormatListCreateInfoKHR
|
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
uint32_t viewFormatCount;
|
XrSystemId systemId;
|
||||||
const VkFormat *viewFormats;
|
VkInstance vulkanInstance;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrActionSpaceCreateInfo
|
struct XrActionSpaceCreateInfo
|
||||||
@ -1605,11 +1612,25 @@ struct XrExtent2Df
|
|||||||
float height;
|
float height;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrGraphicsBindingD3D11KHR
|
struct XrFrameWaitInfo
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
ID3D11Device *device;
|
};
|
||||||
|
|
||||||
|
struct XrGraphicsRequirementsD3D12KHR
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
|
LUID adapterLuid;
|
||||||
|
D3D_FEATURE_LEVEL minFeatureLevel;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrHandJointLocationEXT
|
||||||
|
{
|
||||||
|
XrSpaceLocationFlags locationFlags;
|
||||||
|
XrPosef pose;
|
||||||
|
float radius;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrHandJointVelocitiesEXT
|
struct XrHandJointVelocitiesEXT
|
||||||
@ -1687,11 +1708,11 @@ struct XrSwapchainImageReleaseInfo
|
|||||||
const void *next;
|
const void *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrSystemGraphicsProperties
|
struct XrSystemGetInfo
|
||||||
{
|
{
|
||||||
uint32_t maxSwapchainImageHeight;
|
XrStructureType type;
|
||||||
uint32_t maxSwapchainImageWidth;
|
const void *next;
|
||||||
uint32_t maxLayerCount;
|
XrFormFactor formFactor;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrVector4f
|
struct XrVector4f
|
||||||
@ -1702,11 +1723,16 @@ struct XrVector4f
|
|||||||
float w;
|
float w;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrViewState
|
struct XrVisibilityMaskKHR
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
XrViewStateFlags viewStateFlags;
|
uint32_t vertexCapacityInput;
|
||||||
|
uint32_t vertexCountOutput;
|
||||||
|
XrVector2f *vertices;
|
||||||
|
uint32_t indexCapacityInput;
|
||||||
|
uint32_t indexCountOutput;
|
||||||
|
uint32_t *indices;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrActionStatePose
|
struct XrActionStatePose
|
||||||
@ -1744,12 +1770,21 @@ struct XrEventDataReferenceSpaceChangePending
|
|||||||
XrPosef poseInPreviousSpace;
|
XrPosef poseInPreviousSpace;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrHandMeshIndexBufferMSFT
|
struct XrGraphicsBindingOpenGLWin32KHR
|
||||||
{
|
{
|
||||||
uint32_t indexBufferKey;
|
XrStructureType type;
|
||||||
uint32_t indexCapacityInput;
|
const void *next;
|
||||||
uint32_t indexCountOutput;
|
HDC hDC;
|
||||||
uint32_t *indices;
|
HGLRC hGLRC;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrHandJointLocationsEXT
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
|
XrBool32 isActive;
|
||||||
|
uint32_t jointCount;
|
||||||
|
XrHandJointLocationEXT *jointLocations;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrHandMeshVertexBufferMSFT
|
struct XrHandMeshVertexBufferMSFT
|
||||||
@ -1793,12 +1828,12 @@ struct XrSwapchainSubImage
|
|||||||
uint32_t imageArrayIndex;
|
uint32_t imageArrayIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrViewConfigurationProperties
|
struct XrVulkanSwapchainFormatListCreateInfoKHR
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
const void *next;
|
||||||
XrViewConfigurationType viewConfigurationType;
|
uint32_t viewFormatCount;
|
||||||
XrBool32 fovMutable;
|
const VkFormat *viewFormats;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrApiLayerProperties
|
struct XrApiLayerProperties
|
||||||
@ -1836,59 +1871,66 @@ struct XrCompositionLayerEquirectKHR
|
|||||||
XrVector2f bias;
|
XrVector2f bias;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrCompositionLayerProjectionView
|
struct XrCompositionLayerQuad
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
XrPosef pose;
|
XrCompositionLayerFlags layerFlags;
|
||||||
XrFovf fov;
|
XrSpace space;
|
||||||
|
XrEyeVisibility eyeVisibility;
|
||||||
XrSwapchainSubImage subImage;
|
XrSwapchainSubImage subImage;
|
||||||
};
|
|
||||||
|
|
||||||
struct XrEventDataBuffer
|
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
const void *next;
|
|
||||||
uint8_t varying[4000];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrHandJointLocationEXT
|
|
||||||
{
|
|
||||||
XrSpaceLocationFlags locationFlags;
|
|
||||||
XrPosef pose;
|
XrPosef pose;
|
||||||
float radius;
|
XrExtent2Df size;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrHandMeshMSFT
|
struct XrFovf
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
float angleLeft;
|
||||||
void *next;
|
float angleRight;
|
||||||
XrBool32 isActive;
|
float angleUp;
|
||||||
XrBool32 indexBufferChanged;
|
float angleDown;
|
||||||
XrBool32 vertexBufferChanged;
|
|
||||||
XrHandMeshIndexBufferMSFT indexBuffer;
|
|
||||||
XrHandMeshVertexBufferMSFT vertexBuffer;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrRect2Df
|
struct XrHandMeshIndexBufferMSFT
|
||||||
{
|
{
|
||||||
XrOffset2Df offset;
|
uint32_t indexBufferKey;
|
||||||
XrExtent2Df extent;
|
uint32_t indexCapacityInput;
|
||||||
|
uint32_t indexCountOutput;
|
||||||
|
uint32_t *indices;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrSwapchainImageD3D11KHR
|
struct XrHolographicWindowAttachmentMSFT
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
void *next;
|
|
||||||
ID3D11Texture2D *texture;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrVulkanGraphicsDeviceGetInfoKHR
|
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
|
IUnknown *holographicSpace;
|
||||||
|
IUnknown *coreWindow;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrSessionBeginInfo
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
const void *next;
|
||||||
|
XrViewConfigurationType primaryViewConfigurationType;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrSystemProperties
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
XrSystemId systemId;
|
XrSystemId systemId;
|
||||||
VkInstance vulkanInstance;
|
uint32_t vendorId;
|
||||||
|
char systemName[XR_MAX_SYSTEM_NAME_SIZE];
|
||||||
|
XrSystemGraphicsProperties graphicsProperties;
|
||||||
|
XrSystemTrackingProperties trackingProperties;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrViewConfigurationViewFovEPIC
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
const void *next;
|
||||||
|
XrFovf recommendedFov;
|
||||||
|
XrFovf maxMutableFov;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrCompositionLayerCylinderKHR
|
struct XrCompositionLayerCylinderKHR
|
||||||
@ -1905,39 +1947,35 @@ struct XrCompositionLayerCylinderKHR
|
|||||||
float aspectRatio;
|
float aspectRatio;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrCompositionLayerProjection
|
struct XrCompositionLayerProjectionView
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
XrCompositionLayerFlags layerFlags;
|
XrPosef pose;
|
||||||
XrSpace space;
|
XrFovf fov;
|
||||||
uint32_t viewCount;
|
XrSwapchainSubImage subImage;
|
||||||
const XrCompositionLayerProjectionView *views;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrFrameBeginInfo
|
struct XrGraphicsRequirementsVulkanKHR
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
const void *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrHolographicWindowAttachmentMSFT
|
|
||||||
{
|
|
||||||
XrStructureType type;
|
|
||||||
const void *next;
|
|
||||||
IUnknown *holographicSpace;
|
|
||||||
IUnknown *coreWindow;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct XrSystemProperties
|
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
XrSystemId systemId;
|
XrVersion minApiVersionSupported;
|
||||||
uint32_t vendorId;
|
XrVersion maxApiVersionSupported;
|
||||||
char systemName[XR_MAX_SYSTEM_NAME_SIZE];
|
};
|
||||||
XrSystemGraphicsProperties graphicsProperties;
|
|
||||||
XrSystemTrackingProperties trackingProperties;
|
struct XrRect2Df
|
||||||
|
{
|
||||||
|
XrOffset2Df offset;
|
||||||
|
XrExtent2Df extent;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrView
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
void *next;
|
||||||
|
XrPosef pose;
|
||||||
|
XrFovf fov;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrCompositionLayerEquirect2KHR
|
struct XrCompositionLayerEquirect2KHR
|
||||||
@ -1955,32 +1993,39 @@ struct XrCompositionLayerEquirect2KHR
|
|||||||
float lowerVerticalAngle;
|
float lowerVerticalAngle;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrHandJointLocationsEXT
|
struct XrEventDataBuffer
|
||||||
|
{
|
||||||
|
XrStructureType type;
|
||||||
|
const void *next;
|
||||||
|
uint8_t varying[4000];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct XrSwapchainImageD3D11KHR
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
void *next;
|
void *next;
|
||||||
XrBool32 isActive;
|
ID3D11Texture2D *texture;
|
||||||
uint32_t jointCount;
|
|
||||||
XrHandJointLocationEXT *jointLocations;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrCompositionLayerQuad
|
struct XrCompositionLayerProjection
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
const void *next;
|
||||||
XrCompositionLayerFlags layerFlags;
|
XrCompositionLayerFlags layerFlags;
|
||||||
XrSpace space;
|
XrSpace space;
|
||||||
XrEyeVisibility eyeVisibility;
|
uint32_t viewCount;
|
||||||
XrSwapchainSubImage subImage;
|
const XrCompositionLayerProjectionView *views;
|
||||||
XrPosef pose;
|
|
||||||
XrExtent2Df size;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct XrSessionBeginInfo
|
struct XrHandMeshMSFT
|
||||||
{
|
{
|
||||||
XrStructureType type;
|
XrStructureType type;
|
||||||
const void *next;
|
void *next;
|
||||||
XrViewConfigurationType primaryViewConfigurationType;
|
XrBool32 isActive;
|
||||||
|
XrBool32 indexBufferChanged;
|
||||||
|
XrBool32 vertexBufferChanged;
|
||||||
|
XrHandMeshIndexBufferMSFT indexBuffer;
|
||||||
|
XrHandMeshVertexBufferMSFT vertexBuffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef XrResult (XRAPI_PTR *PFN_xrAcquireSwapchainImage)(XrSwapchain, const XrSwapchainImageAcquireInfo *, uint32_t *);
|
typedef XrResult (XRAPI_PTR *PFN_xrAcquireSwapchainImage)(XrSwapchain, const XrSwapchainImageAcquireInfo *, uint32_t *);
|
||||||
@ -2063,6 +2108,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrRequestDisplayRefreshRateFB)(XrSession, float
|
|||||||
typedef XrResult (XRAPI_PTR *PFN_xrRequestExitSession)(XrSession);
|
typedef XrResult (XRAPI_PTR *PFN_xrRequestExitSession)(XrSession);
|
||||||
typedef XrResult (XRAPI_PTR *PFN_xrResultToString)(XrInstance, XrResult, char[]);
|
typedef XrResult (XRAPI_PTR *PFN_xrResultToString)(XrInstance, XrResult, char[]);
|
||||||
typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB);
|
typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB);
|
||||||
|
typedef XrResult (XRAPI_PTR *PFN_xrSetEnvironmentDepthEstimationVARJO)(XrSession, XrBool32);
|
||||||
typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32);
|
typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32);
|
||||||
typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef);
|
typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef);
|
||||||
typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32);
|
typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32);
|
||||||
@ -2159,6 +2205,7 @@ XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB(XrSession session, float displ
|
|||||||
XrResult XRAPI_CALL xrRequestExitSession(XrSession session);
|
XrResult XRAPI_CALL xrRequestExitSession(XrSession session);
|
||||||
XrResult XRAPI_CALL xrResultToString(XrInstance instance, XrResult value, char buffer[]);
|
XrResult XRAPI_CALL xrResultToString(XrInstance instance, XrResult value, char buffer[]);
|
||||||
XrResult XRAPI_CALL xrSetColorSpaceFB(XrSession session, const XrColorSpaceFB colorspace);
|
XrResult XRAPI_CALL xrSetColorSpaceFB(XrSession session, const XrColorSpaceFB colorspace);
|
||||||
|
XrResult XRAPI_CALL xrSetEnvironmentDepthEstimationVARJO(XrSession session, XrBool32 enabled);
|
||||||
XrResult XRAPI_CALL xrSetInputDeviceActiveEXT(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive);
|
XrResult XRAPI_CALL xrSetInputDeviceActiveEXT(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive);
|
||||||
XrResult XRAPI_CALL xrSetInputDeviceLocationEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrSpace space, XrPosef pose);
|
XrResult XRAPI_CALL xrSetInputDeviceLocationEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrSpace space, XrPosef pose);
|
||||||
XrResult XRAPI_CALL xrSetInputDeviceStateBoolEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrBool32 state);
|
XrResult XRAPI_CALL xrSetInputDeviceStateBoolEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrBool32 state);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<registry>
|
<registry>
|
||||||
<comment>
|
<comment>
|
||||||
Copyright (c) 2017-2020 The Khronos Group Inc.
|
Copyright (c) 2017-2021, The Khronos Group Inc.
|
||||||
|
|
||||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<tag name="KHR" author="Khronos" contact="Brent Insko @insko"/>
|
<tag name="KHR" author="Khronos" contact="Brent Insko @insko"/>
|
||||||
<tag name="LUNARG" author="LunarG" contact="Brad Grantham @bradgrantham-lunarg"/>
|
<tag name="LUNARG" author="LunarG" contact="Brad Grantham @bradgrantham-lunarg"/>
|
||||||
<tag name="LIV" author="LIV" contact="Arthur Brainville @Ybalrid, Steffan Donal @liv_ruu"/>
|
<tag name="LIV" author="LIV" contact="Arthur Brainville @Ybalrid, Steffan Donal @liv_ruu"/>
|
||||||
<tag name="MAGICLEAP" author="Magic Leap" contact="Blake Taylor @theblindprogramm3r"/>
|
<tag name="ML" author="Magic Leap" contact="Jey Michaelraj @jeymichael"/>
|
||||||
<tag name="MND" author="Monado Project" contact="Jakob Bornecrantz @wallbraker, Ryan Pavlik @rpavlik"/>
|
<tag name="MND" author="Monado Project" contact="Jakob Bornecrantz @wallbraker, Ryan Pavlik @rpavlik"/>
|
||||||
<tag name="MNDX" author="Monado Project experimental" contact="Jakob Bornecrantz @wallbraker, Ryan Pavlik @rpavlik"/>
|
<tag name="MNDX" author="Monado Project experimental" contact="Jakob Bornecrantz @wallbraker, Ryan Pavlik @rpavlik"/>
|
||||||
<tag name="MSFT" author="Microsoft" contact="Alex Turner @alexturn, Yin Li @yl_msft, Bryce Hutchings @brycehutchings, Lachlan Ford @laford_msft, Minmin Gong @gongminmin "/>
|
<tag name="MSFT" author="Microsoft" contact="Alex Turner @alexturn, Yin Li @yl_msft, Bryce Hutchings @brycehutchings, Lachlan Ford @laford_msft, Minmin Gong @gongminmin "/>
|
||||||
@ -111,7 +111,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
updates them automatically by processing a line at a time.
|
updates them automatically by processing a line at a time.
|
||||||
-->
|
-->
|
||||||
<type category="define">// OpenXR current version number.
|
<type category="define">// OpenXR current version number.
|
||||||
#define <name>XR_CURRENT_API_VERSION</name> <type>XR_MAKE_VERSION</type>(1, 0, 13)</type>
|
#define <name>XR_CURRENT_API_VERSION</name> <type>XR_MAKE_VERSION</type>(1, 0, 15)</type>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
NOTE: For avoidance of ambiguity, there should only be 1 <name> tag immediately in
|
NOTE: For avoidance of ambiguity, there should only be 1 <name> tag immediately in
|
||||||
@ -211,6 +211,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<type requires="openxr_platform_defines" name="float"/>
|
<type requires="openxr_platform_defines" name="float"/>
|
||||||
<type requires="openxr_platform_defines" name="int8_t"/>
|
<type requires="openxr_platform_defines" name="int8_t"/>
|
||||||
<type requires="openxr_platform_defines" name="uint8_t"/>
|
<type requires="openxr_platform_defines" name="uint8_t"/>
|
||||||
|
<type requires="openxr_platform_defines" name="uint16_t"/>
|
||||||
<type requires="openxr_platform_defines" name="int32_t"/>
|
<type requires="openxr_platform_defines" name="int32_t"/>
|
||||||
<type requires="openxr_platform_defines" name="uint32_t"/>
|
<type requires="openxr_platform_defines" name="uint32_t"/>
|
||||||
<type requires="openxr_platform_defines" name="int64_t"/>
|
<type requires="openxr_platform_defines" name="int64_t"/>
|
||||||
@ -241,6 +242,9 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<type bitvalues="XrOverlayMainSessionFlagBitsEXTX" category="bitmask">typedef <type>XrFlags64</type> <name>XrOverlayMainSessionFlagsEXTX</name>;</type>
|
<type bitvalues="XrOverlayMainSessionFlagBitsEXTX" category="bitmask">typedef <type>XrFlags64</type> <name>XrOverlayMainSessionFlagsEXTX</name>;</type>
|
||||||
<type bitvalues="XrOverlaySessionCreateFlagBitsEXTX" category="bitmask">typedef <type>XrFlags64</type> <name>XrOverlaySessionCreateFlagsEXTX</name>;</type>
|
<type bitvalues="XrOverlaySessionCreateFlagBitsEXTX" category="bitmask">typedef <type>XrFlags64</type> <name>XrOverlaySessionCreateFlagsEXTX</name>;</type>
|
||||||
|
|
||||||
|
<!-- Bitmask types for XR_FB_android_surface_swapchain_create -->
|
||||||
|
<type bitvalues="XrAndroidSurfaceSwapchainFlagBitsFB" category="bitmask">typedef <type>XrFlags64</type> <name>XrAndroidSurfaceSwapchainFlagsFB</name>;</type>
|
||||||
|
|
||||||
<!-- Handles referring to internally-maintained objects. -->
|
<!-- Handles referring to internally-maintained objects. -->
|
||||||
<!-- These types which can be 64-bit integers or opaque pointers, selected at compile time based on pointer size -->
|
<!-- These types which can be 64-bit integers or opaque pointers, selected at compile time based on pointer size -->
|
||||||
<type category="handle"><type>XR_DEFINE_HANDLE</type>(<name>XrInstance</name>)</type>
|
<type category="handle"><type>XR_DEFINE_HANDLE</type>(<name>XrInstance</name>)</type>
|
||||||
@ -298,6 +302,9 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<!-- enums for XR_MSFT_spatial_graph_bridge -->
|
<!-- enums for XR_MSFT_spatial_graph_bridge -->
|
||||||
<type name="XrSpatialGraphNodeTypeMSFT" category="enum"/>
|
<type name="XrSpatialGraphNodeTypeMSFT" category="enum"/>
|
||||||
|
|
||||||
|
<!-- enums and flag bits for XR_FB_android_surface_swapchain_create -->
|
||||||
|
<type name="XrAndroidSurfaceSwapchainFlagBitsFB" category="enum"/>
|
||||||
|
|
||||||
<!-- Struct types -->
|
<!-- Struct types -->
|
||||||
<type category="struct" name="XrVector2f">
|
<type category="struct" name="XrVector2f">
|
||||||
<member><type>float</type> <name>x</name></member>
|
<member><type>float</type> <name>x</name></member>
|
||||||
@ -993,20 +1000,20 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<member values="XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR"><type>XrStructureType</type> <name>type</name></member>
|
<member values="XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR"><type>XrStructureType</type> <name>type</name></member>
|
||||||
<member>const <type>void</type>* <name>next</name></member>
|
<member>const <type>void</type>* <name>next</name></member>
|
||||||
<member><type>XrSystemId</type> <name>systemId</name></member>
|
<member><type>XrSystemId</type> <name>systemId</name></member>
|
||||||
<member><type>XrVulkanInstanceCreateFlagsKHR</type> <name>createFlags</name></member>
|
<member optional="true"><type>XrVulkanInstanceCreateFlagsKHR</type> <name>createFlags</name></member>
|
||||||
<member><type>PFN_vkGetInstanceProcAddr</type> <name>pfnGetInstanceProcAddr</name></member>
|
<member><type>PFN_vkGetInstanceProcAddr</type> <name>pfnGetInstanceProcAddr</name></member>
|
||||||
<member>const <type>VkInstanceCreateInfo</type>* <name>vulkanCreateInfo</name></member>
|
<member>const <type>VkInstanceCreateInfo</type>* <name>vulkanCreateInfo</name></member>
|
||||||
<member>const <type>VkAllocationCallbacks</type>* <name>vulkanAllocator</name></member>
|
<member optional="true">const <type>VkAllocationCallbacks</type>* <name>vulkanAllocator</name></member>
|
||||||
</type>
|
</type>
|
||||||
<type category="struct" name="XrVulkanDeviceCreateInfoKHR">
|
<type category="struct" name="XrVulkanDeviceCreateInfoKHR">
|
||||||
<member values="XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR"><type>XrStructureType</type> <name>type</name></member>
|
<member values="XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR"><type>XrStructureType</type> <name>type</name></member>
|
||||||
<member>const <type>void</type>* <name>next</name></member>
|
<member>const <type>void</type>* <name>next</name></member>
|
||||||
<member><type>XrSystemId</type> <name>systemId</name></member>
|
<member><type>XrSystemId</type> <name>systemId</name></member>
|
||||||
<member><type>XrVulkanDeviceCreateFlagsKHR</type> <name>createFlags</name></member>
|
<member optional="true"><type>XrVulkanDeviceCreateFlagsKHR</type> <name>createFlags</name></member>
|
||||||
<member><type>PFN_vkGetInstanceProcAddr</type> <name>pfnGetInstanceProcAddr</name></member>
|
<member><type>PFN_vkGetInstanceProcAddr</type> <name>pfnGetInstanceProcAddr</name></member>
|
||||||
<member><type>VkPhysicalDevice</type> <name>vulkanPhysicalDevice</name></member>
|
<member><type>VkPhysicalDevice</type> <name>vulkanPhysicalDevice</name></member>
|
||||||
<member>const <type>VkDeviceCreateInfo</type>* <name>vulkanCreateInfo</name></member>
|
<member>const <type>VkDeviceCreateInfo</type>* <name>vulkanCreateInfo</name></member>
|
||||||
<member>const <type>VkAllocationCallbacks</type>* <name>vulkanAllocator</name></member>
|
<member optional="true">const <type>VkAllocationCallbacks</type>* <name>vulkanAllocator</name></member>
|
||||||
</type>
|
</type>
|
||||||
<type category="struct" name="XrGraphicsBindingVulkan2KHR" alias="XrGraphicsBindingVulkanKHR" />
|
<type category="struct" name="XrGraphicsBindingVulkan2KHR" alias="XrGraphicsBindingVulkanKHR" />
|
||||||
<type category="struct" name="XrVulkanGraphicsDeviceGetInfoKHR">
|
<type category="struct" name="XrVulkanGraphicsDeviceGetInfoKHR">
|
||||||
@ -1164,7 +1171,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<member><type>XrTime</type> <name>time</name></member>
|
<member><type>XrTime</type> <name>time</name></member>
|
||||||
</type>
|
</type>
|
||||||
<type category="struct" name="XrHandJointLocationEXT">
|
<type category="struct" name="XrHandJointLocationEXT">
|
||||||
<member><type>XrSpaceLocationFlags</type> <name>locationFlags</name></member>
|
<member optional="true"><type>XrSpaceLocationFlags</type> <name>locationFlags</name></member>
|
||||||
<member><type>XrPosef</type> <name>pose</name></member>
|
<member><type>XrPosef</type> <name>pose</name></member>
|
||||||
<member><type>float</type> <name>radius</name></member>
|
<member><type>float</type> <name>radius</name></member>
|
||||||
</type>
|
</type>
|
||||||
@ -1286,6 +1293,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<member><type>IUnknown</type>* <name>coreWindow</name></member>
|
<member><type>IUnknown</type>* <name>coreWindow</name></member>
|
||||||
</type>
|
</type>
|
||||||
|
|
||||||
|
<!-- XR_FB_android_surface_swapchain_create -->
|
||||||
|
<type category="struct" name="XrAndroidSurfaceSwapchainCreateInfoFB" structextends="XrSwapchainCreateInfo" protect="XR_USE_PLATFORM_ANDROID">
|
||||||
|
<member values="XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB"><type>XrStructureType</type> <name>type</name></member>
|
||||||
|
<member>const <type>void</type>* <name>next</name></member>
|
||||||
|
<member><type>XrAndroidSurfaceSwapchainFlagsFB</type> <name>createFlags</name></member>
|
||||||
|
</type>
|
||||||
|
|
||||||
<!-- XR_KHR_loader_init -->
|
<!-- XR_KHR_loader_init -->
|
||||||
<type category="struct" name="XrLoaderInitInfoBaseHeaderKHR">
|
<type category="struct" name="XrLoaderInitInfoBaseHeaderKHR">
|
||||||
<member><type>XrStructureType</type> <name>type</name></member>
|
<member><type>XrStructureType</type> <name>type</name></member>
|
||||||
@ -1363,6 +1377,33 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<member><type>XrColorSpaceFB</type> <name>colorSpace</name></member>
|
<member><type>XrColorSpaceFB</type> <name>colorSpace</name></member>
|
||||||
</type>
|
</type>
|
||||||
|
|
||||||
|
<!-- XR_VARJO_composition_layer_depth_test -->
|
||||||
|
<type category="struct" name="XrCompositionLayerDepthTestVARJO" structextends="XrCompositionLayerProjection">
|
||||||
|
<member values="XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO"><type>XrStructureType</type> <name>type</name></member>
|
||||||
|
<member>const <type>void</type>* <name>next</name></member>
|
||||||
|
<member><type>float</type> <name>depthTestRangeNearZ</name></member>
|
||||||
|
<member><type>float</type> <name>depthTestRangeFarZ</name></member>
|
||||||
|
</type>
|
||||||
|
|
||||||
|
<!-- XR_VARJO_foveated_rendering -->
|
||||||
|
<type category="struct" name="XrViewLocateFoveatedRenderingVARJO" structextends="XrViewLocateInfo">
|
||||||
|
<member values="XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO"><type>XrStructureType</type> <name>type</name></member>
|
||||||
|
<member>const <type>void</type>* <name>next</name></member>
|
||||||
|
<member><type>XrBool32</type> <name>foveatedRenderingActive</name></member>
|
||||||
|
</type>
|
||||||
|
|
||||||
|
<type category="struct" name="XrFoveatedViewConfigurationViewVARJO" structextends="XrViewConfigurationView" >
|
||||||
|
<member values="XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO"><type>XrStructureType</type> <name>type</name></member>
|
||||||
|
<member><type>void</type>* <name>next</name></member>
|
||||||
|
<member><type>XrBool32</type> <name>foveatedRenderingActive</name></member>
|
||||||
|
</type>
|
||||||
|
|
||||||
|
<type category="struct" name="XrSystemFoveatedRenderingPropertiesVARJO" structextends="XrSystemProperties">
|
||||||
|
<member values="XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO"><type>XrStructureType</type> <name>type</name></member>
|
||||||
|
<member><type>void</type>* <name>next</name></member>
|
||||||
|
<member><type>XrBool32</type> <name>supportsFoveatedRendering</name></member>
|
||||||
|
</type>
|
||||||
|
|
||||||
</types>
|
</types>
|
||||||
|
|
||||||
<!-- SECTION: OpenXR enumerant (token) definitions. -->
|
<!-- SECTION: OpenXR enumerant (token) definitions. -->
|
||||||
@ -1485,7 +1526,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum value="-27" name="XR_ERROR_ACTION_TYPE_MISMATCH" comment="The API used to retrieve an action's state does not match the action's type."/>
|
<enum value="-27" name="XR_ERROR_ACTION_TYPE_MISMATCH" comment="The API used to retrieve an action's state does not match the action's type."/>
|
||||||
<enum value="-28" name="XR_ERROR_SESSION_NOT_READY" comment="The session is not in the ready state."/>
|
<enum value="-28" name="XR_ERROR_SESSION_NOT_READY" comment="The session is not in the ready state."/>
|
||||||
<enum value="-29" name="XR_ERROR_SESSION_NOT_STOPPING" comment="The session is not in the stopping state."/>
|
<enum value="-29" name="XR_ERROR_SESSION_NOT_STOPPING" comment="The session is not in the stopping state."/>
|
||||||
<enum value="-30" name="XR_ERROR_TIME_INVALID" comment="The provided XrTime was zero, negative, or out of range."/>
|
<enum value="-30" name="XR_ERROR_TIME_INVALID" comment="The provided basetype:XrTime was zero, negative, or out of range."/>
|
||||||
<enum value="-31" name="XR_ERROR_REFERENCE_SPACE_UNSUPPORTED" comment="The specified reference space is not supported by the runtime or system."/>
|
<enum value="-31" name="XR_ERROR_REFERENCE_SPACE_UNSUPPORTED" comment="The specified reference space is not supported by the runtime or system."/>
|
||||||
<enum value="-32" name="XR_ERROR_FILE_ACCESS_ERROR" comment="The file could not be accessed."/>
|
<enum value="-32" name="XR_ERROR_FILE_ACCESS_ERROR" comment="The file could not be accessed."/>
|
||||||
<enum value="-33" name="XR_ERROR_FILE_CONTENTS_INVALID" comment="The file's contents were invalid."/>
|
<enum value="-33" name="XR_ERROR_FILE_CONTENTS_INVALID" comment="The file's contents were invalid."/>
|
||||||
@ -1504,7 +1545,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum value="-47" name="XR_ERROR_ACTIONSETS_ALREADY_ATTACHED" comment="The session already has attached action sets." />
|
<enum value="-47" name="XR_ERROR_ACTIONSETS_ALREADY_ATTACHED" comment="The session already has attached action sets." />
|
||||||
<enum value="-48" name="XR_ERROR_LOCALIZED_NAME_DUPLICATED" comment="The localized name provided was a duplicate of an already-existing resource."/>
|
<enum value="-48" name="XR_ERROR_LOCALIZED_NAME_DUPLICATED" comment="The localized name provided was a duplicate of an already-existing resource."/>
|
||||||
<enum value="-49" name="XR_ERROR_LOCALIZED_NAME_INVALID" comment="The localized name provided was invalid."/>
|
<enum value="-49" name="XR_ERROR_LOCALIZED_NAME_INVALID" comment="The localized name provided was invalid."/>
|
||||||
<enum value="-50" name="XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING" comment="The xrGetGraphicsRequirements* call was not made before calling xrCreateSession."/>
|
<enum value="-50" name="XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING" comment="The fname:xrGetGraphicsRequirements* call was not made before calling fname:xrCreateSession."/>
|
||||||
<unused start="-100"/>
|
<unused start="-100"/>
|
||||||
</enums>
|
</enums>
|
||||||
<enums name="XrObjectType" type="enum" comment="Enums to track objects of various types">
|
<enums name="XrObjectType" type="enum" comment="Enums to track objects of various types">
|
||||||
@ -1743,7 +1784,6 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum bitpos="0" name="XR_OVERLAY_MAIN_SESSION_ENABLED_COMPOSITION_LAYER_INFO_DEPTH_BIT_EXTX" comment="Indicates the main session enabled XR_KHR_extra_layer_info_depth"/>
|
<enum bitpos="0" name="XR_OVERLAY_MAIN_SESSION_ENABLED_COMPOSITION_LAYER_INFO_DEPTH_BIT_EXTX" comment="Indicates the main session enabled XR_KHR_extra_layer_info_depth"/>
|
||||||
</enums>
|
</enums>
|
||||||
<enums name="XrOverlaySessionCreateFlagBitsEXTX" type="bitmask">
|
<enums name="XrOverlaySessionCreateFlagBitsEXTX" type="bitmask">
|
||||||
<enum bitpos="0" name="XR_OVERLAY_SESSION_CREATE_RELAXED_DISPLAY_TIME_BIT_EXTX" comment="Indicates the runtime does not need to attempt to lock the overlay session displayTime to the main session displayTime"/>
|
|
||||||
</enums>
|
</enums>
|
||||||
|
|
||||||
<!-- enumes XR_MSFT_spatial_graph_bridge -->
|
<!-- enumes XR_MSFT_spatial_graph_bridge -->
|
||||||
@ -1752,6 +1792,12 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum value="2" name="XR_SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT" />
|
<enum value="2" name="XR_SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT" />
|
||||||
</enums>
|
</enums>
|
||||||
|
|
||||||
|
<!-- flags for XR_FB_android_surface_swapchain_create -->
|
||||||
|
<enums name="XrAndroidSurfaceSwapchainFlagBitsFB" type="bitmask">
|
||||||
|
<enum bitpos="0" name="XR_ANDROID_SURFACE_SWAPCHAIN_SYNCHRONOUS_BIT_FB" comment="Create the underlying BufferQueue in synchronous mode"/>
|
||||||
|
<enum bitpos="1" name="XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB" comment="Acquire most recent buffer whose presentation timestamp is not greater than display time of final composited frame"/>
|
||||||
|
</enums>
|
||||||
|
|
||||||
<!-- SECTION: OpenXR command definitions -->
|
<!-- SECTION: OpenXR command definitions -->
|
||||||
<commands>
|
<commands>
|
||||||
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE">
|
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE">
|
||||||
@ -2101,7 +2147,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<param><type>XrSystemId</type> <name>systemId</name></param>
|
<param><type>XrSystemId</type> <name>systemId</name></param>
|
||||||
<param optional="true"><type>uint32_t</type> <name>bufferCapacityInput</name></param>
|
<param optional="true"><type>uint32_t</type> <name>bufferCapacityInput</name></param>
|
||||||
<param><type>uint32_t</type>* <name>bufferCountOutput</name></param>
|
<param><type>uint32_t</type>* <name>bufferCountOutput</name></param>
|
||||||
<param optional="true" len="bufferCapacityInput,null-terminated"><type>char</type>* <name>buffer</name></param>
|
<param optional="true" len="bufferCapacityInput"><type>char</type>* <name>buffer</name></param>
|
||||||
</command>
|
</command>
|
||||||
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_SYSTEM_INVALID,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_SIZE_INSUFFICIENT,XR_ERROR_FUNCTION_UNSUPPORTED">
|
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_SYSTEM_INVALID,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_SIZE_INSUFFICIENT,XR_ERROR_FUNCTION_UNSUPPORTED">
|
||||||
<proto><type>XrResult</type> <name>xrGetVulkanDeviceExtensionsKHR</name></proto>
|
<proto><type>XrResult</type> <name>xrGetVulkanDeviceExtensionsKHR</name></proto>
|
||||||
@ -2109,7 +2155,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<param><type>XrSystemId</type> <name>systemId</name></param>
|
<param><type>XrSystemId</type> <name>systemId</name></param>
|
||||||
<param optional="true"><type>uint32_t</type> <name>bufferCapacityInput</name></param>
|
<param optional="true"><type>uint32_t</type> <name>bufferCapacityInput</name></param>
|
||||||
<param><type>uint32_t</type>* <name>bufferCountOutput</name></param>
|
<param><type>uint32_t</type>* <name>bufferCountOutput</name></param>
|
||||||
<param optional="true" len="bufferCapacityInput,null-terminated"><type>char</type>* <name>buffer</name></param>
|
<param optional="true" len="bufferCapacityInput"><type>char</type>* <name>buffer</name></param>
|
||||||
</command>
|
</command>
|
||||||
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_SYSTEM_INVALID,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_FUNCTION_UNSUPPORTED">
|
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_SYSTEM_INVALID,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_FUNCTION_UNSUPPORTED">
|
||||||
<proto><type>XrResult</type> <name>xrGetVulkanGraphicsDeviceKHR</name></proto>
|
<proto><type>XrResult</type> <name>xrGetVulkanGraphicsDeviceKHR</name></proto>
|
||||||
@ -2239,7 +2285,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
</command>
|
</command>
|
||||||
<command name="xrGetVulkanGraphicsRequirements2KHR" alias="xrGetVulkanGraphicsRequirementsKHR" />
|
<command name="xrGetVulkanGraphicsRequirements2KHR" alias="xrGetVulkanGraphicsRequirementsKHR" />
|
||||||
|
|
||||||
<!-- commands for XR_KHR_convert_timespec_time -->
|
<!-- commands for XR_KHR_convert_timespec_time -->
|
||||||
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_TIME_INVALID,XR_ERROR_FUNCTION_UNSUPPORTED">
|
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_TIME_INVALID,XR_ERROR_FUNCTION_UNSUPPORTED">
|
||||||
<proto><type>XrResult</type> <name>xrConvertTimeToTimespecTimeKHR</name></proto>
|
<proto><type>XrResult</type> <name>xrConvertTimeToTimespecTimeKHR</name></proto>
|
||||||
<param><type>XrInstance</type> <name>instance</name></param>
|
<param><type>XrInstance</type> <name>instance</name></param>
|
||||||
@ -2448,6 +2494,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<param><type>XrSession</type> <name>session</name></param>
|
<param><type>XrSession</type> <name>session</name></param>
|
||||||
<param>const <type>XrColorSpaceFB</type> <name>colorspace</name></param>
|
<param>const <type>XrColorSpaceFB</type> <name>colorspace</name></param>
|
||||||
</command>
|
</command>
|
||||||
|
|
||||||
|
<!-- commands for XR_VARJO_environment_depth_estimation -->
|
||||||
|
<command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_FEATURE_UNSUPPORTED,XR_ERROR_FUNCTION_UNSUPPORTED">
|
||||||
|
<proto><type>XrResult</type> <name>xrSetEnvironmentDepthEstimationVARJO</name></proto>
|
||||||
|
<param><type>XrSession</type> <name>session</name></param>
|
||||||
|
<param><type>XrBool32</type> <name>enabled</name></param>
|
||||||
|
</command>
|
||||||
</commands>
|
</commands>
|
||||||
|
|
||||||
<!-- SECTION: OpenXR API interface definitions -->
|
<!-- SECTION: OpenXR API interface definitions -->
|
||||||
@ -2682,7 +2735,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<!-- Vulkan image format list extension -->
|
<!-- Vulkan image format list extension -->
|
||||||
<extension name="XR_KHR_vulkan_swapchain_format_list" number="15" type="instance" requires="XR_KHR_vulkan_enable" supported="openxr" protect="XR_USE_GRAPHICS_API_VULKAN">
|
<extension name="XR_KHR_vulkan_swapchain_format_list" number="15" type="instance" requires="XR_KHR_vulkan_enable" supported="openxr" protect="XR_USE_GRAPHICS_API_VULKAN">
|
||||||
<require>
|
<require>
|
||||||
<enum value="3" name="XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION"/>
|
<enum value="4" name="XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION"/>
|
||||||
<enum value=""XR_KHR_vulkan_swapchain_format_list"" name="XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME"/>
|
<enum value=""XR_KHR_vulkan_swapchain_format_list"" name="XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME"/>
|
||||||
<enum offset="0" extends="XrStructureType" name="XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR"/>
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR"/>
|
||||||
<type name="XrVulkanSwapchainFormatListCreateInfoKHR"/>
|
<type name="XrVulkanSwapchainFormatListCreateInfoKHR"/>
|
||||||
@ -2692,7 +2745,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<!-- Performance Settings extension -->
|
<!-- Performance Settings extension -->
|
||||||
<extension name="XR_EXT_performance_settings" number="16" type="instance" supported="openxr">
|
<extension name="XR_EXT_performance_settings" number="16" type="instance" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_EXT_performance_settings_SPEC_VERSION"/>
|
<enum value="2" name="XR_EXT_performance_settings_SPEC_VERSION"/>
|
||||||
<enum value=""XR_EXT_performance_settings"" name="XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME"/>
|
<enum value=""XR_EXT_performance_settings"" name="XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME"/>
|
||||||
<enum offset="0" extends="XrStructureType" name="XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT"/>
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT"/>
|
||||||
<type name="XrPerfSettingsDomainEXT"/>
|
<type name="XrPerfSettingsDomainEXT"/>
|
||||||
@ -2815,7 +2868,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<!-- Vulkan graphics binding extension -->
|
<!-- Vulkan graphics binding extension -->
|
||||||
<extension name="XR_KHR_vulkan_enable" number="26" type="instance" protect="XR_USE_GRAPHICS_API_VULKAN" supported="openxr">
|
<extension name="XR_KHR_vulkan_enable" number="26" type="instance" protect="XR_USE_GRAPHICS_API_VULKAN" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="7" name="XR_KHR_vulkan_enable_SPEC_VERSION"/>
|
<enum value="8" name="XR_KHR_vulkan_enable_SPEC_VERSION"/>
|
||||||
<enum value=""XR_KHR_vulkan_enable"" name="XR_KHR_VULKAN_ENABLE_EXTENSION_NAME"/>
|
<enum value=""XR_KHR_vulkan_enable"" name="XR_KHR_VULKAN_ENABLE_EXTENSION_NAME"/>
|
||||||
<enum offset="0" extends="XrStructureType" name="XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR"/>
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR"/>
|
||||||
<enum offset="1" extends="XrStructureType" name="XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR"/>
|
<enum offset="1" extends="XrStructureType" name="XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR"/>
|
||||||
@ -2913,7 +2966,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<!-- Overlay preview extension -->
|
<!-- Overlay preview extension -->
|
||||||
<extension name="XR_EXTX_overlay" number="34" type="instance" provisional="true" supported="openxr">
|
<extension name="XR_EXTX_overlay" number="34" type="instance" provisional="true" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="4" name="XR_EXTX_overlay_SPEC_VERSION"/>
|
<enum value="5" name="XR_EXTX_overlay_SPEC_VERSION"/>
|
||||||
<enum value=""XR_EXTX_overlay"" name="XR_EXTX_OVERLAY_EXTENSION_NAME"/>
|
<enum value=""XR_EXTX_overlay"" name="XR_EXTX_OVERLAY_EXTENSION_NAME"/>
|
||||||
<enum offset="0" extends="XrStructureType" name="XR_TYPE_SESSION_CREATE_INFO_OVERLAY_EXTX"/>
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_SESSION_CREATE_INFO_OVERLAY_EXTX"/>
|
||||||
<enum offset="3" extends="XrStructureType" name="XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX"/>
|
<enum offset="3" extends="XrStructureType" name="XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX"/>
|
||||||
@ -3036,7 +3089,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
|
|
||||||
<extension name="XR_EXT_conformance_automation" number="48" type="instance" supported="openxr">
|
<extension name="XR_EXT_conformance_automation" number="48" type="instance" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_EXT_conformance_automation_SPEC_VERSION"/>
|
<enum value="2" name="XR_EXT_conformance_automation_SPEC_VERSION"/>
|
||||||
<enum value=""XR_EXT_conformance_automation"" name="XR_EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME"/>
|
<enum value=""XR_EXT_conformance_automation"" name="XR_EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME"/>
|
||||||
<command name="xrSetInputDeviceActiveEXT"/>
|
<command name="xrSetInputDeviceActiveEXT"/>
|
||||||
<command name="xrSetInputDeviceStateBoolEXT"/>
|
<command name="xrSetInputDeviceStateBoolEXT"/>
|
||||||
@ -3075,7 +3128,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
|
|
||||||
<extension name="XR_EXT_hand_tracking" number="52" type="instance" supported="openxr">
|
<extension name="XR_EXT_hand_tracking" number="52" type="instance" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="2" name="XR_EXT_hand_tracking_SPEC_VERSION"/>
|
<enum value="3" name="XR_EXT_hand_tracking_SPEC_VERSION"/>
|
||||||
<enum value=""XR_EXT_hand_tracking"" name="XR_EXT_HAND_TRACKING_EXTENSION_NAME"/>
|
<enum value=""XR_EXT_hand_tracking"" name="XR_EXT_HAND_TRACKING_EXTENSION_NAME"/>
|
||||||
|
|
||||||
<command name="xrCreateHandTrackerEXT"/>
|
<command name="xrCreateHandTrackerEXT"/>
|
||||||
@ -3108,7 +3161,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<extension name="XR_MSFT_hand_tracking_mesh" number="53"
|
<extension name="XR_MSFT_hand_tracking_mesh" number="53"
|
||||||
requires="XR_EXT_hand_tracking" type="instance" supported="openxr">
|
requires="XR_EXT_hand_tracking" type="instance" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="2" name="XR_MSFT_hand_tracking_mesh_SPEC_VERSION"/>
|
<enum value="3" name="XR_MSFT_hand_tracking_mesh_SPEC_VERSION"/>
|
||||||
<enum value=""XR_MSFT_hand_tracking_mesh"" name="XR_MSFT_HAND_TRACKING_MESH_EXTENSION_NAME"/>
|
<enum value=""XR_MSFT_hand_tracking_mesh"" name="XR_MSFT_HAND_TRACKING_MESH_EXTENSION_NAME"/>
|
||||||
|
|
||||||
<command name="xrCreateHandMeshSpaceMSFT"/>
|
<command name="xrCreateHandMeshSpaceMSFT"/>
|
||||||
@ -3209,10 +3262,10 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_MAGICLEAP_extension_59" number="59" type="instance" supported="disabled">
|
<extension name="XR_ML_extension_59" number="59" type="instance" supported="disabled">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_MAGICLEAP_extension_59_SPEC_VERSION"/>
|
<enum value="1" name="XR_ML_extension_59_SPEC_VERSION"/>
|
||||||
<enum value=""XR_MAGICLEAP_extension_59"" name="XR_MAGICLEAP_extension_59_EXTENSION_NAME"/>
|
<enum value=""XR_ML_extension_59"" name="XR_ML_extension_59_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
@ -3283,10 +3336,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_FB_extension_71" number="71" type="instance" supported="disabled">
|
<extension name="XR_FB_android_surface_swapchain_create" number="71" type="instance" supported="openxr" protect="XR_USE_PLATFORM_ANDROID" requires="XR_KHR_android_surface_swapchain">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_FB_extension_71_SPEC_VERSION"/>
|
<enum value="1" name="XR_FB_android_surface_swapchain_create_SPEC_VERSION"/>
|
||||||
<enum value=""XR_FB_extension_71"" name="XR_FB_extension_71_EXTENSION_NAME"/>
|
<enum value=""XR_FB_android_surface_swapchain_create"" name="XR_FB_ANDROID_SURFACE_SWAPCHAIN_CREATE_EXTENSION_NAME"/>
|
||||||
|
|
||||||
|
<type name="XrAndroidSurfaceSwapchainCreateInfoFB"/>
|
||||||
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
@ -3431,7 +3487,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
|
|
||||||
<extension name="XR_KHR_vulkan_enable2" number="91" type="instance" protect="XR_USE_GRAPHICS_API_VULKAN" supported="openxr">
|
<extension name="XR_KHR_vulkan_enable2" number="91" type="instance" protect="XR_USE_GRAPHICS_API_VULKAN" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_KHR_vulkan_enable2_SPEC_VERSION"/>
|
<enum value="2" name="XR_KHR_vulkan_enable2_SPEC_VERSION"/>
|
||||||
<enum value=""XR_KHR_vulkan_enable2"" name="XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME"/>
|
<enum value=""XR_KHR_vulkan_enable2"" name="XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME"/>
|
||||||
<enum offset="0" extends="XrStructureType" name="XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR"/>
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR"/>
|
||||||
<enum offset="1" extends="XrStructureType" name="XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR"/>
|
<enum offset="1" extends="XrStructureType" name="XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR"/>
|
||||||
@ -3467,6 +3523,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum value=""XR_EXT_extension_93"" name="XR_EXT_extension_93_EXTENSION_NAME"/>
|
<enum value=""XR_EXT_extension_93"" name="XR_EXT_extension_93_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_EXT_extension_94" number="94" type="instance" supported="disabled">
|
<extension name="XR_EXT_extension_94" number="94" type="instance" supported="disabled">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_EXT_extension_94_SPEC_VERSION"/>
|
<enum value="1" name="XR_EXT_extension_94_SPEC_VERSION"/>
|
||||||
@ -3502,18 +3559,21 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum value=""XR_MSFT_extension_98"" name="XR_MSFT_extension_98_EXTENSION_NAME"/>
|
<enum value=""XR_MSFT_extension_98"" name="XR_MSFT_extension_98_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_MSFT_extension_99" number="99" type="instance" supported="disabled">
|
<extension name="XR_MSFT_extension_99" number="99" type="instance" supported="disabled">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_MSFT_extension_99_SPEC_VERSION"/>
|
<enum value="1" name="XR_MSFT_extension_99_SPEC_VERSION"/>
|
||||||
<enum value=""XR_MSFT_extension_99"" name="XR_MSFT_extension_99_EXTENSION_NAME"/>
|
<enum value=""XR_MSFT_extension_99"" name="XR_MSFT_extension_99_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_MSFT_extension_100" number="100" type="instance" supported="disabled">
|
<extension name="XR_MSFT_extension_100" number="100" type="instance" supported="disabled">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_MSFT_extension_100_SPEC_VERSION"/>
|
<enum value="1" name="XR_MSFT_extension_100_SPEC_VERSION"/>
|
||||||
<enum value=""XR_MSFT_extension_100"" name="XR_MSFT_extension_100_EXTENSION_NAME"/>
|
<enum value=""XR_MSFT_extension_100"" name="XR_MSFT_extension_100_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_MSFT_extension_101" number="101" type="instance" supported="disabled">
|
<extension name="XR_MSFT_extension_101" number="101" type="instance" supported="disabled">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_MSFT_extension_101_SPEC_VERSION"/>
|
<enum value="1" name="XR_MSFT_extension_101_SPEC_VERSION"/>
|
||||||
@ -3670,6 +3730,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<enum value=""XR_FB_extension_120"" name="XR_FB_extension_120_EXTENSION_NAME"/>
|
<enum value=""XR_FB_extension_120"" name="XR_FB_extension_120_EXTENSION_NAME"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
<extension name="XR_KHR_binding_modification" number="121" type="instance" supported="openxr">
|
<extension name="XR_KHR_binding_modification" number="121" type="instance" supported="openxr">
|
||||||
<require>
|
<require>
|
||||||
<enum value="1" name="XR_KHR_binding_modification_SPEC_VERSION"/>
|
<enum value="1" name="XR_KHR_binding_modification_SPEC_VERSION"/>
|
||||||
@ -3679,6 +3740,327 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
|||||||
<type name="XrBindingModificationBaseHeaderKHR"/>
|
<type name="XrBindingModificationBaseHeaderKHR"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_foveated_rendering" number="122" type="instance" requires="XR_VARJO_quad_views" supported="openxr">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_foveated_rendering_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_foveated_rendering"" name="XR_VARJO_FOVEATED_RENDERING_EXTENSION_NAME"/>
|
||||||
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO"/>
|
||||||
|
<enum offset="1" extends="XrStructureType" name="XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO"/>
|
||||||
|
<enum offset="2" extends="XrStructureType" name="XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO"/>
|
||||||
|
|
||||||
|
<enum offset="0" extends="XrReferenceSpaceType" name="XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO"/>
|
||||||
|
|
||||||
|
<type name="XrViewLocateFoveatedRenderingVARJO"/>
|
||||||
|
<type name="XrFoveatedViewConfigurationViewVARJO"/>
|
||||||
|
<type name="XrSystemFoveatedRenderingPropertiesVARJO"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_composition_layer_depth_test" number="123" type="instance" requires="XR_KHR_composition_layer_depth" supported="openxr">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_composition_layer_depth_test_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_composition_layer_depth_test"" name="XR_VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME"/>
|
||||||
|
<enum offset="0" extends="XrStructureType" name="XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO"/>
|
||||||
|
<type name="XrCompositionLayerDepthTestVARJO"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_environment_depth_estimation" number="124" type="instance" supported="openxr">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_environment_depth_estimation_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_environment_depth_estimation"" name="XR_VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME"/>
|
||||||
|
<command name="xrSetEnvironmentDepthEstimationVARJO" />
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_125" number="125" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_125_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_125"" name="XR_VARJO_extension_125_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_126" number="126" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_126_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_126"" name="XR_VARJO_extension_126_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_127" number="127" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_127_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_127"" name="XR_VARJO_extension_127_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_128" number="128" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_128_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_128"" name="XR_VARJO_extension_128_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_129" number="129" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_129_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_129"" name="XR_VARJO_extension_129_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_130" number="130" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_130_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_130"" name="XR_VARJO_extension_130_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_131" number="131" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_131_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_131"" name="XR_VARJO_extension_131_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_VARJO_extension_132" number="132" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_VARJO_extension_132_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_VARJO_extension_132"" name="XR_VARJO_extension_132_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_133" number="133" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_133_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_133"" name="XR_ML_extension_133_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_134" number="134" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_134_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_134"" name="XR_ML_extension_134_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_135" number="135" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_135_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_135"" name="XR_ML_extension_135_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_136" number="136" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_136_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_136"" name="XR_ML_extension_136_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_137" number="137" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_137_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_137"" name="XR_ML_extension_137_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_138" number="138" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_138_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_138"" name="XR_ML_extension_138_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_139" number="139" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_139_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_139"" name="XR_ML_extension_139_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_140" number="140" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_140_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_140"" name="XR_ML_extension_140_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_141" number="141" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_141_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_141"" name="XR_ML_extension_141_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ML_extension_142" number="142" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ML_extension_142_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ML_extension_142"" name="XR_ML_extension_142_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_MSFT_extension_143" number="143" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_MSFT_extension_143_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_MSFT_extension_143"" name="XR_MSFT_extension_143_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_MSFT_extension_144" number="144" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_MSFT_extension_144_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_MSFT_extension_144"" name="XR_MSFT_extension_144_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_MSFT_extension_145" number="145" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_MSFT_extension_145_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_MSFT_extension_145"" name="XR_MSFT_extension_145_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_MSFT_extension_146" number="146" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_MSFT_extension_146_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_MSFT_extension_146"" name="XR_MSFT_extension_146_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_MSFT_extension_147" number="147" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_MSFT_extension_147_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_MSFT_extension_147"" name="XR_MSFT_extension_147_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_MSFT_extension_148" number="148" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_MSFT_extension_148_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_MSFT_extension_148"" name="XR_MSFT_extension_148_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_KHR_extension_149" number="149" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_KHR_extension_149_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_KHR_extension_149"" name="XR_KHR_extension_149_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ULTRALEAP_extension_150" number="150" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ULTRALEAP_extension_150_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ULTRALEAP_extension_150"" name="XR_ULTRALEAP_extension_150_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ULTRALEAP_extension_151" number="151" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ULTRALEAP_extension_151_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ULTRALEAP_extension_151"" name="XR_ULTRALEAP_extension_151_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ULTRALEAP_extension_152" number="152" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ULTRALEAP_extension_152_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ULTRALEAP_extension_152"" name="XR_ULTRALEAP_extension_152_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ULTRALEAP_extension_153" number="153" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ULTRALEAP_extension_153_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ULTRALEAP_extension_153"" name="XR_ULTRALEAP_extension_153_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ULTRALEAP_extension_154" number="154" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ULTRALEAP_extension_154_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ULTRALEAP_extension_154"" name="XR_ULTRALEAP_extension_154_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_ULTRALEAP_extension_155" number="155" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_ULTRALEAP_extension_155_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_ULTRALEAP_extension_155"" name="XR_ULTRALEAP_extension_155_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_156" number="156" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_156_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_156"" name="XR_FB_extension_156_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_157" number="157" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_157_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_157"" name="XR_FB_extension_157_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_158" number="158" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_158_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_158"" name="XR_FB_extension_158_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_159" number="159" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_159_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_159"" name="XR_FB_extension_159_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_160" number="160" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_160_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_160"" name="XR_FB_extension_160_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_161" number="161" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_161_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_161"" name="XR_FB_extension_161_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_162" number="162" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_162_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_162"" name="XR_FB_extension_162_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_163" number="163" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_163_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_163"" name="XR_FB_extension_163_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_164" number="164" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_164_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_164"" name="XR_FB_extension_164_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
|
<extension name="XR_FB_extension_165" number="165" type="instance" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="1" name="XR_FB_extension_165_SPEC_VERSION"/>
|
||||||
|
<enum value=""XR_FB_extension_165"" name="XR_FB_extension_165_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
|
|
||||||
</extensions>
|
</extensions>
|
||||||
|
|
||||||
</registry>
|
</registry>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user