Commit Graph

108 Commits

Author SHA1 Message Date
Józef Kucia fcc10f3012 winevulkan: Enable vkGetDeviceProcAddr() quirk for idTech engine.
For DOOM VFR.

Based on a patch by Andrew Eikum.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 22:35:37 +02:00
Józef Kucia 3cad90e334 winevulkan: Trace VkApplicationInfo in wine_vkCreateInstance().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 22:35:35 +02:00
Józef Kucia 4907ffdf2a winevulkan: Check if device extensions are supported.
Return VK_ERROR_EXTENSION_NOT_PRESENT for unsupported extensions.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 22:35:31 +02:00
Józef Kucia e84999bd7a winevulkan: Check if instance extensions are supported.
Return VK_ERROR_EXTENSION_NOT_PRESENT for unsupported extensions.

Fixes crashes in some Vulkan CTS tests.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 22:35:27 +02:00
Józef Kucia b62d4ea6ed winevulkan: Free all command buffers when vkAllocateCommandBuffers() fails.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-30 19:55:24 +02:00
Józef Kucia 079d2ec40d winevulkan: Fix potential memory leaks when a command pool is destroyed.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-30 19:55:24 +02:00
Józef Kucia 6f8d02b0f3 winevulkan: Wrap VkCommandPools.
We need to wrap VkCommandPools to track allocated VkCommandBuffers.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-30 19:55:24 +02:00
Józef Kucia e3de7f7774 winevulkan: Trace properties for created devices.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-28 11:09:02 +02:00
Francois Gouget 67bd05669d winevulkan: Spelling fix in a perl comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 20:01:56 +02:00
Józef Kucia 6d80924ae4 winevulkan: Properly retrieve queues that were created with non-zero flags.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 15:56:05 +02:00
Jacek Caban 494253e1ce winevulkan: Mark ICD and thunking functions as private.
We don't need them in importlib. We use them only for vulkan-1
forwarding, which doesn't need an importlib.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:47:48 +02:00
Jacek Caban bea52787d6 winevulkan: Expose driver vkGetInstanceProcAddr via winevulkan exports.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:47:48 +02:00
Józef Kucia 1e24f7da55 winevulkan: Correctly allocate memory for VkCommandBuffers (Coverity).
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:40:06 +02:00
Jacek Caban 427f359910 wine/vulkan.h: Properly declare enum values that use value attribute in spec.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-20 18:36:55 +02:00
Józef Kucia a77416c47a winevulkan: Avoid FIXMEs for unsupported Vulkan functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Józef Kucia adb926d5a5 winevulkan: Generate get_vulkan_driver_*_proc_addr() helper functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Józef Kucia f59925416a winevulkan: Remove vkAcquireNextImageKHR() from Vulkan driver functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Józef Kucia 5be428f560 winevulkan: Remove vkEnumerateInstanceVersion() from Vulkan driver functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Roderick Colenbrander d1d9d5495d winevulkan: Implement vkGetDeviceQueue2.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Alex Henrie a8df2c61d8 winevulkan: Correct spelling of "of" in a comment.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:44 +02:00
Józef Kucia 1354e3535a vulkan-1: Forward all functions directly to winevulkan.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia b75a117822 winevulkan: Implement vkEnumerateInstanceLayerProperties() in ICD.
Other Vulkan ICDs implement this function.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia 036376e6a5 winevulkan: Downgrade ERR() to WARN() in wine_vkEnumerateInstanceExtensionProperties().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia 8bd787c3b3 winevulkan: Use WINE_VK_VERSION to limit supported features.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia a45b04273f winevulkan: Implement vkEnumerateInstanceVersion().
The current version of Vulkan Loader returns VK_API_VERSION_1_1.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia fae218310c winevulkan: Implement VK_KHR_device_group.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia 960e52e12f winevulkan: Add driver functions for VK_KHR_device_group.
In order to unwrap VkSurface.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia cc0606175b winevulkan: Allow running make_vulkan from any working directory.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia 29467f9da5 winevulkan: Add TRACE() for created devices.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Józef Kucia b27b3aeaf6 winevulkan: Implement VK_KHR_device_group_creation.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Józef Kucia 0f11534656 winevulkan: Convert VkDeviceGroupDeviceCreateInfo.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Józef Kucia fe9a7da6f3 winevulkan: Pull in 1.1 structures and enums into Vulkan header.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Józef Kucia 3a2c576fd3 winevulkan: Pull in required types into Vulkan header.
Not all types are referenced by commands.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Józef Kucia 6a2b92a15a winevulkan: Generate code for supported core commands.
Generate thunks for core commands if command aliases are already
supported.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:54 +02:00
Michael Stefaniuc 962b31c80b include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 10:39:15 +02:00
Józef Kucia e45e675b73 winevulkan: Remove unused variable from make_vulkan script.
Fixes a333c2ef07 ("winevulkan: Add copyright headers to files
generated from vk.xml.")

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 16:48:18 +02:00
Józef Kucia dbb0c9305a winevulkan: Correctly recognize commands belonging to multiple extensions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 16:48:17 +02:00
Józef Kucia a333c2ef07 winevulkan: Add copyright headers to files generated from vk.xml.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 16:14:58 +02:00
Roderick Colenbrander e4164e2b87 winevulkan: Update vk.xml to 1.1.76.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 16:14:52 +02:00
Józef Kucia 3db825aeef winevulkan: Remove vk.xml from repository.
The make_vulkan script downloads vk.xml.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 16:14:46 +02:00
Roderick Colenbrander 3bb4ecaf16 winevulkan: Parse extension require sections one by one.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 16:09:51 +02:00
Roderick Colenbrander 69ca515915 winevulkan: Parse forward declared struct members.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 16:09:46 +02:00
Roderick Colenbrander 04951e7811 winevulkan: Fix parsing of const function pointer members.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 16:09:35 +02:00
Józef Kucia e6e7976d66 winevulkan: Introduce WINE_VK_HOST to explicitly request 'host' Vulkan headers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:43:56 +02:00
Józef Kucia fa786955f1 winevulkan: Trace unsupported instance extensions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-18 16:30:03 +02:00
Francois Gouget 7e35f9e8d9 winevulkan: Tweak the wording of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 10:13:20 +02:00
Józef Kucia f1b88ab1f6 winevulkan: Fix typos.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 19:55:54 +02:00
Józef Kucia cf5f750ed8 winevulkan: Pack structures better.
Makes structures slightly smaller on 64-bit.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 19:55:52 +02:00
Józef Kucia 9451a42cf7 winevulkan: Get rid of unused "phys_dev" field from VkDevice_T.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 19:55:50 +02:00
Józef Kucia 2986e89501 winevulkan: Add function pointer typedefs to Vulkan header.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 22:00:37 +02:00