Commit Graph

193 Commits

Author SHA1 Message Date
Rémi Bernon
2aa6fac5cb vrclient: Introduce new canonical_typename helper.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
f82c90c71a vrclient: Sort classes by their version string.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
dd7031d547 vrclient: Filter classes by version before generating.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
e6cce9236c vrclient: Parse SDK versions and ABIs in parallel.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
60876a1cc6 vrclient: Split loading, parsing, and generating steps.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
d8bb8ba6a3 vrclient: Introduce a dedicated parsing function.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
73db1a9176 vrclient: Use a dict for SDK sources / class mapping.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
ff2999e563 lsteamclient: Use a dict for SDK sources / class mapping.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
67210df56b vrclient: Use upper-case global constants.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
34f52223fc vrclient: Remove unused imports and duplicate entries.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Paul Gofman
d229821fdf vrclient: Support v1.26.7.
CW-Bug-Id: #22757
2023-12-07 13:43:40 +02:00
Paul Gofman
2f851ecb82 vrclient: Support v1.23.7. 2023-06-05 17:55:10 +03:00
Paul Gofman
967b7878e5 vrclient: Update clang path in gen_wrapper.py to 15. 2023-06-05 17:55:10 +03:00
Paul Gofman
74ae018197 vrclient: Load unwrappers from winevulkan.so. 2023-02-14 16:07:43 +02:00
Paul Gofman
a62a80be58 vrclient: Use PROTON_VR_RUNTIME from registry if env var is not there.
CW-Bug-Id: #21036
2022-08-10 19:29:30 +03:00
Arkadiusz Hiler
9a07890d7e vrclient: Remove wined3d interop.
DXVK interop is still in place.
2022-01-24 22:53:20 +02:00
Paul Gofman
dd35b33d6c vrclient: Update clang path in gen_wrapper.py to 13.0.0. 2022-01-24 22:53:20 +02:00
Rémi Bernon
a7d8aabc0d vrclient: Parse all include files at once. 2022-01-19 11:29:54 +02:00
Rémi Bernon
db7e0e7a14 vrclient: Remove unnecessary includes. 2022-01-19 11:29:54 +02:00
Rémi Bernon
fc14f36b9d vrclient: Use dicts to lookup structs in gen_wrapper.py. 2022-01-19 11:29:54 +02:00
Rémi Bernon
e868aa6e1a vrclient: Import from clang.cindex instead of prefixing. 2022-01-19 11:29:54 +02:00
Paul Gofman
450f3e8025 vrclient: HACK: Fixup digital action 'bChange' parameter on 32 bit.
CW-Bug-Id: 19067
2021-08-12 10:54:19 -05:00
Paul Gofman
d46e6aaada vrclient: Fixup size for structs with matching field offsets but mismatched size.
CW-Bug-Id: 19067
2021-08-12 10:54:19 -05:00
Paul Gofman
7c30c77105 vrclient: Return stored BMD presence from BIsHmdPresent() if client core is not initialized.
CW-Bug-Id: 18901
2021-05-13 10:06:49 -05:00
Paul Gofman
5d57ef328f vrclient: Cleanup vrclient before native library unload if the app failed to do so.
Unloading native library without the cleanup hangs. If the native
library is not unloaded explicitly the Linux process then hangs on exit.

