Commit Graph

109 Commits

Author SHA1 Message Date
Georg Lehmann f46c4a3920 winevulkan: Automatically generate vkGetPrivateDataEXT.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Georg Lehmann 741153114d winevulkan: Automatically generate vkSetPrivateDataEXT.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Georg Lehmann 95612e297a winevulkan: Update to VK spec version 1.2.182.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Jacek Caban 8285f61603 winevulkan: Make core function thunks static.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 17:58:16 +02:00
Derek Lesho 0c74c809c7 winevulkan: Specify which structures to ignore in STRUCT_CHAIN_CONVERSIONS.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Derek Lesho 961d611baf winevulkan: Use automatically-generated thunk for vkQueueSubmit.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:58:55 +02:00
Derek Lesho 8f2f1f83c3 winevulkan: Use automatically-generated thunk for vkCmdExecuteCommands.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:58:36 +02:00
Derek Lesho fb8ab5e9d0 winevulkan: Add support for unwrapping handles in thunks.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:58:18 +02:00
Liam Middlebrook 21e002aa7e winevulkan: Update to VK spec version 1.2.178.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 20:33:34 +02:00
Liam Middlebrook b2cc53d32e winevulkan: Allow some experimental VK extensions to be translated.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 20:33:34 +02:00
Jacek Caban 0fce8076f2 winevulkan: Use wine_ prefix for Unix thunks.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Liam Middlebrook 9c1d52dff4 winevulkan: Update to VK spec version 1.2.176.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Jacek Caban 250072f91e winevulkan: Move Vulkan calls to Unix lib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Jacek Caban 9e34b8b0d6 winevulkan: Implement Vulkan entry points as wrappers around unix_funcs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Jacek Caban c7eeeb0191 winevulkan: Introduce unix_funcs struct.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Jacek Caban a27d5bae11 winevulkan: Use standard CRT memory allocators.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-13 17:34:09 +02:00
Georg Lehmann 88da78ef42 winevulkan: Generate a separate physical device dispatch table.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 22:44:35 +02:00
Victor Hermann Chiletto 2c548247c9 winevulkan: Implement vkEnumerateDeviceLayerProperties.
Currently, this function is passed through winevulkan to the system's
Vulkan loader, which causes the loader to write the system's device
layers properties in pProperties.

Unreal Engine 4 then calls vkEnumerateDeviceExtensionProperties, using
VkLayerProperties::layerName as the pLayerName.

winevulkan's implementation of vkEnumerateDeviceExtensionProperties then
returns VK_ERROR_LAYER_NOT_PRESENT, crashing UE4.

This issue was found while debugging Project Wingman (Steam appid
895870), but it should also happen to any UE4 application using the
Vulkan RHI.

Signed-off-by: Victor Hermann Chiletto <v@hnn.net.br>
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:48 +01:00
Liam Middlebrook 7e85f53d28 winevulkan: Update to VK spec version 1.2.170.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Piers Daniell <pdaniell@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-15 16:20:42 +01:00
Georg Lehmann c1824d578a winevulkan: Fix surface functions if they aren't called by winevulkan.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50549
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 21:58:13 +01:00
Georg Lehmann 88eb322830 winevulkan: Don't advertise VK_EXT_headless_surface.
This extension never worked.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 21:57:42 +01:00
Liam Middlebrook c681a0732f winevulkan: Update to VK spec version 1.2.168.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Piers Daniell <pdaniell@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 09:00:37 +01:00
Georg Lehmann 2d4dd4252b winevulkan: Unwrap VkSurfaceKHR if required.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50422
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 21:39:40 +01:00
Georg Lehmann d9c9b5ea61 winevulkan: Wrap VkSurfaceKHR in winevulkan.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 21:39:23 +01:00
Georg Lehmann 6b2199c3da winevulkan: Update to VK spec version 1.2.166.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-15 16:22:46 +01:00
Liam Middlebrook 7d8c50e437 winevulkan: Update to VK spec version 1.2.162.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Liam Middlebrook 572aa09de1 winevulkan: Update to VK spec version 1.2.160.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Piers Daniell <pdaniell@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:38:06 +01:00
Georg Lehmann 219359dddd winevulkan: Enable VK_EXT_validation_features and VK_EXT_validation_flags.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:41:25 +01:00
Georg Lehmann fc893489fe winevulkan: Implement VK_EXT_debug_marker.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49813
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 10:34:13 +01:00
Georg Lehmann 28d75542b7 winevulkan: Implement VK_EXT_debug_report.
Messages from the driver/layers won't be reported twice.
Messages during instance creation by the host loader won't be reported,
since the information is partly wrong and the windows loader reports the
correct information.
Other messages by the loader will be reported twice if lunarg's vulkan-1.dll
is used. This shouldn't be a problem because the messages are just used
for logging/debugging.

