Commit Graph

52 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
3661124333 wineopenxr: Drop extensions from UNSUPPORTED_EXTENSIONS which can now be auto generated.
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
Paul Gofman
9ff5c9da91 wineopenxr: Define some structs earlier when generating definitions.
CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
98b0d5a4e0 wineopenxr: Don't break on recursive struct definition.
CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
26e5b94e4c wineopenxr: Don't sort funcpointers.
Sorting breaks generated code compilation due to funcpointers
dependencies on each other in the up to date registry.

CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
7c56794fa5 wineopenxr: Support function pointer definition with paramaters specified as plain element text.
To handle PFN_xrCreateApiLayerInstance definition in the up to date registry XML which
does that.

CW-Bug-Id: #23689
2024-05-23 10:54:49 +03:00
Paul Gofman
be90b5e952 wineopenxr: Handle XrPosef tracing.
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
859e51c65a wineopenxr: Get rid of DECLSPEC_HIDDEN. 2024-02-15 15:53:28 +02:00
Rémi Bernon
a20d4f3547 wineopenxr: Use SOURCES instead of C(XX)_SRCS. 2024-02-15 15:53:25 +02:00
Rémi Bernon
ec675e1fe3 wineopenxr: Link with unix vulkan, not PE.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
273c5c22d1 wineopenxr: Fix compilation warnings.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
ad41ceefce wineopenxr: Build using makedep rules.
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
a079bcd080 wineopenxr: Fix spec entries. 2021-06-17 15:10:20 -05:00
Paul Gofman
fb569a17e3 wineopenxr: Update to 1.0.15 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
e70629c08d wineopenxr: Update to 1.0.13 registry version. 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