Fixes hang on exit from Doom VFR.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:11 -05:00
Paul Gofman
52415ddaa4 vrclient: Use Vulkan texture array for d3d11 texture arrays.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:10 -05:00
Paul Gofman
e0f82e30cb vrclient: Support v1.16.8.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:10 -05:00
Paul Gofman
92b8b209f2 vrclient_x64: Translate action manifest path in startup info. 2021-03-31 14:08:10 -05:00
Paul Gofman
d2948348b0 vrclient_x64: Use staging texture for the right eye in case of submitted d3d11 texture array. 2021-03-31 14:08:10 -05:00
Paul Gofman
4f51390dde vrclient_x64: Set explicit timing mode when d3d11 application uses PostPresentHandoff. 2021-03-31 14:08:10 -05:00
Paul Gofman
66ded86b3e vrclient_x64: Use static internal compositor data.
VRCompositor ought to be a singleton. Some applications (Gravity Sketch
VR) access VRCompositor multiple times, so we need to share data between
instances.
2021-03-31 14:08:10 -05:00
Paul Gofman
74313aa478 vrclient_x64: Perform skybox textures conversion for dxvk textures. 2021-03-31 14:08:10 -05:00
Paul Gofman
98f55bfdb1 vrclient_x64: Unload native vrclient shared library on process detach. 2021-03-31 14:08:10 -05:00
Paul Gofman
89c297da9d vrclient_x64: Resolve absolute path in vrclient_dos_path_to_unix_path(). 2021-03-31 14:08:10 -05:00
Andrew Eikum
8398ebded4 update wine to 6.3 2021-03-31 14:08:09 -05:00
Paul Gofman
f5a9a2a302 vrclient_x64: Do not change handle in in ivrcompositor_submit_vulkan().
No Man's Sky is giving us vulkan handle in that handle. It looks like
the depth texture is not used by openvr, putting anything to this handle
does not trigger any fault or Vulkan validation error.
2021-02-05 08:18:54 -06:00
Matt Coffin
a2ccc70f7b vrclient: Add FIXME for wined3d in IVROverlay::SetOverlayTexture 2020-10-14 15:05:38 -05:00
Matt Coffin
1625ed00c7 vrclient: Add support for Vulkan in IVROverlay::SetOverlayTexture 2020-10-14 15:05:34 -05:00
Matt Coffin
74b7f33e98 vrclient: Add support for DXVK in IVROverlay::SetOverlayTexture 2020-10-14 15:05:31 -05:00
Matt Coffin
ed6a644fc3 vrclient: Fix segfault on NULL texture handles
This fixes a crash on startup for Assetto Corsa Competizione (805550)
2020-10-14 15:04:09 -05:00
Andrew Eikum
c27354dac6 vrclient: Support v1.14.15 2020-10-13 13:50:05 -05:00
Andrew Eikum
a0925a9e97 vrclient: Support v1.13.10 2020-10-13 13:50:05 -05:00
Andrew Eikum
32ebe94ce3 vrclient: Generate v1.12.5 support 2020-09-29 14:29:06 -05:00
Andrew Eikum
8ae9804ee2 vrclient: Import openvr v1.12.5 2020-09-29 14:29:06 -05:00
Andrew Eikum
f348b4e6ab vrclient: Generate v1.11.11 support 2020-09-29 14:29:06 -05:00
Andrew Eikum
656181d744 vrclient: Import openvr v1.11.11 2020-09-29 14:29:06 -05:00
Andrew Eikum
7d444028c3 update wine to 5.13 2020-09-29 14:29:05 -05:00
Pierre-Loup A. Griffais
80d7014333 vrclient: Override WaitGetPoses for new IVRCompositor versions 2020-03-22 17:38:50 -05:00
Andrew Eikum
13ccf8a854 vrclient: Convert paths coming in over JSON 2020-03-19 14:48:52 -05:00
Andrew Eikum
0a77ffde26 vrclient: import jsoncpp 2020-03-19 14:48:52 -05:00
Andrew Eikum
bf3ca0fd4a vrclient: support openvr v1.10.30 2020-03-19 14:48:52 -05:00
Andrew Eikum
c7c3b3c8a7 vrclient: Support openvr v1.9.16 2020-03-18 13:50:17 -05:00
Andrew Eikum
349df9c436 steam_helper: Set up VR paths in steam.exe, not proton
This speeds up game launch times.
2020-03-09 10:03:54 -05:00
Andrew Eikum
9cf68a1c5e vrclient: Support openvr v1.8.19 2020-01-10 08:35:33 -06:00
Andrew Eikum
fc3fcd51f8 vrclient: Support openvr v1.7.15 2020-01-10 08:35:33 -06:00
Andrew Eikum
f35f663a1b vrclient: Handle NULL texture argument to IVRRenderModels::LoadIntoTextureD3D11_Async 2020-01-10 08:35:33 -06:00
Andrew Eikum
115b422c8f vrclient: Support IVRRenderModels::LoadTextureD3D11_Async 2020-01-10 08:35:33 -06:00
Andrew Eikum
46f1a6c236 vrclient: Truncate short VREvent_t structs 2019-10-08 15:21:18 -05:00
Andrew Eikum
b32161679d vrclient: Add field alignment to converted structs, too 2019-09-24 08:00:09 -05:00
Andrew Eikum
1d2b72f307 vrclient: Handle size parameters and fields 2019-09-24 08:00:09 -05:00
Andrew Eikum
2da8a7dd32 vrclient: Dereference more typedefs 2019-09-24 08:00:09 -05:00
Andrew Eikum
f24e88d400 vrclient: remove redundant user_structs field 2019-09-24 08:00:09 -05:00
Andrew Eikum
3584832fa4 vrclient: Clean up struct conversion 2019-09-24 08:00:09 -05:00
Andrew Eikum
3fecadaf4e vrclient: fix up const types 2019-09-24 08:00:09 -05:00
Andrew Eikum
223286df88 vrclient: Dereference typedefs 2019-09-24 08:00:08 -05:00
Andrew Eikum
ede0f96149 vrclient: Convert structure members 2019-09-24 08:00:08 -05:00
Andrew Eikum
8fe55dee47 vrclient: Check all structs for conversion 2019-09-24 08:00:08 -05:00
Andrew Eikum
181eb3a68f vrclient: Use 32-bit build for thiscall wrappers 2019-09-24 08:00:08 -05:00
Andrew Eikum
2eda0d235b vrclient: Add alignment attribute if needed 2019-09-24 08:00:08 -05:00
Andrew Eikum
8de08a1485 vrclient: Handle NULL parameters to wrapped structs 2019-09-24 08:00:08 -05:00
Andrew Eikum
81b9803214 vrclient: Support v1.6.10 2019-08-23 09:57:46 -05:00
Joshua Ashton
948aeac50d vrclient: Support for HmdSystemFactory export
Fixes a crash in Half-Life 2 in settings, and other legacy VR titles
2019-08-08 14:14:28 -05:00
Sophie Tauchert
99764d17b1 vrclient: Add openvr v1.5.17 support 2019-07-18 06:10:48 -05:00
Andrew Eikum
44f447e9a6 openvr: Support v1.4.18 2019-07-03 08:14:33 -05:00
Andrew Eikum
27b0d4083d openvr: Support v1.3.22 2019-07-03 08:14:33 -05:00
Andrew Eikum
94568eaa23 openvr: Support v1.2.10 2019-07-03 08:14:33 -05:00
Andrew Eikum
11d23de666 vrclient: Downgrade some ERRs 2019-06-17 15:18:14 -05:00
Andrew Eikum
520d675f11 vrclient: Fix up windows-side struct packing 2019-03-21 08:31:33 -05:00
Andrew Eikum
cb4490fb03 vrclient: Fix up pointer cast to latest TextureMap type 2019-03-21 08:31:33 -05:00
Andrew Eikum
a2bedd9c8f vrclient: Convert more file paths 2019-03-21 08:31:33 -05:00
hdmap
1ff16641fd vrclient: Translate filepath for SetActionManifestPath 2019-03-21 08:31:33 -05:00
Andrew Eikum
8e26729a1c vrclient: Support openvr v1.1.3b 2018-12-20 10:53:32 -06:00
hdmap
f260a2cb30 vrclient: Support intermediate version 1.0.3a
Used by The Lab.
2018-12-20 10:53:32 -06:00
Andrew Eikum
b14b9ed721 vrclient: Fix IVRRenderModels usage 2018-11-05 11:25:28 -06:00
Andrew Eikum
3f44c228fe vrclient: Add openvr v1.0.16 and v1.0.17 support 2018-10-31 07:48:33 -05:00
Andrew Eikum
cc3e4210cd Revert "build dxvk as native .so"
This reverts commits aef98f1e7d and f85b734f66.

