Commit Graph

191 Commits

Author SHA1 Message Date
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 af3d292343 winevulkan: Store a mapping from native handles to wrappers.
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:51 +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 844dbbffb3 winevulkan: Add --xml argument to make_vulkan.
This eases development and of Vulkan extensions by allowing developers
to locally override the specification XML file used by winevulkan.

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-09-30 10:51:00 +02:00
Georg Lehmann d4b162509f winevulkan: Forward declare required structs for function pointer.
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-09-23 15:44:53 +02:00
Georg Lehmann 51b3191cd3 winevulkan: Add is_alias for VkFunctionPointer.
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-09-23 15:44:42 +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 e447e86ae2 winevulkan: Fail on explicit layer usage.
Fixes failure in dEQP-VK.api.device_init.create_instance_layer_name_abuse which
expects all layers passed in as part of test to cause instance creation to
fail.

A quirk bit WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS has been added to
optionally restore the previous functionality.

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-09 21:00:30 +02:00
Brendan Shanks de68f33dae winevulkan: Change make_vulkan interpreter to '/usr/bin/env python3'.
Fixes running on macOS and BSDs where Python 3 isn't installed in
/usr/bin.

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-09-09 20:30:31 +02:00
Brendan Shanks c5675ec615 winevulkan: Fix vkEnumerateInstanceExtensionProperties() behavior when no Vulkan driver is present.
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-08-18 21:36: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
Liam Middlebrook 18d7bc9859 winevulkan: Harden calibrated_timestamps failure paths.
Addresses some comments that Zhiyi had made on the initial review thread.

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Andy Ritger <aritger@nvidia.com>
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 21:24:16 +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
Brendan Shanks 6299969a60 winevulkan: Update Vulkan XML URL to use raw.githubusercontent.com.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:39:14 +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
Brendan Shanks aec1968788 winevulkan: Don't initialize the Vulkan driver in DllMain().
Fixes an issue where winevulkan would not be registered if no Vulkan
driver was present during prefix creation (such as in a build VM).

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 09:15:37 +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 8007d19c27 winevulkan: Fill Vulkan device LUID property.
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:10 +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
André Hentschel 9b54cb9b8b winevulkan: Change blacklist to a more neutral word.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 20:13:49 +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
Philip Rebohle 4465ecfe0e winevulkan: Avoid adding duplicate enum aliases.
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR is being
defined multiple times by the current vk.xml.

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:04 +02:00
Philip Rebohle 727441cc24 winevulkan: Support struct forward-declarations as base types.
Some types are basically forward-declared structs now, such
as ANativeWindow.

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:50:36 +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
Liam Middlebrook 39191aa906 winevulkan: Handle VkEnumValue aliases to provisional exts.
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
Liam Middlebrook 63ea53decb winevulkan: Respect sortorder extension attribute.
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
Liam Middlebrook 8379a7f87c winevulkan: Don't mark alias functions as required.
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
Brendan Shanks dfc159d874 winevulkan: Create JSON manifest and registry entry used by official Vulkan loader.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47109
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-03-31 15:53:53 +02:00
Liam Middlebrook bdeae71bc1 winevulkan: Generate typedefs for aliased structs.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: James Jones <jajones@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:26:50 +01: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 c32d1ad0cb winevulkan: Generate alias enum values.
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:11:46 +01:00
Liam Middlebrook a5b633f3f6 winevulkan: Add alias field to VkEnumValue.
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:11:19 +01:00
Liam Middlebrook da71d390d4 winevulkan: Generate typedefs for aliased enums.
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:11:16 +01:00
Liam Middlebrook 35a0154eba winevulkan: Fix two spelling errors in make_vulkan.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Robert Morell <rmorell@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 11:10:04 +01:00
Liam Middlebrook 936d28e2c5 winevulkan: Handle bitmask pointers for spec generation.
Fixes a bug where pointer types for the following functions would be marked as long:
    vkGetDeviceGroupPeerMemoryFeatures
    vkGetDeviceGroupSurfacePresentModesKHR
    vkGetPhysicalDeviceSurfacePresentModesKHR

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: James Jones <jajones@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-06 09:25:47 +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
Liam Middlebrook 9058f5e08b winevulkan: Support functions with basic_c return types.
Needed for VK_KHR_buffer_device_address which uses uint64_t as a return type.

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 09:21:28 +01:00
Francois Gouget 0d6f7d44a2 winevulkan: Fix the spelling of an ERR() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:58:53 +01:00
Francois Gouget 8b86f18511 winevulkan: Fix the spelling of a make_vulkan comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:58:46 +01:00
Liam Middlebrook 0425b6ad64 winevulkan: Update to VK spec version 1.1.126.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Liam Middlebrook 54acff1227 winevulkan: Update to VK spec version 1.1.117.
Adds int16 types needed for spec update.

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Liam Middlebrook 9126cd623e winevulkan: Update to VK spec version 1.1.114.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Liam Middlebrook 7e736b5903 winevulkan: Update to VK spec version 1.1.113.
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00