Needed for Quake2RTX.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49813
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 11:04:12 +01:00
Liam Middlebrook 02458faa43 winevulkan: Update to VK spec version 1.2.158.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:21:53 +02:00
Georg Lehmann bff6bc6a79 winevulkan: Implement VK_EXT_debug_utils.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49813
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 11:02:11 +02:00
Georg Lehmann e2518f6887 winevulkan: Generate helpers for wrapped handles.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 11:01:49 +02:00
Liam Middlebrook a8ddba3576 winevulkan: Update to VK spec version 1.2.155.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Andy Ritger <aritger@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-30 10:56:22 +02:00
Liam Middlebrook de508759c6 winevulkan: Update to VK spec version 1.2.154.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 11:37:39 +02:00
Liam Middlebrook 72517ff187 winevulkan: Update to VK spec version 1.2.149.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Signed-off-by: Jeff Bolz <jbolz@nvidia.com>
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-07 15:36:03 +02:00
Georg Lehmann 1e074c39f6 winevulkan: Avoid returning 0 for swapchain maxImageCount.
Many Windows games do not expect that maxImageCount can be set to 0.
A value of 0 means that there is no limit on the number of images.
Nvidia reports 8 on Windows, AMD 16.

Based on a patch by Józef Kucia.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-01 11:32:53 +02:00
Joshua Ashton 8bd62231c3 winevulkan: Implement VK_EXT_calibrated_timestamps.
Map performance counter to the appropriate monotonic clock
used by ntdll/unix/sync.c

The performance counter timestamp clock won't be available
under Mac and platforms without clock_gettime.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:42:19 +02:00
Liam Middlebrook a455ff61b4 winevulkan: Update to VK spec version 1.2.148.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Arthur Huillet <ahuillet@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 22:20:19 +02:00
Brendan Shanks 314cd9cdd5 winevulkan: Export VK_KHR_get_surface_capabilities2 functions from vulkan-1.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 09:39:42 +02:00
Georg Lehmann 380b7f2825 winevulkan: Unwrap object for VK_EXT_private_data when needed.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 22:13:12 +02:00
Liam Middlebrook c80b236366 winevulkan: Update to VK spec version 1.2.145.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Andy Ritger <aritger@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-22 16:43:12 +02:00
Zhiyi Zhang 408a5a86ec winevulkan: Thunk vkGetPhysicalDeviceProperties2 and vkGetPhysicalDeviceProperties2KHR.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 20:14:07 +02:00
Liam Middlebrook b4310a19e9 winevulkan: Update to VK spec version 1.2.142.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Andy Ritger <aritger@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 12:37:49 +02:00
Philip Rebohle d2f552d150 winevulkan: Update to VK spec version spec 1.2.140.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:40 +02:00
Liam Middlebrook c4e35b9bce winevulkan: Update to VK spec version spec 1.2.139.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 19:30:38 +02:00
Liam Middlebrook 594814c00a winevulkan: Update to VK spec version spec 1.2.138.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 20:54:21 +02:00
Brendan Shanks 086c686e81 winevulkan: Enable VK_KHR_get_surface_capabilities2.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:19 +02:00
Liam Middlebrook 7b1622d1ab winevulkan: Update to VK spec version spec 1.2.134.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Piers Daniell <pdaniell@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 12:13:18 +01:00
Liam Middlebrook 1fa427f2d0 winevulkan: Update to VK spec version 1.1.130.
Also update a single define reference in wined3d since VK_EXT_device_address
was promoted to KHR and renamed VK_ERROR_INVALID_DEVICE_ADDRESS_EXT to
VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR.

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Piers Daniell <pdaniell@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 10:20:46 +01:00