Commit Graph

39 Commits

Author SHA1 Message Date
Yuxuan Shui
75c4f74e04 wineopenxr: Support acquiring/releasing images from D3D12 swapchains. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
7b3d5f33ba wineopenxr: Support creating a D3D12 XR instance. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
d18ff80721 wineopenxr: Don't recreate swapchain images for subsequent calls to EnumerateSwapchainImages. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
6b8b996001 wineopenxr: Print warnings if the application is giving us funny swapchain formats. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
22fa6c7346 wineopenxr: Propagate vulkan device IDs from steam.exe to the application. 2024-05-23 10:54:49 +03:00
Paul Gofman
c35598bb21 wineopenxr: Lock d3d11 device in xrReleaseSwapchainImage().
CW-Bug-Id: #23491
2024-05-23 10:54:49 +03:00
Paul Gofman
231c4b7112 wineopenxr: Lock d3d11 device in xrAcquireSwapchainImage().
CW-Bug-Id: #23491
2024-05-23 10:54:49 +03:00
Paul Gofman
cce9c8b308 wineopenxr: Lock d3d11 device in xrBeginFrame().
CW-Bug-Id: #23491
2024-05-23 10:54:49 +03:00
Paul Gofman
5cfe529c2a wineopenxr: Use API version 1.0.0 if current is not supported by the runtime.
CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
0fd8364e06 wineopenxr: Add some missing events unwrapping to wine_xrPollEvent().
CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
da30672797 wineopenxr: Update to 1.1.36 registry version.
CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
ded1941e73 wineopenxr: Implement auto mapping specified handles to dispatch table instead of manually wrapping those.
CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Shawn Wallace
0efcd7d787 wineopenxr: change instance type to session type
Graphics in OpenXR are bound by their sessions, not by their instances.

https://github.com/ValveSoftware/Proton/pull/7424
2024-05-23 10:54:49 +03: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
Rémi Bernon
273c5c22d1 wineopenxr: Fix compilation warnings.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Paul Gofman
e488a6cbaf wineopenxr: Update to 1.0.27 registry version.
CW-Bug-Id: #22244
2023-06-05 17:55:10 +03:00
Paul Gofman
e1d797fd97 wineopenxr: Use custom Vk structures instead of custom functions for creating Vk device through OpenXR. 2023-02-14 16:07:43 +02:00
Paul Gofman
09bbd8c0bf wineopenxr: Load unwrappers from winevulkan.so. 2023-02-14 16:07:43 +02:00
Shawn Wallace
618221db82 Return proper number of recognized swapchain formats if some are not recognized.
Link: https://github.com/ValveSoftware/Proton/pull/6079

Edited by Paul Gofman:
- fixed behaviour for Vulkan instance type;
- stylistic changes.
2022-10-14 18:36:01 +03:00
Paul Gofman
b908213041 wineopenxr: Set Unix __WINE_OPENXR_VK_DEVICE_EXTENSIONS env var instead of Windows.
CW-Bug-Id: #20036

That is read in the winevulkan's Unix part with getenv() now.
2022-01-24 22:53:20 +02:00
Paul Gofman
d1e6e83c15 wineopenxr: Convert projection view info chain in convert_XrCompositionLayer().
CW-Bug-Id: #19878
2022-01-19 11:29:54 +02:00
Paul Gofman
47d21b5618 wineopenxr: Update to 1.0.20 registry version. 2022-01-19 11:29:54 +02:00
Paul Gofman
c218238762 wineopenxr: Get required vulkan extensions from registry.
CW-Bug-ID: #19504
2021-11-11 18:36:08 +02:00
Paul Gofman
034ff27cf3 wineopenxr: Export __wineopenxr_get_extensions_internal() function.
CW-Bug-ID: #19504
2021-11-11 18:36:08 +02:00
Paul Gofman
9cf5ff5cec wineopenxr: Update to 1.0.18 registry version. 2021-08-12 10:54:19 -05:00
Paul Gofman
6471f83f55 wineopenxr: HACK: Force enable XR_KHR_win32_convert_performance_counter_time.
Linux SteamVR doesn't seem to support the Linux XR_KHR_convert_timespec_time
yet but the games start to refuse to work without the extension even if
they do not actually use it.

CW-Bug-Id: 19220
2021-08-12 10:54:19 -05:00
Paul Gofman
6981478bf5 wineopenxr: Substitute XR_KHR_convert_timespec_time for XR_KHR_win32_convert_performance_counter_time.
CW-Bug-Id: 19220
2021-08-12 10:54:19 -05:00
Paul Gofman
c35f4120d4 wineopenxr: Use array for coding extension substitution.
CW-Bug-Id: 19220
2021-08-12 10:54:19 -05:00
Paul Gofman
68fc0e1c11 wineopenxr: Update to 1.0.17 registry version. 2021-06-17 15:10:20 -05:00
Paul Gofman
53f2b7aea2 wineopenxr: Don't leak our_images on error in wine_xrEnumerateSwapchainImages().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:10 -05:00
Paul Gofman
5cec20f700 wineopenxr: Mind more fields from XrSwapchainCreateInfo when creating d3d11 swapchain texture.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:10 -05:00
Paul Gofman
36bb06593d wineopenxr: Fix physical device comparison in wine_xrCreateSession().
Affects logging WARN only.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:10 -05:00
Paul Gofman
29cd5135a3 wineopenxr: Sync DXVK queue in wine_xrEndFrame().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2021-03-31 14:08:10 -05:00
Paul Gofman
7c2bd90636 wineopenxr: Support XR_KHR_vulkan_enable2 extension. 2021-03-31 14:08:10 -05:00
Paul Gofman
0a4a8b7a01 wineopexr: Don't consider XrCompositionLayerColorScaleBiasKHR in convert_XrCompositionLayer().
This structure is not inherited from XrCompositionLayerBaseHeader but
is supposed to be passed as chained structure with a layer.
2021-03-31 14:08:10 -05:00
Paul Gofman
f5383fe715 wineopenxr: Call extra init-related functions from wine_xrCreateSession().
Based on a patch by Andrew Eikum.
2021-03-31 14:08:10 -05:00
Paul Gofman
090871ec2b wineopenxr: Use registry key to query VR availability. 2021-03-31 14:08:10 -05:00
Andrew Eikum
d72f1ef930 wineopenxr: HACK: Don't try to call OpenXR functions if OpenVR is not working 2021-01-14 10:11:07 -06:00
Andrew Eikum
38f603d7bf wineopenxr: Add openxr support 2021-01-11 12:26:56 -06:00