Commit graph

242 commits

Author SHA1 Message Date
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 9b0930f925.

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
Rémi Bernon
1e55f9de08 vrclient: Get rid of DECLSPEC_HIDDEN. 2024-02-15 15:53:28 +02:00
Rémi Bernon
dcc841cab0 vrclient: Default calling convention is cdecl.
CW-Bug-Id: #22729
CW-Bug-Id: #23085
2024-02-15 15:53:28 +02:00
Tyson Whitehead
ae89737911 vrclient: Ignore Submit_TextureWithDepth for TextureType_DirectX
Don't bother passing as SteamVR compositor ignores depth textures.

Link: https://github.com/ValveSoftware/Proton/pull/7286
2024-02-15 15:53:28 +02:00
Tyson Whitehead
8c44c9e9ee vrclient: Handle Submit_TextureWithPose for TextureType_DirectX
This resolves a black HMD with the log message
"fixme:vrclient:ivrcompositor_submit_dxvk Unhandled flags 0x8".

Link: https://github.com/ValveSoftware/Proton/pull/7286
2024-02-15 15:53:28 +02:00
Rémi Bernon
8de58db409 vrclient: Trace IVRCompositor_Submit parameters.
CW-Bug-Id: #22729
CW-Bug-Id: #23000
2024-02-15 15:53:28 +02:00
Rémi Bernon
8ff2cf5e8e vrclient: Make sure the param structs are consistently aligned.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
fd574a64ca vrclient: Use int8_t instead of ambiguous sized bool.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
5190d26e7e vrclient: Remove unnecessary return value cast.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
f5ef49cf29 vrclient: Use manual method for IVRTrackedCamera_GetVideoStreamFrame. 2024-02-15 15:53:28 +02:00
Rémi Bernon
e9aeba85f2 vrclient: Move sources out of vrclient_x64 subfolder.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
d8574d35a5 vrclient: Add traces to path conversion helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
1e8d243065 vrclient: Move unix to dos path conversions to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
43481a24ff vrclient: Move dos to unix path conversion to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
fd5711e93b vrclient: Use unixlib interface for C API functions.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
4e8556ae62 vrclient: Move json conversion to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
13fa4c9b13 vrclient: Remove now unused PE-side unwrappers.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
9219ad9490 vrclient: Unwrap Submit vulkan objects on the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
59205c21ee vrclient: Unwrap SetSkyboxOverride vulkan objects on the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
0e092b3940 vrclient: Unwrap IVROverlay_SetOverlayTexture vulkan objects on the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
5ef99b39a3 vrclient: Unwrap vulkan objects outside of vrclient_translate_texture_dxvk.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
ec9b2692c7 vrclient: Move physical device wrapping to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
a185561e88 vrclient: Generate unixlib interface in unixlib_generated.h.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
7449bca90b vrclient: Generate C++ interfaces in unix_private_generated.h.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
53e65e1ffd vrclient: Update cxx.h to latest msvcp90 version.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
03366c4d33 vrclient: Move vulkan wrapper / unwrapper loading to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
c6a9e4ce99 vrclient: Move initialization to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
4823be943d vrclient: Generate iface constructor lookup function.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
70629f4d71 vrclient: Remove unused tests generation code.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
c31c7b7144 vrclient: Remove old struct conversion code.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
3defc39189 vrclient: Use manual methods instead of wrap / unwrap.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
3bfdfc205f vrclient: Use the new structures in thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
f5944b9ae5 vrclient: Generate wtou / utow struct conversion helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
f1f483a443 vrclient: Generate struct definitions for all abis.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
cafc3fb8e7 vrclient: Classify struct compatibility over SDK versions.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
ee98a08f4c vrclient: Use Struct and Field class for conversions.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
d4cefca096 vrclient: Introduce new Struct generator class.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
f8cb502eea vrclient: Generate function types with ABI attributes.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
468731b011 vrclient: Generate linux interface structs.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
4988734817 vrclient: Remove unnecessary typedefs.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
0a2a3c514f vrclient: Get rid of the remaining openvr typedefs.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
aaf9ba6e56 lsteamclient: Generate functions with calling convention.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
77d381cd1d vrclient: Use standard fixed size integer types.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
af68b26a9b vrclient: Use integer types instead of enums.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00