285 Commits

Author SHA1 Message Date
Paul Gofman
9617a3a06f vrclient: Update to SDK v2.5.1. 2025-04-29 12:25:48 +03:00
Yuxuan Shui
f8b6bb5694 vrclient: Properly implement IVRSystem::GetOutputDevice.
CW-Bug-Id: #24891
2025-04-24 18:05:59 +03:00
Paul Gofman
92d497eefc vrclient: Improve relative path handling in vrclient_dos_to_unix_path().
CW-Bug-Id: #24798
2025-04-24 18:03:45 +03:00
Rémi Bernon
8d19973b01 vrclient: Check vrclient before dlclose. 2025-04-24 18:03:45 +03:00
Billy Laws
107a633b97 vrclient: Add support for ARM64. 2025-04-24 18:03:45 +03:00
Billy Laws
7436180e78 vrclient: Allocate runtime sized array dynamically. 2025-04-24 18:03:45 +03:00
Rémi Bernon
23fc5458da vrclient: Generate WOW64 thunks. 2025-04-24 18:03:45 +03:00
Billy Laws
c808bffb55 vrclient: Generate w32<->u64 structure converters. 2025-04-24 18:03:45 +03:00
Rémi Bernon
c31e612e7f vrclient: Generate type-annotated 32bit pointers. 2025-04-24 18:03:45 +03:00
Rémi Bernon
ad86a3029e vrclient: Use templates for IVRRenderModels unix side thunks. 2025-04-24 18:03:45 +03:00
Rémi Bernon
b38b8e062f vrclient: Use templates for IVRCompositor unix side thunks. 2025-04-24 18:03:45 +03:00
Rémi Bernon
8919e9243d vrclient: Use templates for IVRCompositor texture unwrap helpers. 2025-04-24 18:03:45 +03:00
Rémi Bernon
410d060627 vrclient: Use templates for IVROverlay unix side thunks. 2025-04-24 18:03:45 +03:00
Rémi Bernon
427e71fee8 vrclient: Use templates for some unix side thunks. 2025-04-24 18:03:45 +03:00
Rémi Bernon
4d4acd55cc vrclient: Exclude some unused structs. 2025-04-24 18:03:45 +03:00
Rémi Bernon
c52283497f vrclient: Strip vr:: prefix more consistently. 2025-04-24 18:03:44 +03:00
Rémi Bernon
d9c38daa27 vrclient: Build with long types. 2025-04-24 18:03:44 +03:00
Rémi Bernon
3dab466a9a vrclient: Use the buffer cache for indirectly returned strings. 2025-04-24 18:03:44 +03:00
Rémi Bernon
e57e06c9c5 vrclient: Use a string cache for returned unix side strings. 2025-04-24 18:03:44 +03:00
Rémi Bernon
85151b7dfa vrclient: Introduce unix-side buffer cache with PE allocate pointers.
There are several steam API calls that currently pass unix pointers
for e.g. strings directly to the PE-side, this allows for caching such
return values and returning a PE-side pointer instead.
2025-04-24 18:03:44 +03:00
Rémi Bernon
e91fadea51 vrclient: Update cxx.h to latest msvcrt version. 2025-04-24 18:03:44 +03:00
Rémi Bernon
f925f2f0d3 vrclient: Use 64bit handles for unix side interface pointers.
Based on a patch from Billy Laws.
2025-04-24 18:03:44 +03:00
Rémi Bernon
01e7e7eccf vrclient: Rename w_steam_iface to w_iface. 2025-04-24 18:03:44 +03:00
Rémi Bernon
634b00fff2 vrclient: Get rid of unnecessary U_PTR / W_PTR macros. 2025-04-24 18:03:44 +03:00
Rémi Bernon
ee9aa1f9eb vrclient: Use the new makedep module name patterns. 2025-04-24 18:03:44 +03:00
Rémi Bernon
146b3d0803 vrclient: Initialize OpenVR registry vulkan extensions.
CW-Bug-Id: #24510
2025-04-24 18:03:43 +03:00
Rémi Bernon
4ee2942625 vrclient: Init unixlib and load vrclient.so on registry init.
CW-Bug-Id: #24510
2025-04-24 18:03:12 +03:00
Rémi Bernon
80b7a10809 vrclient: Add a new export to initialize VR registry.
CW-Bug-Id: #24510
2025-04-24 18:03:12 +03:00
Rémi Bernon
abb2ac58d9 vrclient: Use wide string literals.
CW-Bug-Id: #24510
2025-04-24 18:03:12 +03:00
Rémi Bernon
175f5f6aa4 vrclient: Remove unused variable. 2025-04-24 18:03:12 +03:00
Billy Laws
454533f7e3 vrclient: Mark VRClientCoreFactory, HmdSystemFactory as stdcall. 2025-04-24 17:58:12 +03:00
Paul Gofman
e4fa0172f7 vrclient: Substitute Win32 extensions in GetVulkanDeviceExtensionsRequired().
CW-Bug-Id: #24553
2025-04-24 17:58:12 +03:00
Paul Gofman
8839d1e1f9 vrclient: Factor out get_vulkan_extensions_required().
CW-Bug-Id: #24553
2025-04-24 17:58:11 +03:00
Paul Gofman
1d3eb108be vrclient: Remove FIXME for Vulkan textures in set_skybox_override_init().
Nothing needs to be done with those on the PE side.

