Commit graph

150 commits

Author SHA1 Message Date
Rémi Bernon
0b01dbee04 vrclient: Simplify next-is-size handling a bit.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
4caba0be92 vrclient: Use declspec to generate C++ method signature.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
27736adb76 vrclient: Use method.get_arguments instead of get_params.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
32dff08a42 vrclient: Split C++/C method generation helpers.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
c58925af68 vrclient: Split cpp_h generation to a dedicated method.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
eaf6d83cf1 vrclient: Return all struct abis from find_struct.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
67d2ae8e88 vrclient: Filter structs and classes while parsing.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
c2e6c8c56d vrclient: Use the all_records dict to lookup structs.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
95f33e076d vrclient: Introduce new canonical_typename helper.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
04aa1b2efa vrclient: Sort classes by their version string.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
430cf3601a vrclient: Filter classes by version before generating.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
d1baf2d116 vrclient: Parse SDK versions and ABIs in parallel.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
d4ac89c481 vrclient: Split loading, parsing, and generating steps.
CW-Bug-Id: #22729
2023-12-19 19:42:12 +01:00
Rémi Bernon
6f66cf2ffd vrclient: Introduce a dedicated parsing function.
CW-Bug-Id: #22729
2023-12-19 19:42:12 +01:00
Rémi Bernon
bdac7963b3 vrclient: Use a dict for SDK sources / class mapping.
CW-Bug-Id: #22729
2023-12-19 19:42:12 +01:00
Rémi Bernon
7f722fb6d1 lsteamclient: Use a dict for SDK sources / class mapping.
CW-Bug-Id: #22729
2023-12-19 19:42:12 +01:00
Rémi Bernon
732ee565b5 vrclient: Use upper-case global constants.
CW-Bug-Id: #22729
2023-12-19 19:42:12 +01:00
Rémi Bernon
ac07abfc26 vrclient: Remove unused imports and duplicate entries.
CW-Bug-Id: #22729
2023-12-19 19:42:12 +01: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
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
e0f82e30cb vrclient: Support v1.16.8.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
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
Matt Coffin
74b7f33e98 vrclient: Add support for DXVK in IVROverlay::SetOverlayTexture 2020-10-14 15:05:31 -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
f348b4e6ab vrclient: Generate v1.11.11 support 2020-09-29 14:29:06 -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
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
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
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
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
520d675f11 vrclient: Fix up windows-side struct packing 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
3f44c228fe vrclient: Add openvr v1.0.16 and v1.0.17 support 2018-10-31 07:48:33 -05:00
Józef Kucia
cf2be60a67 vrclient: Implement LoadIntoTextureD3D11_Async(). 2018-10-11 08:21:09 -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
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
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
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
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
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
6b5f94f2ef vrclient: Pass Linux struct size to Linux GetControllerState 2018-02-02 11:02:30 -06:00
Andrew Eikum
e8edb0f783 vrclient: Add sdk v1.0.12 2018-01-31 11:00:21 -06:00
Andrew Eikum
9982ade529 vrclient: Fix building with winemaker 2018-01-18 13:32:36 -06:00
Andrew Eikum
a89b44235a Add vrclient 2018-01-18 13:29:49 -06:00