mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-07-30 09:01:45 +03:00
Compare commits
27 Commits
proton_8.0
...
experiment
Author | SHA1 | Date | |
---|---|---|---|
|
91d99ef236 | ||
|
b58cfb4168 | ||
|
2dda8e4e47 | ||
|
0503dde36c | ||
|
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"]
|
||||
path = 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
|
||||
|
||||
ifeq ($(build_name),)
|
||||
DEPLOY_DIR := $(shell git describe --tags --always)
|
||||
DEPLOY_DIR := $(shell git describe --tags --always --exclude proton-sdk*)
|
||||
else
|
||||
DEPLOY_DIR := $(_build_name)
|
||||
endif
|
||||
@ -145,19 +145,24 @@ install-internal: downloads
|
||||
|
||||
install: install-internal
|
||||
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/
|
||||
echo "Proton installed to your local Steam installation"
|
||||
|
||||
redist: | vagrant_share/$(DEPLOY_DIR)
|
||||
redist: private SHELL := $(VAGRANT_SHELL)
|
||||
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)"
|
||||
|
||||
deploy: | vagrant_share/$(DEPLOY_DIR)-deploy
|
||||
deploy: private SHELL := $(VAGRANT_SHELL)
|
||||
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"
|
||||
|
||||
module: | vagrant_share/$(module)/lib/wine/
|
||||
@ -176,39 +181,47 @@ dxvk: | vagrant_share/dxvk/lib64/wine/dxvk
|
||||
dxvk: private SHELL := $(VAGRANT_SHELL)
|
||||
dxvk: downloads
|
||||
$(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/dist/lib64/wine/dxvk/*.dll /vagrant/dxvk/lib64/wine/dxvk/
|
||||
cp -f $(BUILD_DIR)/dist/files/lib/wine/dxvk/*.dll /vagrant/dxvk/lib/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/lib64/wine/vkd3d-proton
|
||||
vkd3d-proton: private SHELL := $(VAGRANT_SHELL)
|
||||
vkd3d-proton: downloads
|
||||
$(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/dist/lib64/wine/vkd3d-proton/*.dll /vagrant/vkd3d-proton/lib64/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/files/lib64/wine/vkd3d-proton/*.dll /vagrant/vkd3d-proton/lib64/wine/vkd3d-proton/
|
||||
|
||||
lsteamclient: | vagrant_share/lsteamclient/lib/wine
|
||||
lsteamclient: | vagrant_share/lsteamclient/lib64/wine
|
||||
lsteamclient: private SHELL := $(VAGRANT_SHELL)
|
||||
lsteamclient: downloads
|
||||
$(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/dist/lib64/wine/lsteamclient.dll.so /vagrant/lsteamclient/lib64/wine
|
||||
cp -f $(BUILD_DIR)/dist/files/lib/wine/lsteamclient.dll.so /vagrant/lsteamclient/lib/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/lib64/wine
|
||||
vrclient: private SHELL := $(VAGRANT_SHELL)
|
||||
vrclient: downloads
|
||||
$(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/dist/lib64/wine/vrclient_x64.dll.so /vagrant/vrclient/lib64/wine
|
||||
cp -f $(BUILD_DIR)/dist/files/lib/wine/vrclient.dll.so /vagrant/vrclient/lib/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/lib64/wine
|
||||
wineopenxr: private SHELL := $(VAGRANT_SHELL)
|
||||
wineopenxr: downloads
|
||||
$(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/%:
|
||||
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_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_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>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>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>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>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. |
|
||||
|
@ -1,6 +1,15 @@
|
||||
SRC := $(abspath $(SRCDIR))
|
||||
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
|
||||
##
|
||||
@ -104,6 +113,8 @@ container-build:
|
||||
|
||||
all32 $(MAKECMDGOALS32): container-build
|
||||
all64 $(MAKECMDGOALS64): container-build
|
||||
else
|
||||
J = $(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS)))
|
||||
endif
|
||||
|
||||
|
||||
@ -125,7 +136,7 @@ endif
|
||||
##
|
||||
|
||||
DST_BASE := $(OBJ)/dist
|
||||
DST_DIR := $(DST_BASE)/dist
|
||||
DST_DIR := $(DST_BASE)/files
|
||||
DST_LIBDIR32 := $(DST_DIR)/lib
|
||||
DST_LIBDIR64 := $(DST_DIR)/lib64
|
||||
DEPLOY_DIR := ./deploy
|
||||
@ -167,6 +178,7 @@ CARGO_BUILD_ARG := --release
|
||||
COMPAT_MANIFEST_TEMPLATE := $(SRCDIR)/compatibilitytool.vdf.template
|
||||
LICENSE := $(SRCDIR)/dist.LICENSE
|
||||
OFL_LICENSE := $(SRCDIR)/fonts/liberation-fonts/LICENSE
|
||||
STEAMPIPE_FIXUPS_PY := $(SRCDIR)/steampipe_fixups.py
|
||||
|
||||
GECKO_VER := 2.47.2
|
||||
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_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)
|
||||
REDIST_COPY_TARGETS := $(DEPLOY_COPY_TARGETS) $(DIST_COMPAT_MANIFEST)
|
||||
BASE_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) $(DIST_TOOLMANIFEST) $(DIST_OFL_LICENSE) $(DST_DIR)
|
||||
DEPLOY_COPY_TARGETS := $(BASE_COPY_TARGETS) $(STEAMPIPE_FIXUPS_PY)
|
||||
REDIST_COPY_TARGETS := $(BASE_COPY_TARGETS) $(DIST_COMPAT_MANIFEST)
|
||||
|
||||
$(DIST_LICENSE): $(LICENSE)
|
||||
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)
|
||||
|
||||
deploy: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
||||
mkdir -p $(DEPLOY_DIR) && \
|
||||
cp -a $(DEPLOY_COPY_TARGETS) $(DEPLOY_DIR) && \
|
||||
tar -C $(DST_DIR) -c . > $(DEPLOY_DIR)/proton_dist.tar
|
||||
@echo "Created deployment archive at "$(DEPLOY_DIR)"/proton_dist.tar"
|
||||
mkdir -p $(DEPLOY_DIR)
|
||||
cp -af --no-dereference --preserve=mode,links $(DEPLOY_COPY_TARGETS) $(DEPLOY_DIR)
|
||||
python3 $(STEAMPIPE_FIXUPS_PY) process $(DEPLOY_DIR)
|
||||
|
||||
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
|
||||
mkdir -p $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
||||
cp -rf --no-dereference --preserve=mode,links $(DST_BASE)/* $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)
|
||||
cp -f $(DIST_VERSION) $(STEAM_DIR)/compatibilitytools.d/$(BUILD_NAME)/dist/
|
||||
cp -af --no-dereference --preserve=mode,links $(DST_BASE)/* $(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"
|
||||
|
||||
redist: dist | $(filter-out dist deploy install redist,$(MAKECMDGOALS))
|
||||
mkdir -p $(REDIST_DIR)
|
||||
cp -a $(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"
|
||||
cp -af --no-dereference --preserve=mode,links $(REDIST_COPY_TARGETS) $(REDIST_DIR)
|
||||
|
||||
.PHONY: module32 module64 module
|
||||
|
||||
module32: private SHELL := $(CONTAINER_SHELL)
|
||||
module32: CONTAINERGOALS := $(CONTAINERGOALS) 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: CONTAINERGOALS := $(CONTAINERGOALS) 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: | all-source wine-configure
|
||||
@ -633,6 +646,7 @@ WINE_SOURCE_ARGS = \
|
||||
|
||||
WINE_CONFIGURE_ARGS = \
|
||||
--with-mingw \
|
||||
--without-xpresent \
|
||||
--disable-tests
|
||||
|
||||
WINE_CONFIGURE_ARGS64 = --enable-win64
|
||||
@ -717,6 +731,32 @@ $(OBJ)/.dxvk-post-build32:
|
||||
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
|
||||
##
|
||||
|
@ -97,7 +97,7 @@ function configure() {
|
||||
#
|
||||
|
||||
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_build_name=""
|
||||
arg_docker_opts=""
|
||||
|
@ -73,6 +73,14 @@ def setup_dll_symlinks(default_pfx_dir, dist_dir):
|
||||
os.unlink(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):
|
||||
local_env = dict(os.environ)
|
||||
|
||||
@ -96,6 +104,7 @@ def make_default_pfx(default_pfx_dir, dist_dir, runtime):
|
||||
|
||||
env=local_env, check=True)
|
||||
setup_dll_symlinks(default_pfx_dir, dist_dir)
|
||||
fixup_drive_links(default_pfx_dir)
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
@ -1,4 +1,4 @@
|
||||
STEAMRT_VERSION = 0.20210126.1
|
||||
STEAMRT_VERSION = 0.20210505.0
|
||||
STEAMRT_URLBASE = registry.gitlab.steamos.cloud
|
||||
|
||||
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
|
||||
|
||||
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 /var/lib/apt/lists/*
|
||||
|
||||
ENTRYPOINT ["/usr/bin/tini-static", "-s", "-g", "--"]
|
||||
|
||||
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 8b3987f6707946b9202eda3dda38632197d2286b
|
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"
|
||||
|
||||
cd "$$($(2)_OBJ$(3))" && env $$($(2)_ENV$(3)) \
|
||||
$$($(2)_SRC)/configure -C \
|
||||
$$($(2)_SRC)/configure $(--quiet?) -C \
|
||||
--prefix="$$($(2)_DST$(3))" \
|
||||
--libdir="$$($(2)_DST$(3))/lib$(subst 32,,$(3))" \
|
||||
$$($(2)_ENV$(3)) \
|
||||
|
@ -55,26 +55,32 @@ ifneq ($(UNSTRIPPED_BUILD),)
|
||||
$$(OBJ)/.$(1)-dist$(3):
|
||||
@echo ":: installing $(3)bit $(1)..." >&2
|
||||
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 l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs --verbose -0 -r -P8 -n2 cp -a
|
||||
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 -P$$(J) -n2 cp -a
|
||||
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' | \
|
||||
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' ')' \
|
||||
-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 $$@
|
||||
else
|
||||
$$(OBJ)/.$(1)-dist$(3):
|
||||
@echo ":: installing $(3)bit $(1)..." >&2
|
||||
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 l -printf '%p\0$$(DST_LIBDIR$(3))/%p\0' | xargs --verbose -0 -r -P8 -n2 cp -a
|
||||
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 -P$$(J) -n2 cp -a
|
||||
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' ')' \
|
||||
-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 $$@
|
||||
endif
|
||||
endif
|
||||
|
@ -31,7 +31,7 @@ $$(OBJ)/.$(1)-configure$(3): $$($(2)_SRC)/meson.build
|
||||
$$(OBJ)/.$(1)-build$(3):
|
||||
@echo ":: building $(3)bit $(1)..." >&2
|
||||
env $$($(2)_ENV$(3)) \
|
||||
ninja $$(filter -j%,$$(MAKEFLAGS)) -C "$$($(2)_OBJ$(3))" install
|
||||
ninja $$(filter -j%,$$(MAKEFLAGS)) -C "$$($(2)_OBJ$(3))" install $(-v?)
|
||||
touch $$@
|
||||
endif
|
||||
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)" | \
|
||||
grep -v -e ^$$$$ | grep -q ^ && echo $(1)-rebuild && \
|
||||
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 $$@
|
||||
|
||||
$$(OBJ)/.$(1)-post-source: $$(OBJ)/.$(1)-source
|
||||
|
193
proton
193
proton
@ -15,6 +15,16 @@ import subprocess
|
||||
import sys
|
||||
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
|
||||
|
||||
#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
|
||||
|
||||
# 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_SETFLAGS = 0x40086602
|
||||
|
||||
@ -149,14 +236,14 @@ def set_dir_casefold_bit(dir_path):
|
||||
class Proton:
|
||||
def __init__(self, base_dir):
|
||||
self.base_dir = base_dir + "/"
|
||||
self.dist_dir = self.path("dist/")
|
||||
self.bin_dir = self.path("dist/bin/")
|
||||
self.lib_dir = self.path("dist/lib/")
|
||||
self.lib64_dir = self.path("dist/lib64/")
|
||||
self.fonts_dir = self.path("dist/share/fonts/")
|
||||
self.wine_fonts_dir = self.path("dist/share/wine/fonts/")
|
||||
self.dist_dir = self.path("files/")
|
||||
self.bin_dir = self.path("files/bin/")
|
||||
self.lib_dir = self.path("files/lib/")
|
||||
self.lib64_dir = self.path("files/lib64/")
|
||||
self.fonts_dir = self.path("files/share/fonts/")
|
||||
self.wine_fonts_dir = self.path("files/share/wine/fonts/")
|
||||
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.wine_bin = self.bin_dir + "wine"
|
||||
self.wineserver_bin = self.bin_dir + "wineserver"
|
||||
@ -165,28 +252,34 @@ class Proton:
|
||||
def path(self, d):
|
||||
return self.base_dir + d
|
||||
|
||||
def need_tarball_extraction(self):
|
||||
'''Checks if the proton_dist tarball archive must be extracted. Returns true if extraction is needed, false otherwise'''
|
||||
return not os.path.exists(self.dist_dir) or \
|
||||
not os.path.exists(self.path("dist/version")) or \
|
||||
not filecmp.cmp(self.version_file, self.path("dist/version"))
|
||||
def cleanup_legacy_dist(self):
|
||||
old_dist_dir = self.path("dist/")
|
||||
if os.path.exists(old_dist_dir):
|
||||
with self.dist_lock:
|
||||
if os.path.exists(old_dist_dir):
|
||||
shutil.rmtree(old_dist_dir)
|
||||
|
||||
def extract_tarball(self):
|
||||
with self.dist_lock:
|
||||
if self.need_tarball_extraction():
|
||||
if os.path.exists(self.dist_dir):
|
||||
shutil.rmtree(self.dist_dir)
|
||||
tar = None
|
||||
for sf in ["", ".xz", ".bz2", ".gz"]:
|
||||
if os.path.exists(self.path("proton_dist.tar" + sf)):
|
||||
tar = tarfile.open(self.path("proton_dist.tar" + sf), mode="r:*")
|
||||
break
|
||||
if not tar:
|
||||
log("No proton_dist tarball??")
|
||||
sys.exit(1)
|
||||
tar.extractall(path=self.dist_dir)
|
||||
tar.close()
|
||||
try_copy(self.version_file, self.dist_dir)
|
||||
def do_steampipe_fixups(self):
|
||||
fixups_json = self.path("steampipe_fixups.json")
|
||||
fixups_mtime = self.path("files/steampipe_fixups_mtime")
|
||||
|
||||
if os.path.exists(fixups_json):
|
||||
with self.dist_lock:
|
||||
import steampipe_fixups
|
||||
|
||||
current_fixup_mtime = None
|
||||
if os.path.exists(fixups_mtime):
|
||||
with open(fixups_mtime, "r") as f:
|
||||
current_fixup_mtime = f.readline().strip()
|
||||
|
||||
new_fixup_mtime = getmtimestr(fixups_json)
|
||||
|
||||
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):
|
||||
'''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"):
|
||||
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
|
||||
steamdir = os.environ["STEAM_COMPAT_CLIENT_INSTALL_PATH"]
|
||||
|
||||
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",
|
||||
#dxsetup redist
|
||||
@ -481,6 +581,7 @@ class CompatData:
|
||||
str(use_wined3d),
|
||||
str(use_dxvk_dxgi),
|
||||
builtin_dll_copy,
|
||||
str(use_nvapi),
|
||||
))
|
||||
|
||||
if old_ver == CURRENT_PREFIX_VERSION:
|
||||
@ -556,7 +657,6 @@ class CompatData:
|
||||
dxvkfiles = ["dxvk_config", "d3d11", "d3d10", "d3d10core", "d3d10_1", "d3d9"]
|
||||
wined3dfiles = []
|
||||
|
||||
#if the user asked for dxvk's dxgi (dxgi=n), then copy it into place
|
||||
if use_dxvk_dxgi:
|
||||
dxvkfiles.append("dxgi")
|
||||
else:
|
||||
@ -575,6 +675,31 @@ class CompatData:
|
||||
self.prefix_dir + "drive_c/windows/syswow64/" + f + ".dll")
|
||||
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",
|
||||
self.prefix_dir + "drive_c/windows/system32/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_NO_XIM", "noxim")
|
||||
self.check_environment("PROTON_HEAP_DELAY_FREE", "heapdelayfree")
|
||||
self.check_environment("PROTON_ENABLE_NVAPI", "enablenvapi")
|
||||
|
||||
if "noesync" in self.compat_config:
|
||||
self.env.pop("WINEESYNC", "")
|
||||
@ -779,6 +905,9 @@ class Session:
|
||||
if "hidenvgpu" in self.compat_config:
|
||||
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 self.env["WINEDEBUG"] != "-all":
|
||||
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]))
|
||||
|
||||
if g_proton.need_tarball_extraction():
|
||||
g_proton.extract_tarball()
|
||||
g_proton.cleanup_legacy_dist()
|
||||
g_proton.do_steampipe_fixups()
|
||||
|
||||
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 a3837d6461771be9ca7d55ccefff1fdac4135b8b
|
@ -3,7 +3,7 @@
|
||||
* This file is generated from OpenXR xr.xml file covered
|
||||
* 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
|
||||
*
|
||||
@ -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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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},
|
||||
{"xrResultToString", &wine_xrResultToString},
|
||||
{"xrSetColorSpaceFB", &wine_xrSetColorSpaceFB},
|
||||
{"xrSetEnvironmentDepthEstimationVARJO", &wine_xrSetEnvironmentDepthEstimationVARJO},
|
||||
{"xrSetInputDeviceActiveEXT", &wine_xrSetInputDeviceActiveEXT},
|
||||
{"xrSetInputDeviceLocationEXT", &wine_xrSetInputDeviceLocationEXT},
|
||||
{"xrSetInputDeviceStateBoolEXT", &wine_xrSetInputDeviceStateBoolEXT},
|
||||
@ -627,6 +634,9 @@ static const char * const xr_extensions[] =
|
||||
"XR_MSFT_unbounded_reference_space",
|
||||
"XR_OCULUS_android_session_state_enable",
|
||||
"XR_VALVE_analog_threshold",
|
||||
"XR_VARJO_composition_layer_depth_test",
|
||||
"XR_VARJO_environment_depth_estimation",
|
||||
"XR_VARJO_foveated_rendering",
|
||||
"XR_VARJO_quad_views",
|
||||
};
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is generated from OpenXR xr.xml file covered
|
||||
* 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
|
||||
*
|
||||
@ -134,6 +134,7 @@ struct openxr_instance_funcs
|
||||
XrResult (*p_xrRequestExitSession)(XrSession);
|
||||
XrResult (*p_xrResultToString)(XrInstance, XrResult, char[]);
|
||||
XrResult (*p_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB);
|
||||
XrResult (*p_xrSetEnvironmentDepthEstimationVARJO)(XrSession, XrBool32);
|
||||
XrResult (*p_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32);
|
||||
XrResult (*p_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef);
|
||||
XrResult (*p_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32);
|
||||
@ -223,6 +224,7 @@ struct openxr_instance_funcs
|
||||
USE_XR_FUNC(xrRequestExitSession) \
|
||||
USE_XR_FUNC(xrResultToString) \
|
||||
USE_XR_FUNC(xrSetColorSpaceFB) \
|
||||
USE_XR_FUNC(xrSetEnvironmentDepthEstimationVARJO) \
|
||||
USE_XR_FUNC(xrSetInputDeviceActiveEXT) \
|
||||
USE_XR_FUNC(xrSetInputDeviceLocationEXT) \
|
||||
USE_XR_FUNC(xrSetInputDeviceStateBoolEXT) \
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is generated from OpenXR xr.xml file covered
|
||||
* 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
|
||||
*
|
||||
@ -65,9 +65,9 @@
|
||||
#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_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_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_thermal_query_SPEC_VERSION 1
|
||||
#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_opengl_enable_SPEC_VERSION 9
|
||||
#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_D3D11_enable_SPEC_VERSION 5
|
||||
#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_KHR_visibility_mask_SPEC_VERSION 2
|
||||
#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_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"
|
||||
@ -105,15 +105,15 @@
|
||||
#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_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_MSFT_spatial_graph_bridge_SPEC_VERSION 1
|
||||
#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_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_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_secondary_view_configuration_SPEC_VERSION 1
|
||||
#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_VALVE_analog_threshold_SPEC_VERSION 1
|
||||
#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_composition_layer_equirect2_SPEC_VERSION 1
|
||||
#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_KHR_binding_modification_SPEC_VERSION 1
|
||||
#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) \
|
||||
@ -162,7 +168,7 @@
|
||||
#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)
|
||||
@ -252,6 +258,7 @@ XR_DEFINE_ATOM(XrSystemId)
|
||||
typedef int64_t XrTime;
|
||||
typedef uint64_t XrVersion;
|
||||
|
||||
typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB;
|
||||
typedef XrFlags64 XrCompositionLayerFlags;
|
||||
typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
|
||||
typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT;
|
||||
@ -417,6 +424,7 @@ typedef enum XrReferenceSpaceType
|
||||
XR_REFERENCE_SPACE_TYPE_LOCAL = 2,
|
||||
XR_REFERENCE_SPACE_TYPE_STAGE = 3,
|
||||
XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT = 1000038000,
|
||||
XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO = 1000121000,
|
||||
XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7fffffff,
|
||||
} XrReferenceSpaceType;
|
||||
|
||||
@ -620,6 +628,10 @@ typedef enum XrStructureType
|
||||
XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000,
|
||||
XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000,
|
||||
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_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_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 XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo;
|
||||
typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader;
|
||||
typedef struct XrCompositionLayerDepthTestVARJO XrCompositionLayerDepthTestVARJO;
|
||||
typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT;
|
||||
typedef struct XrDebugUtilsLabelEXT XrDebugUtilsLabelEXT;
|
||||
typedef struct XrEventDataBaseHeader XrEventDataBaseHeader;
|
||||
@ -661,17 +674,11 @@ typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessio
|
||||
typedef struct XrEventDataSessionStateChanged XrEventDataSessionStateChanged;
|
||||
typedef struct XrExtensionProperties XrExtensionProperties;
|
||||
typedef struct XrExtent2Di XrExtent2Di;
|
||||
typedef struct XrFovf XrFovf;
|
||||
typedef struct XrFrameEndInfo XrFrameEndInfo;
|
||||
typedef struct XrFrameWaitInfo XrFrameWaitInfo;
|
||||
typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR;
|
||||
typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR;
|
||||
typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR;
|
||||
typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR;
|
||||
typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR;
|
||||
typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR;
|
||||
typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR;
|
||||
typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR;
|
||||
typedef struct XrFoveatedViewConfigurationViewVARJO XrFoveatedViewConfigurationViewVARJO;
|
||||
typedef struct XrFrameBeginInfo XrFrameBeginInfo;
|
||||
typedef struct XrFrameState XrFrameState;
|
||||
typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR;
|
||||
typedef struct XrGraphicsRequirementsD3D11KHR XrGraphicsRequirementsD3D11KHR;
|
||||
typedef struct XrHandJointsLocateInfoEXT XrHandJointsLocateInfoEXT;
|
||||
typedef struct XrHandMeshUpdateInfoMSFT XrHandMeshUpdateInfoMSFT;
|
||||
typedef struct XrHandPoseTypeInfoMSFT XrHandPoseTypeInfoMSFT;
|
||||
@ -691,13 +698,15 @@ typedef struct XrSwapchainImageD3D12KHR XrSwapchainImageD3D12KHR;
|
||||
typedef struct XrSwapchainImageOpenGLKHR XrSwapchainImageOpenGLKHR;
|
||||
typedef struct XrSwapchainImageWaitInfo XrSwapchainImageWaitInfo;
|
||||
typedef struct XrSystemColorSpacePropertiesFB XrSystemColorSpacePropertiesFB;
|
||||
typedef struct XrSystemGetInfo XrSystemGetInfo;
|
||||
typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT;
|
||||
typedef struct XrSystemFoveatedRenderingPropertiesVARJO XrSystemFoveatedRenderingPropertiesVARJO;
|
||||
typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties;
|
||||
typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT;
|
||||
typedef struct XrSystemTrackingProperties XrSystemTrackingProperties;
|
||||
typedef struct XrVector3f XrVector3f;
|
||||
typedef struct XrViewConfigurationDepthRangeEXT XrViewConfigurationDepthRangeEXT;
|
||||
typedef struct XrViewConfigurationView XrViewConfigurationView;
|
||||
typedef struct XrViewLocateInfo XrViewLocateInfo;
|
||||
typedef struct XrViewLocateFoveatedRenderingVARJO XrViewLocateFoveatedRenderingVARJO;
|
||||
typedef struct XrViewState XrViewState;
|
||||
typedef struct XrVulkanDeviceCreateInfoKHR XrVulkanDeviceCreateInfoKHR;
|
||||
typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR;
|
||||
typedef struct XrActionSetCreateInfo XrActionSetCreateInfo;
|
||||
@ -713,8 +722,11 @@ typedef struct XrEventDataEventsLost XrEventDataEventsLost;
|
||||
typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT;
|
||||
typedef struct XrEventDataVisibilityMaskChangedKHR XrEventDataVisibilityMaskChangedKHR;
|
||||
typedef struct XrEyeGazeSampleTimeEXT XrEyeGazeSampleTimeEXT;
|
||||
typedef struct XrFrameState XrFrameState;
|
||||
typedef struct XrGraphicsRequirementsD3D11KHR XrGraphicsRequirementsD3D11KHR;
|
||||
typedef struct XrFrameEndInfo XrFrameEndInfo;
|
||||
typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR;
|
||||
typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR;
|
||||
typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR;
|
||||
typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR;
|
||||
typedef struct XrHandJointVelocityEXT XrHandJointVelocityEXT;
|
||||
typedef struct XrHandMeshVertexMSFT XrHandMeshVertexMSFT;
|
||||
typedef struct XrHapticBaseHeader XrHapticBaseHeader;
|
||||
@ -731,12 +743,11 @@ typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo;
|
||||
typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR;
|
||||
typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR;
|
||||
typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT;
|
||||
typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT;
|
||||
typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT;
|
||||
typedef struct XrVector2f XrVector2f;
|
||||
typedef struct XrView XrView;
|
||||
typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC;
|
||||
typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR;
|
||||
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR;
|
||||
typedef struct XrViewConfigurationProperties XrViewConfigurationProperties;
|
||||
typedef struct XrViewLocateInfo XrViewLocateInfo;
|
||||
typedef struct XrVulkanGraphicsDeviceGetInfoKHR XrVulkanGraphicsDeviceGetInfoKHR;
|
||||
typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo;
|
||||
typedef struct XrActionStateVector2f XrActionStateVector2f;
|
||||
typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR;
|
||||
@ -745,7 +756,9 @@ typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT;
|
||||
typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT;
|
||||
typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged;
|
||||
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 XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT;
|
||||
typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT;
|
||||
@ -756,39 +769,42 @@ typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewC
|
||||
typedef struct XrSpaceLocation XrSpaceLocation;
|
||||
typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT;
|
||||
typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo;
|
||||
typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties;
|
||||
typedef struct XrSystemGetInfo XrSystemGetInfo;
|
||||
typedef struct XrVector4f XrVector4f;
|
||||
typedef struct XrViewState XrViewState;
|
||||
typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR;
|
||||
typedef struct XrActionStatePose XrActionStatePose;
|
||||
typedef struct XrBindingModificationsKHR XrBindingModificationsKHR;
|
||||
typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT;
|
||||
typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending;
|
||||
typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT;
|
||||
typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR;
|
||||
typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT;
|
||||
typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT;
|
||||
typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding;
|
||||
typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT;
|
||||
typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT;
|
||||
typedef struct XrSwapchainSubImage XrSwapchainSubImage;
|
||||
typedef struct XrViewConfigurationProperties XrViewConfigurationProperties;
|
||||
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR;
|
||||
typedef struct XrApiLayerProperties XrApiLayerProperties;
|
||||
typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR;
|
||||
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 XrFovf XrFovf;
|
||||
typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT;
|
||||
typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT;
|
||||
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)(
|
||||
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
|
||||
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
|
||||
@ -868,6 +884,14 @@ struct XrCompositionLayerBaseHeader
|
||||
XrSpace space;
|
||||
};
|
||||
|
||||
struct XrCompositionLayerDepthTestVARJO
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
float depthTestRangeNearZ;
|
||||
float depthTestRangeFarZ;
|
||||
};
|
||||
|
||||
struct XrControllerModelKeyStateMSFT
|
||||
{
|
||||
XrStructureType type;
|
||||
@ -934,58 +958,36 @@ struct XrExtent2Di
|
||||
int32_t height;
|
||||
};
|
||||
|
||||
struct XrFovf
|
||||
{
|
||||
float angleLeft;
|
||||
float angleRight;
|
||||
float angleUp;
|
||||
float angleDown;
|
||||
};
|
||||
|
||||
struct XrFrameEndInfo
|
||||
struct XrFoveatedViewConfigurationViewVARJO
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrTime displayTime;
|
||||
XrEnvironmentBlendMode environmentBlendMode;
|
||||
uint32_t layerCount;
|
||||
const XrCompositionLayerBaseHeader * const*layers;
|
||||
void *next;
|
||||
XrBool32 foveatedRenderingActive;
|
||||
};
|
||||
|
||||
struct XrFrameWaitInfo
|
||||
struct XrFrameBeginInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
};
|
||||
|
||||
struct XrGraphicsBindingD3D12KHR
|
||||
struct XrFrameState
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrTime predictedDisplayTime;
|
||||
XrDuration predictedDisplayPeriod;
|
||||
XrBool32 shouldRender;
|
||||
};
|
||||
|
||||
struct XrGraphicsBindingD3D11KHR
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
ID3D12Device *device;
|
||||
ID3D12CommandQueue *queue;
|
||||
ID3D11Device *device;
|
||||
};
|
||||
|
||||
struct XrGraphicsBindingOpenGLWin32KHR
|
||||
{
|
||||
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
|
||||
struct XrGraphicsRequirementsD3D11KHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
@ -993,22 +995,6 @@ struct XrGraphicsRequirementsD3D12KHR
|
||||
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
|
||||
{
|
||||
XrStructureType type;
|
||||
@ -1161,20 +1147,25 @@ struct XrSystemColorSpacePropertiesFB
|
||||
XrColorSpaceFB colorSpace;
|
||||
};
|
||||
|
||||
struct XrSystemGetInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrFormFactor formFactor;
|
||||
};
|
||||
|
||||
struct XrSystemHandTrackingMeshPropertiesMSFT
|
||||
struct XrSystemFoveatedRenderingPropertiesVARJO
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrBool32 supportsHandTrackingMesh;
|
||||
uint32_t maxHandMeshIndexCount;
|
||||
uint32_t maxHandMeshVertexCount;
|
||||
XrBool32 supportsFoveatedRendering;
|
||||
};
|
||||
|
||||
struct XrSystemGraphicsProperties
|
||||
{
|
||||
uint32_t maxSwapchainImageHeight;
|
||||
uint32_t maxSwapchainImageWidth;
|
||||
uint32_t maxLayerCount;
|
||||
};
|
||||
|
||||
struct XrSystemHandTrackingPropertiesEXT
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrBool32 supportsHandTracking;
|
||||
};
|
||||
|
||||
struct XrSystemTrackingProperties
|
||||
@ -1212,13 +1203,18 @@ struct XrViewConfigurationView
|
||||
uint32_t maxSwapchainSampleCount;
|
||||
};
|
||||
|
||||
struct XrViewLocateInfo
|
||||
struct XrViewLocateFoveatedRenderingVARJO
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrViewConfigurationType viewConfigurationType;
|
||||
XrTime displayTime;
|
||||
XrSpace space;
|
||||
XrBool32 foveatedRenderingActive;
|
||||
};
|
||||
|
||||
struct XrViewState
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrViewStateFlags viewStateFlags;
|
||||
};
|
||||
|
||||
struct XrVulkanDeviceCreateInfoKHR
|
||||
@ -1356,21 +1352,41 @@ struct XrEyeGazeSampleTimeEXT
|
||||
XrTime time;
|
||||
};
|
||||
|
||||
struct XrFrameState
|
||||
struct XrFrameEndInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrTime predictedDisplayTime;
|
||||
XrDuration predictedDisplayPeriod;
|
||||
XrBool32 shouldRender;
|
||||
const void *next;
|
||||
XrTime displayTime;
|
||||
XrEnvironmentBlendMode environmentBlendMode;
|
||||
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;
|
||||
void *next;
|
||||
LUID adapterLuid;
|
||||
D3D_FEATURE_LEVEL minFeatureLevel;
|
||||
XrVersion minApiVersionSupported;
|
||||
XrVersion maxApiVersionSupported;
|
||||
};
|
||||
|
||||
struct XrHandJointVelocityEXT
|
||||
@ -1490,11 +1506,13 @@ struct XrSystemEyeGazeInteractionPropertiesEXT
|
||||
XrBool32 supportsEyeGazeInteraction;
|
||||
};
|
||||
|
||||
struct XrSystemHandTrackingPropertiesEXT
|
||||
struct XrSystemHandTrackingMeshPropertiesMSFT
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrBool32 supportsHandTracking;
|
||||
XrBool32 supportsHandTrackingMesh;
|
||||
uint32_t maxHandMeshIndexCount;
|
||||
uint32_t maxHandMeshVertexCount;
|
||||
};
|
||||
|
||||
struct XrVector2f
|
||||
@ -1503,40 +1521,29 @@ struct XrVector2f
|
||||
float y;
|
||||
};
|
||||
|
||||
struct XrView
|
||||
struct XrViewConfigurationProperties
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrPosef pose;
|
||||
XrFovf fov;
|
||||
XrViewConfigurationType viewConfigurationType;
|
||||
XrBool32 fovMutable;
|
||||
};
|
||||
|
||||
struct XrViewConfigurationViewFovEPIC
|
||||
struct XrViewLocateInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrFovf recommendedFov;
|
||||
XrFovf maxMutableFov;
|
||||
XrViewConfigurationType viewConfigurationType;
|
||||
XrTime displayTime;
|
||||
XrSpace space;
|
||||
};
|
||||
|
||||
struct XrVisibilityMaskKHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
uint32_t vertexCapacityInput;
|
||||
uint32_t vertexCountOutput;
|
||||
XrVector2f *vertices;
|
||||
uint32_t indexCapacityInput;
|
||||
uint32_t indexCountOutput;
|
||||
uint32_t *indices;
|
||||
};
|
||||
|
||||
struct XrVulkanSwapchainFormatListCreateInfoKHR
|
||||
struct XrVulkanGraphicsDeviceGetInfoKHR
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
uint32_t viewFormatCount;
|
||||
const VkFormat *viewFormats;
|
||||
XrSystemId systemId;
|
||||
VkInstance vulkanInstance;
|
||||
};
|
||||
|
||||
struct XrActionSpaceCreateInfo
|
||||
@ -1605,11 +1612,25 @@ struct XrExtent2Df
|
||||
float height;
|
||||
};
|
||||
|
||||
struct XrGraphicsBindingD3D11KHR
|
||||
struct XrFrameWaitInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
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
|
||||
@ -1687,11 +1708,11 @@ struct XrSwapchainImageReleaseInfo
|
||||
const void *next;
|
||||
};
|
||||
|
||||
struct XrSystemGraphicsProperties
|
||||
struct XrSystemGetInfo
|
||||
{
|
||||
uint32_t maxSwapchainImageHeight;
|
||||
uint32_t maxSwapchainImageWidth;
|
||||
uint32_t maxLayerCount;
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrFormFactor formFactor;
|
||||
};
|
||||
|
||||
struct XrVector4f
|
||||
@ -1702,11 +1723,16 @@ struct XrVector4f
|
||||
float w;
|
||||
};
|
||||
|
||||
struct XrViewState
|
||||
struct XrVisibilityMaskKHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrViewStateFlags viewStateFlags;
|
||||
uint32_t vertexCapacityInput;
|
||||
uint32_t vertexCountOutput;
|
||||
XrVector2f *vertices;
|
||||
uint32_t indexCapacityInput;
|
||||
uint32_t indexCountOutput;
|
||||
uint32_t *indices;
|
||||
};
|
||||
|
||||
struct XrActionStatePose
|
||||
@ -1744,12 +1770,21 @@ struct XrEventDataReferenceSpaceChangePending
|
||||
XrPosef poseInPreviousSpace;
|
||||
};
|
||||
|
||||
struct XrHandMeshIndexBufferMSFT
|
||||
struct XrGraphicsBindingOpenGLWin32KHR
|
||||
{
|
||||
uint32_t indexBufferKey;
|
||||
uint32_t indexCapacityInput;
|
||||
uint32_t indexCountOutput;
|
||||
uint32_t *indices;
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
HDC hDC;
|
||||
HGLRC hGLRC;
|
||||
};
|
||||
|
||||
struct XrHandJointLocationsEXT
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrBool32 isActive;
|
||||
uint32_t jointCount;
|
||||
XrHandJointLocationEXT *jointLocations;
|
||||
};
|
||||
|
||||
struct XrHandMeshVertexBufferMSFT
|
||||
@ -1793,12 +1828,12 @@ struct XrSwapchainSubImage
|
||||
uint32_t imageArrayIndex;
|
||||
};
|
||||
|
||||
struct XrViewConfigurationProperties
|
||||
struct XrVulkanSwapchainFormatListCreateInfoKHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrViewConfigurationType viewConfigurationType;
|
||||
XrBool32 fovMutable;
|
||||
const void *next;
|
||||
uint32_t viewFormatCount;
|
||||
const VkFormat *viewFormats;
|
||||
};
|
||||
|
||||
struct XrApiLayerProperties
|
||||
@ -1836,59 +1871,66 @@ struct XrCompositionLayerEquirectKHR
|
||||
XrVector2f bias;
|
||||
};
|
||||
|
||||
struct XrCompositionLayerProjectionView
|
||||
struct XrCompositionLayerQuad
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrPosef pose;
|
||||
XrFovf fov;
|
||||
XrCompositionLayerFlags layerFlags;
|
||||
XrSpace space;
|
||||
XrEyeVisibility eyeVisibility;
|
||||
XrSwapchainSubImage subImage;
|
||||
};
|
||||
|
||||
struct XrEventDataBuffer
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
uint8_t varying[4000];
|
||||
};
|
||||
|
||||
struct XrHandJointLocationEXT
|
||||
{
|
||||
XrSpaceLocationFlags locationFlags;
|
||||
XrPosef pose;
|
||||
float radius;
|
||||
XrExtent2Df size;
|
||||
};
|
||||
|
||||
struct XrHandMeshMSFT
|
||||
struct XrFovf
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrBool32 isActive;
|
||||
XrBool32 indexBufferChanged;
|
||||
XrBool32 vertexBufferChanged;
|
||||
XrHandMeshIndexBufferMSFT indexBuffer;
|
||||
XrHandMeshVertexBufferMSFT vertexBuffer;
|
||||
float angleLeft;
|
||||
float angleRight;
|
||||
float angleUp;
|
||||
float angleDown;
|
||||
};
|
||||
|
||||
struct XrRect2Df
|
||||
struct XrHandMeshIndexBufferMSFT
|
||||
{
|
||||
XrOffset2Df offset;
|
||||
XrExtent2Df extent;
|
||||
uint32_t indexBufferKey;
|
||||
uint32_t indexCapacityInput;
|
||||
uint32_t indexCountOutput;
|
||||
uint32_t *indices;
|
||||
};
|
||||
|
||||
struct XrSwapchainImageD3D11KHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
ID3D11Texture2D *texture;
|
||||
};
|
||||
|
||||
struct XrVulkanGraphicsDeviceGetInfoKHR
|
||||
struct XrHolographicWindowAttachmentMSFT
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
IUnknown *holographicSpace;
|
||||
IUnknown *coreWindow;
|
||||
};
|
||||
|
||||
struct XrSessionBeginInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrViewConfigurationType primaryViewConfigurationType;
|
||||
};
|
||||
|
||||
struct XrSystemProperties
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
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
|
||||
@ -1905,39 +1947,35 @@ struct XrCompositionLayerCylinderKHR
|
||||
float aspectRatio;
|
||||
};
|
||||
|
||||
struct XrCompositionLayerProjection
|
||||
struct XrCompositionLayerProjectionView
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrCompositionLayerFlags layerFlags;
|
||||
XrSpace space;
|
||||
uint32_t viewCount;
|
||||
const XrCompositionLayerProjectionView *views;
|
||||
XrPosef pose;
|
||||
XrFovf fov;
|
||||
XrSwapchainSubImage subImage;
|
||||
};
|
||||
|
||||
struct XrFrameBeginInfo
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
};
|
||||
|
||||
struct XrHolographicWindowAttachmentMSFT
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
IUnknown *holographicSpace;
|
||||
IUnknown *coreWindow;
|
||||
};
|
||||
|
||||
struct XrSystemProperties
|
||||
struct XrGraphicsRequirementsVulkanKHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrSystemId systemId;
|
||||
uint32_t vendorId;
|
||||
char systemName[XR_MAX_SYSTEM_NAME_SIZE];
|
||||
XrSystemGraphicsProperties graphicsProperties;
|
||||
XrSystemTrackingProperties trackingProperties;
|
||||
XrVersion minApiVersionSupported;
|
||||
XrVersion maxApiVersionSupported;
|
||||
};
|
||||
|
||||
struct XrRect2Df
|
||||
{
|
||||
XrOffset2Df offset;
|
||||
XrExtent2Df extent;
|
||||
};
|
||||
|
||||
struct XrView
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrPosef pose;
|
||||
XrFovf fov;
|
||||
};
|
||||
|
||||
struct XrCompositionLayerEquirect2KHR
|
||||
@ -1955,32 +1993,39 @@ struct XrCompositionLayerEquirect2KHR
|
||||
float lowerVerticalAngle;
|
||||
};
|
||||
|
||||
struct XrHandJointLocationsEXT
|
||||
struct XrEventDataBuffer
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
uint8_t varying[4000];
|
||||
};
|
||||
|
||||
struct XrSwapchainImageD3D11KHR
|
||||
{
|
||||
XrStructureType type;
|
||||
void *next;
|
||||
XrBool32 isActive;
|
||||
uint32_t jointCount;
|
||||
XrHandJointLocationEXT *jointLocations;
|
||||
ID3D11Texture2D *texture;
|
||||
};
|
||||
|
||||
struct XrCompositionLayerQuad
|
||||
struct XrCompositionLayerProjection
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrCompositionLayerFlags layerFlags;
|
||||
XrSpace space;
|
||||
XrEyeVisibility eyeVisibility;
|
||||
XrSwapchainSubImage subImage;
|
||||
XrPosef pose;
|
||||
XrExtent2Df size;
|
||||
uint32_t viewCount;
|
||||
const XrCompositionLayerProjectionView *views;
|
||||
};
|
||||
|
||||
struct XrSessionBeginInfo
|
||||
struct XrHandMeshMSFT
|
||||
{
|
||||
XrStructureType type;
|
||||
const void *next;
|
||||
XrViewConfigurationType primaryViewConfigurationType;
|
||||
void *next;
|
||||
XrBool32 isActive;
|
||||
XrBool32 indexBufferChanged;
|
||||
XrBool32 vertexBufferChanged;
|
||||
XrHandMeshIndexBufferMSFT indexBuffer;
|
||||
XrHandMeshVertexBufferMSFT vertexBuffer;
|
||||
};
|
||||
|
||||
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_xrResultToString)(XrInstance, XrResult, char[]);
|
||||
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_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef);
|
||||
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 xrResultToString(XrInstance instance, XrResult value, char buffer[]);
|
||||
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 xrSetInputDeviceLocationEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrSpace space, XrPosef pose);
|
||||
XrResult XRAPI_CALL xrSetInputDeviceStateBoolEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrBool32 state);
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<registry>
|
||||
<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
|
||||
|
||||
@ -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="LUNARG" author="LunarG" contact="Brad Grantham @bradgrantham-lunarg"/>
|
||||
<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="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 "/>
|
||||
@ -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.
|
||||
-->
|
||||
<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
|
||||
@ -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="int8_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="uint32_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="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. -->
|
||||
<!-- 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>
|
||||
@ -298,6 +302,9 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<!-- enums for XR_MSFT_spatial_graph_bridge -->
|
||||
<type name="XrSpatialGraphNodeTypeMSFT" category="enum"/>
|
||||
|
||||
<!-- enums and flag bits for XR_FB_android_surface_swapchain_create -->
|
||||
<type name="XrAndroidSurfaceSwapchainFlagBitsFB" category="enum"/>
|
||||
|
||||
<!-- Struct types -->
|
||||
<type category="struct" name="XrVector2f">
|
||||
<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>const <type>void</type>* <name>next</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>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 category="struct" name="XrVulkanDeviceCreateInfoKHR">
|
||||
<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><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>VkPhysicalDevice</type> <name>vulkanPhysicalDevice</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 category="struct" name="XrGraphicsBindingVulkan2KHR" alias="XrGraphicsBindingVulkanKHR" />
|
||||
<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>
|
||||
</type>
|
||||
<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>float</type> <name>radius</name></member>
|
||||
</type>
|
||||
@ -1286,6 +1293,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<member><type>IUnknown</type>* <name>coreWindow</name></member>
|
||||
</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 -->
|
||||
<type category="struct" name="XrLoaderInitInfoBaseHeaderKHR">
|
||||
<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>
|
||||
</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>
|
||||
|
||||
<!-- 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="-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="-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="-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."/>
|
||||
@ -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="-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="-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"/>
|
||||
</enums>
|
||||
<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"/>
|
||||
</enums>
|
||||
<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>
|
||||
|
||||
<!-- 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" />
|
||||
</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 -->
|
||||
<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">
|
||||
@ -2101,7 +2147,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<param><type>XrSystemId</type> <name>systemId</name></param>
|
||||
<param optional="true"><type>uint32_t</type> <name>bufferCapacityInput</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 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>
|
||||
@ -2109,7 +2155,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<param><type>XrSystemId</type> <name>systemId</name></param>
|
||||
<param optional="true"><type>uint32_t</type> <name>bufferCapacityInput</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 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>
|
||||
@ -2239,7 +2285,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
</command>
|
||||
<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">
|
||||
<proto><type>XrResult</type> <name>xrConvertTimeToTimespecTimeKHR</name></proto>
|
||||
<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>const <type>XrColorSpaceFB</type> <name>colorspace</name></param>
|
||||
</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>
|
||||
|
||||
<!-- 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 -->
|
||||
<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>
|
||||
<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 offset="0" extends="XrStructureType" name="XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR"/>
|
||||
<type name="XrVulkanSwapchainFormatListCreateInfoKHR"/>
|
||||
@ -2692,7 +2745,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<!-- Performance Settings extension -->
|
||||
<extension name="XR_EXT_performance_settings" number="16" type="instance" supported="openxr">
|
||||
<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 offset="0" extends="XrStructureType" name="XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT"/>
|
||||
<type name="XrPerfSettingsDomainEXT"/>
|
||||
@ -2815,7 +2868,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<!-- Vulkan graphics binding extension -->
|
||||
<extension name="XR_KHR_vulkan_enable" number="26" type="instance" protect="XR_USE_GRAPHICS_API_VULKAN" supported="openxr">
|
||||
<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 offset="0" extends="XrStructureType" name="XR_TYPE_GRAPHICS_BINDING_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 -->
|
||||
<extension name="XR_EXTX_overlay" number="34" type="instance" provisional="true" supported="openxr">
|
||||
<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 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"/>
|
||||
@ -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">
|
||||
<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"/>
|
||||
<command name="xrSetInputDeviceActiveEXT"/>
|
||||
<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">
|
||||
<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"/>
|
||||
|
||||
<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"
|
||||
requires="XR_EXT_hand_tracking" type="instance" supported="openxr">
|
||||
<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"/>
|
||||
|
||||
<command name="xrCreateHandMeshSpaceMSFT"/>
|
||||
@ -3209,10 +3262,10 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
</require>
|
||||
</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>
|
||||
<enum value="1" name="XR_MAGICLEAP_extension_59_SPEC_VERSION"/>
|
||||
<enum value=""XR_MAGICLEAP_extension_59"" name="XR_MAGICLEAP_extension_59_EXTENSION_NAME"/>
|
||||
<enum value="1" name="XR_ML_extension_59_SPEC_VERSION"/>
|
||||
<enum value=""XR_ML_extension_59"" name="XR_ML_extension_59_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
@ -3283,10 +3336,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
</require>
|
||||
</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>
|
||||
<enum value="1" name="XR_FB_extension_71_SPEC_VERSION"/>
|
||||
<enum value=""XR_FB_extension_71"" name="XR_FB_extension_71_EXTENSION_NAME"/>
|
||||
<enum value="1" name="XR_FB_android_surface_swapchain_create_SPEC_VERSION"/>
|
||||
<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>
|
||||
</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">
|
||||
<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 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"/>
|
||||
@ -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"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
<extension name="XR_EXT_extension_94" number="94" type="instance" supported="disabled">
|
||||
<require>
|
||||
<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"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
<extension name="XR_MSFT_extension_99" number="99" type="instance" supported="disabled">
|
||||
<require>
|
||||
<enum value="1" name="XR_MSFT_extension_99_SPEC_VERSION"/>
|
||||
<enum value=""XR_MSFT_extension_99"" name="XR_MSFT_extension_99_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
<extension name="XR_MSFT_extension_100" number="100" type="instance" supported="disabled">
|
||||
<require>
|
||||
<enum value="1" name="XR_MSFT_extension_100_SPEC_VERSION"/>
|
||||
<enum value=""XR_MSFT_extension_100"" name="XR_MSFT_extension_100_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
<extension name="XR_MSFT_extension_101" number="101" type="instance" supported="disabled">
|
||||
<require>
|
||||
<enum value="1" name="XR_MSFT_extension_101_SPEC_VERSION"/>
|
||||
@ -3528,7 +3588,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
|
||||
<type name="XrEventDataDisplayRefreshRateChangedFB"/>
|
||||
<enum offset="0" extends="XrStructureType" name="XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB"/>
|
||||
|
||||
|
||||
<command name="xrEnumerateDisplayRefreshRatesFB"/>
|
||||
<command name="xrGetDisplayRefreshRateFB"/>
|
||||
<command name="xrRequestDisplayRefreshRateFB"/>
|
||||
@ -3570,14 +3630,14 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
|
||||
<enum value=""XR_HTC_extension_107"" name="XR_HTC_extension_107_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
|
||||
<extension name="XR_HTC_extension_108" number="108" type="instance" supported="disabled">
|
||||
<require>
|
||||
<enum value="1" name="XR_HTC_extension_108_SPEC_VERSION"/>
|
||||
<enum value=""XR_HTC_extension_108"" name="XR_HTC_extension_108_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
|
||||
<extension name="XR_FB_color_space" number="109" type="instance" supported="openxr">
|
||||
<require>
|
||||
<enum value="1" name="XR_FB_color_space_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"/>
|
||||
</require>
|
||||
</extension>
|
||||
|
||||
<extension name="XR_KHR_binding_modification" number="121" type="instance" supported="openxr">
|
||||
<require>
|
||||
<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"/>
|
||||
</require>
|
||||
</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>
|
||||
|
||||
</registry>
|
||||
|
Loading…
x
Reference in New Issue
Block a user