CW-Bug-Id: #24553
2025-04-24 17:58:11 +03:00
Paul Gofman
efb8612e29 vrclient: Revert "vrclient: HACK: Fixup digital action 'bChange' parameter on 32 bit."
By removing manual handling of IVRInput::GetDigitalActionData().

CW-Bug-Id: #19067
CW-Bug-Id: #24440
2024-11-21 17:31:33 +02:00
Paul Gofman
b87c6e39d2 vrclient: Fix flatapi calls on 32 bit.
CW-Bug-Id: #24429
2024-11-21 17:31:33 +02:00
Paul Gofman
63e81a1a95 vrclient_x64: Fix source length for ntdll_umbstowcs().
CW-Bug-Id: #23962
2024-07-02 17:01:48 +03:00
Yuxuan Shui
a3711d4747 vrclient_x64: Support submitting D3D12 textures.
CW-Bug-Id: #23542
2024-05-23 10:54:49 +03:00
Paul Gofman
76369eb526 vrclient: Support v2.2.3.
CW-Bug-Id: #23412
2024-05-23 10:54:49 +03:00
Paul Gofman
2d93d45926 vrclient: Support v2.0.10.
CW-Bug-Id: #23412
2024-05-23 10:54:49 +03:00
Paul Gofman
5ec8d4dcfb vrclient: Remove upper version limit for IVRCompositor_WaitGetPoses manual override.
CW-Bug-Id: #23412
2024-05-23 10:54:49 +03:00
Paul Gofman
8f03470527 vrclient_x64: Unload native vrclient shared library on process detach.
CW-Bug-Id: #23390
2024-02-15 15:53:29 +02:00
Paul Gofman
250242f66a vrclient: Return STATUS_SUCCESS from vrclient_init() on initialization failures.
Initialization status is returned in parameters, returning non-zero
NTSTATUS causes unneeded assertion failure.

CW-Bug-Id: #23354
2024-02-15 15:53:29 +02:00
Paul Gofman
ff94f04eca steam_helper, vrclient, openxr: Use Unix ABI for winevulkan unwrappers.
CW-Bug-Id: #23180
2024-02-15 15:53:29 +02:00
Paul Gofman
9e6011147d vrclient: Fail initialization if winevulkan unwrappers cannot be loaded.
CW-Bug-Id: #23180
2024-02-15 15:53:29 +02:00
Rémi Bernon
29e9357b09 vrclient: Fix incorrect sized int type for VRInputValueHandle_t.
Fixes a regression in Racket: NX from 9b0930f925009c4dbd30ecd83281cd0c7b91eb5b.

CW-Bug-Id: #22729
CW-Bug-Id: #23147
2024-02-15 15:53:29 +02:00
Rémi Bernon
3784d63a26 vrclient: Remove unnecessary struct_needs_size_adjustment.
CW-Bug-Id: #22729
CW-Bug-Id: #23147
2024-02-15 15:53:29 +02:00
Rémi Bernon
77c5345632 vrclient: Respect provided struct sizes when returning structures.
CW-Bug-Id: #22729
CW-Bug-Id: #23147
2024-02-15 15:53:29 +02:00
Rémi Bernon
e24f98aa3b vrclient: Add warnings and asserts to unixlib calls.
CW-Bug-Id: #22729
2024-02-15 15:53:29 +02:00
Rémi Bernon
37785cfbd3 vrclient: Split unixlib and build with msvcrt.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00