Rémi Bernon
0ffeec686f
vrclient: Introduce a new Method cursor wrapper.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
957ce193f9
vrclient: Introduce a new Class cursor wrapper.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
5990126dad
vrclient: Use the generated names in the C++ method.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
1909c6d441
vrclient: Simplify next-is-size handling a bit.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
f8a14dfd27
vrclient: Use declspec to generate C++ method signature.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
992384b88f
vrclient: Use method.get_arguments instead of get_params.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
5e89fb156a
vrclient: Split C++/C method generation helpers.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
f3eb7b9491
vrclient: Split cpp_h generation to a dedicated method.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
30e873331c
vrclient: Return all struct abis from find_struct.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
c5a4bc1729
vrclient: Filter structs and classes while parsing.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
6a59c1377a
vrclient: Use the all_records dict to lookup structs.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
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
Józef Kucia
f7ffa9c395
vrclient: Use movaps to shift XMM registers.
...
Follow what GCC does.
2018-10-11 08:21:08 -05:00
Józef Kucia
824d0765aa
vrclient/gen_wrapper: Reduce code duplication slightly.
2018-10-11 08:21:08 -05:00
Andrew Eikum
58ec0b8b97
lsteamclient: Fix order of overloaded methods in vtable
...
msvc++ groups overloaded methods and places them in reverse order of
declaration in the vtable.
2018-09-06 14:22:36 -05:00
Mayeul Cantan
0f80f2f52c
Import print_function from __future__ for python compatibility
...
This alters the behaviour of python2's print statement to be compatible
with python3's print function. While not strictly necessary for now,
this might help future compatibility.
Thanks to Seppo Yli-Olli (@nanonyme) for suggesting this.
2018-08-24 09:28:52 +02:00
Mayeul Cantan
9c3667c083
Make proton, gen_wrapper and user_settings python scripts version-agnostic
2018-08-23 14:24:39 +02:00
Seppo Yli-Olli
d162bda989
Sanitize hashbang
2018-08-22 16:49:20 +03:00
Józef Kucia
9344fea359
vclient: Add tests for C API thunks.
2018-07-30 18:04:25 +02:00
Józef Kucia
d8f1c49922
vrclient: Move source files to separate directory.
...
In preparation for the next commit.
2018-07-30 17:43:32 +02:00
Józef Kucia
cef5122550
vrclient: Fix x64 C API thunks for methods returning records.
2018-07-30 17:43:32 +02:00
Józef Kucia
304a3d8b76
vrclient: Fix float parameters in x64 C API thunks.
2018-07-30 17:43:19 +02:00
Józef Kucia
92f395ddd5
vrclient/gen_wrapper: Introduce get_params() helper function.
2018-07-30 12:49:50 +02:00
Józef Kucia
d687b83fcb
vrclient: Generate call_flat_method() functions.
...
In order to remove hardcoded limit for parameter count in C API
functions.
2018-07-30 09:34:15 +02:00
Józef Kucia
23ffdc5ec8
vrclient: Fix x64 thunks for C API.
...
* Clean up the stack properly.
* Do not push parameters after shadow register space.
2018-07-26 12:19:15 -05:00
Andrew Eikum
97cb5639d7
vrclient: Fix building on macos
2018-06-07 10:16:52 -05:00
Andrew Eikum
fb1c2686a2
vrclient: Support IVRInput and IVRIOBuffer
2018-06-05 10:02:07 -05:00
Andrew Eikum
af59703d41
vrclient: Import openvr v1.0.13, v1.0.14, and v1.0.15
2018-06-05 09:39:20 -05:00
Andrew Eikum
d472d536cf
vrclient: Call SetExplicitTimingMode even on older vrclient versions
2018-06-05 09:34:21 -05:00
Zebediah Figura
f7510f2a7b
vrclient: Add support for flat (FnTable) API
2018-06-04 14:50:18 -05:00
Andrew Eikum
565041c0e7
vrclient: Don't build DXVK support on 32-bit Mac
...
MoltenVK is 64-bit only, so DXVK will not be supported on 32-bit.
2018-05-23 14:34:53 -05:00
Philip Rebohle
e01a5a2855
vrclient: Add DXVK support for D3D11 submissions
2018-05-10 17:40:33 -07:00
Philip Rebohle
bc88c17a36
vrclient: Add DXVK interop header
2018-05-10 17:39:23 -07:00
Andrew Eikum
f8acbc68a9
vrclient: Support TextureWithPose and TextureWithDepth
2018-05-02 08:40:26 -05:00
Andrew Eikum
3c3c08a850
vrclient: Fix building on mac
2018-04-19 14:34:51 -05:00
Andrew Eikum
fa7accb724
Update license info
2018-04-19 12:52:55 -05:00
Józef Kucia
bd96c106ce
vrclient: Wait for pending command stream operations before IVRClientCore::Cleanup()
...
Command stream callbacks may try to access VR client objects.
2018-04-19 16:11:58 +02:00
Józef Kucia
a1031dbce4
vrclient: Add destructors for win objects
2018-04-19 15:55:28 +02:00
Józef Kucia
832108fc39
vrclient: Cleanup includes in vrclient_main.c
2018-04-19 11:26:54 +02:00
Andrew Eikum
5aa155edb2
vrclient: Use Vulkan unwrappers in IVRSystem::GetOutputDevice
2018-04-11 11:38:16 -05:00
Andrew Eikum
f386e16db8
vrclient: Use Vulkan unwrappers in IVRCompositor::GetVulkanDeviceExtensionsRequired
2018-04-11 11:38:05 -05:00
Andrew Eikum
73ba2b3471
vrclient: Use Vulkan unwrappers for IVRCompositor::Submit
2018-04-11 11:37:26 -05:00
Józef Kucia
f83a2f393c
vrclient: Call IVRCompositor::SubmitExplicitTimingData() for wined3d D3D11
2018-04-11 08:10:59 -05:00
Józef Kucia
69e7d14b65
vrclient: Enable explicit timing for wined3d D3D11
...
This makes IVRCompositor::WaitGetPoses() graphics-agnostic, and allows
us to call IVRCompositor::Submit() from the wined3d command stream.
2018-04-11 08:10:59 -05:00
Józef Kucia
7b06a5685a
vrclient: Call IVRCompositor::PostPresentHandoff() on wined3d command stream thread
...
IVRCompositor::PostPresentHandoff() has to be called on the same thread
as IVRCompositor::Submit()
2018-04-11 08:10:59 -05:00
Józef Kucia
dae9230aff
vrclient: Add initial support for wined3d D3D11
2018-04-11 08:10:58 -05:00
Józef Kucia
2caa4964d2
vrclient: Add definitions for types which can be dereferenced in IVRCompositor::Submit()
2018-04-11 08:10:58 -05:00
Józef Kucia
f126716098
vrclient: Add method overrides for IVRCompositor::Submit()
2018-04-11 08:10:58 -05:00
Józef Kucia
dcfb566f89
vrclient: Implement IVRSystem::GetDXGIOutputInfo()
2018-04-11 08:10:58 -05:00
Andrew Eikum
e217e277c4
Support building for Mac
...
Patch by Aric
2018-02-08 09:21:25 -06:00
Andrew Eikum
6b5f94f2ef
vrclient: Pass Linux struct size to Linux GetControllerState
2018-02-02 11:02:30 -06:00