The Steam Runtime is too old to build DXVK, so we have to continue
building it as a Windows DLL.
2018-10-16 07:50:33 -05:00
Andrew Eikum
f85b734f66 Update DXVK to v0.80 and build as native .so 2018-10-11 08:21:09 -05:00
Józef Kucia
cf2be60a67 vrclient: Implement LoadIntoTextureD3D11_Async(). 2018-10-11 08:21:09 -05:00
Józef Kucia
b44c226242 vrclient: Log IVRClientCore initialization errors. 2018-10-11 08:21:09 -05:00
Józef Kucia
7ea55b4679 vrclient: Avoid unnecessary casts. 2018-10-11 08:21:09 -05:00
Józef Kucia
8f57eb1487 vrclient/wined3d: Handle depth textures in synchronous mode. 2018-10-11 08:21:09 -05:00
Józef Kucia
7902969fd7 vrclient/wined3d: Use synchronous mode for older versions. 2018-10-11 08:21:09 -05:00
Józef Kucia
60a45d33b6 vrclient/dxvk: Add FIXME() for unhandled flags. 2018-10-11 08:21:09 -05:00
Józef Kucia
a7eec2b6e9 vrclient: Remove dead code. 2018-10-11 08:21:09 -05:00
Józef Kucia
c0f2627396 vrclient: Introduce VRCLIENT_HAVE_DXVK. 2018-10-11 08:21:09 -05:00
Józef Kucia
cad4edfed8 vrclient: Factor out ivrcompositor_submit_vulkan(). 2018-10-11 08:21:09 -05:00
Józef Kucia
53b798a62f vrclient: Factor out ivrcompositor_submit_dxvk(). 2018-10-11 08:21:08 -05:00
Józef Kucia
66e149f87f vrclient: Factor out ivrcompositor_submit_wined3d(). 2018-10-11 08:21:08 -05:00
Józef Kucia
3f2b30d351 vrclient: Make get_our_compositor() thread-safe.
get_our_compositor() is also called from the wined3d command stream
thread.
2018-10-11 08:21:08 -05:00
Józef Kucia
5d073d3f40 vrclient: Add CFI directives to asm functions.
Fixes backtraces.
2018-10-11 08:21:08 -05:00