Commit Graph

298 Commits

Author SHA1 Message Date
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
Liam Middlebrook b575232712 winevulkan: Don't add alias structs to struct-extensions list.
This resolves compilation errors relating to duplicate case values for
alias structures when building against spec version 1.1.106. An example
of one of these errors has been included below:
	vulkan_thunks.c: In function ‘convert_VkDeviceCreateInfo_struct_chain’:
	vulkan_thunks.c:1997:9: error: duplicate case value
	         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
	         ^~~~
	vulkan_thunks.c:1377:9: note: previously used here
	         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
         ^~~~

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Derek Lesho 410f5623e7 winevulkan: Mark members of required structs as required recursively.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:39 +01:00
Józef Kucia 3b1bf387eb winevulkan: Pull in bitmask dependencies for function parameters.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 12:08:31 +02:00
Józef Kucia ad82739dda winevulkan: Enable VK_NV_dedicated_allocation_image_aliasing.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:54 +02:00
Józef Kucia a69ed95020 winevulkan: Enable VK_NV_cooperative_matrix.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:52 +02:00
Józef Kucia af3d82ddbe winevulkan: Enable VK_EXT_ycbcr_image_arrays.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:50 +02:00
Józef Kucia bbfc4f6f0d winevulkan: Enable VK_KHR_shader_float16_int8.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:46 +02:00
Józef Kucia 59b5394eef winevulkan: Enable VK_EXT_external_memory_host.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:42 +02:00
Józef Kucia 4b269f0293 winevulkan: Enable VK_EXT_memory_priority.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:37 +02:00
Józef Kucia abc83d1b34 winevulkan: Enable VK_AMD_memory_overallocation_behavior.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:33 +02:00
Józef Kucia df6b2381f8 winevulkan: Generate conversion function for VkDeviceCreateInfo structure extensions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:27 +02:00
Józef Kucia a4b9460ad6 winevulkan: Generate conversion function for VkInstanceCreateInfo structure extensions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:53:20 +02:00
Józef Kucia ec8a3a78b8 winevulkan: Convert VkPhysicalDeviceFeatures2 in VkDeviceCreateInfo chain.
We should teach make_vulkan to handle pNext chains...

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:17:04 +01:00
Józef Kucia f3f38eb8c7 winevulkan: Trace structure types as decimal numbers.
In Vulkan headers, structure types are specified as decimal numbers.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:17:02 +01:00
Józef Kucia ccfdf651d1 winevulkan: Enable Vulkan 1.1.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:16:59 +01:00
Józef Kucia 44c2de5ba4 winevulkan: Enable a few extensions promoted to core in Vulkan 1.1.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:16:57 +01:00
Józef Kucia 8692cf6e59 winevulkan: Implement VK_KHR_external_semaphore_capabilities.
We don't support any handle type yet.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:16:54 +01:00
Józef Kucia 76d2746306 winevulkan: Implement VK_KHR_external_memory_capabilities.
We don't support any handle type yet.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:16:50 +01:00
Józef Kucia 57bb5cce75 winevulkan: Implement VK_KHR_external_fence_capabilities.
We don't support any handle type yet.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:16:47 +01:00
Józef Kucia d71532df22 winevulkan: Implement VK_EXT_host_query_reset.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:32:28 +01:00
Józef Kucia bea86f0180 winevulkan: Enable VK_EXT_swapchain_colorspace.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:32:23 +01:00
Józef Kucia 0d20471a76 winevulkan: Use blacklist also for instance extensions.
Allows us to treat extensions in a uniform way.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:32:19 +01:00
Józef Kucia 3e4189e3ad winevulkan: Update vk.xml to 1.1.104.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 18:32:13 +01:00
Józef Kucia 1eaa59765f winevulkan: Use VkBase{In, Out}Structure instead of custom structure.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Józef Kucia eb39d3dbca winevulkan: Update vk.xml to 1.1.94.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:27:16 +01:00
Michał Janiszewski 83fd23347a winevulkan: Print all the arguments in make_vulkan.
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:51 +02:00
Michał Janiszewski ad242e7d41 winevulkan: Remove duplicate format_string in make_vulkan.
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:50 +02:00
Józef Kucia 648bd17b81 winevulkan: Update vk.xml to 1.1.88.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:58:05 +02:00
Michał Janiszewski 66e0e07152 winevulkan: Remove unused variable in make_vulkan.
Signed-off-by: Michał Janiszewski <janisozaur@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 17:06:47 +02:00
Józef Kucia 5d071ce03d winevulkan: Update vk.xml to 1.1.86.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 10:48:50 -05:00
Józef Kucia b5a79ca5d0 winevulkan: Parse enum value aliases.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 10:48:47 -05:00
Józef Kucia 94a4dadd9a winevulkan: Check if conversion is required for pNext chains.
Unhandled conversions are only logged for now.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 10:48:45 -05:00
Józef Kucia 6e87235523 winevulkan: Remove parsing of validextensionstructs.
It was replaced by structextends.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-05 10:48:41 -05:00
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
Józef Kucia 6380d57c69 winevulkan: Support VK_NO_PROTOTYPES in our Vulkan header.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 22:00:29 +02:00
Józef Kucia a99a938303 winevulkan: Generate code for extension name and version constants.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 21:59:55 +02:00
Józef Kucia 9bf8478cd1 winevulkan: Limit vkGetDeviceProcAddr() workaround to broken apps.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:27:29 +02:00
Józef Kucia 12bbfe9b11 winevulkan: Avoid goto in wine_vkCreateInstance().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:27:07 +02:00
Józef Kucia 8fd39cc2ce winevulkan: Avoid goto in wine_vkCreateDevice().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:27:04 +02:00
Józef Kucia a8c06b639e winevulkan: Avoid goto in wine_vk_instance_load_physical_devices().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:27:00 +02:00
Józef Kucia 46bc42e7a7 winevulkan: Simplify wine_vk_init().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:52 +02:00
Józef Kucia fc1b15f9b0 winevulkan: Move some autogenerated code to vulkan_private.h.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:44 +02:00
Józef Kucia 063f6baaaf winevulkan: Use %#x to trace enums.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:29 +02:00
Józef Kucia 1585b50fea winevulkan: Simplify vkEnumerateDeviceExtensionProperties().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:23 +02:00
Roderick Colenbrander f0f232ebd1 vulkan-1: Add initial implementation.
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-03-28 17:23:55 +02:00
Roderick Colenbrander dea298413e winevulkan: Export symbols for Core Vulkan functions.
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-03-28 17:23:32 +02:00
Józef Kucia 8e64c7bd2c winevulkan: Autogenerate thunks for functions overridden by Wine Vulkan driver.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:25:27 +02:00
Józef Kucia f0c3f9e494 winevulkan: Mark explicitly if driver function is needed in dispatch tables.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:25:02 +02:00
Józef Kucia 48e4801e02 winevulkan: Put all required functions into function tables.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:24:33 +02:00
Józef Kucia 789fc62574 winevulkan: Generate conversions only for autogenerated thunks.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:24:25 +02:00
Józef Kucia 00e50233d7 winevulkan: Get rid of unnecessary forward declarations.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:24:11 +02:00
Józef Kucia 78447f8d10 winevulkan: Fix minor coding style issues in autogenerated code.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:24:09 +01:00
Józef Kucia c6648a960b winevulkan: Simplify wine_vk_instance_convert_create_info() a bit.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:23:59 +01:00
Roderick Colenbrander ca2f3bae47 winevulkan: Add tracing to wine_vk_instance_convert_create_info.
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-03-23 16:23:55 +01:00
Roderick Colenbrander 0d8b9ad2f1 winevulkan: Add helper function for VkDeviceCreateInfo conversion.
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-03-23 16:23:51 +01:00
Józef Kucia bf9ed46930 winevulkan: Remove excess quotation marks.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 08:52:04 +01:00
Józef Kucia 2f51d691f4 winevulkan: Remove unnecessary cast from wine_vk_device_alloc_queues().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:56 +01:00
Józef Kucia 6d475f150d winevulkan: Fix vkEnumerateInstanceExtensionProperties().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:53 +01:00
Francois Gouget f98d0764d5 winevulkan: Fix some typos in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:29 +01:00
Józef Kucia 32eef26a7d winevulkan: Simplify wine_vkEnumeratePhysicalDevices().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 12:21:37 +01:00
Roderick Colenbrander 76275505e0 winevulkan: Allow vkGetDeviceProcAddr to load instance functions for broken games.
Doom and Wolfenstein II use vkGetDeviceProcAddr to load all their function pointers,
while they are supposed to use vkGetInstanceProcAddr for the instance ones.
For now we need to allow this broken behavior.

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-03-15 12:21:35 +01:00
Roderick Colenbrander 3fcec7cf78 winevulkan: Support various device extensions.
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-03-15 12:21:32 +01:00
Roderick Colenbrander 79c2ee529b winevulkan: Implement VK_KHR_get_physical_device_properties2.
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-03-15 12:20:49 +01:00
Roderick Colenbrander 8ef70305f9 winevulkan: Filter graphics driver reported instance extensions.
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-03-15 12:20:44 +01:00
Roderick Colenbrander f90940dac2 winevulkan: Implement vkQueueBindSparse and vkQueueWaitIdle.
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-03-15 12:20:39 +01:00
Roderick Colenbrander fc0af22d9a winevulkan: Implement vkQueuePresentInfoKHR.
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-03-15 12:20:33 +01:00
Roderick Colenbrander 6536dec397 winevulkan: Implement vkQueueSubmit.
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-03-15 12:20:30 +01:00
Roderick Colenbrander 77d9c17554 winevulkan: Implement remaining vkCommandBuffer functions.
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-03-14 16:40:48 +01:00
Roderick Colenbrander 42b01b0133 winevulkan: Implement vkCmdExecuteCommands.
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-03-14 16:40:46 +01:00
Roderick Colenbrander 9b22b6aa96 winevulkan: Implement vkAllocate/FreeCommandBuffers.
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-03-14 16:40:44 +01:00
Roderick Colenbrander 2657bffeab winevulkan: Implement various device functions.
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-03-14 16:40:43 +01:00
Roderick Colenbrander 9721ec92b9 winevulkan: Implement vkGetDeviceQueue.
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-03-14 16:40:41 +01:00
Roderick Colenbrander a7159e7c6a winevulkan: Implement device extension enumeration.
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-03-14 16:40:37 +01:00
Roderick Colenbrander 8238e73b49 winevulkan: Sanitize VkInstanceCreateInfo before passing to driver.
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-03-12 17:59:38 +01:00
Roderick Colenbrander 0cb6654237 winevulkan/winex11: Add Vulkan WSI stubs (VK_KHR_surface / VK_KHR_swapchain).
The WSI APIs are meant for window system integration, so essentially the WGL
of Vulkan. Implementation belongs in the graphics drivers as we need to hook
into surface and swapchains.

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-03-12 17:59:35 +01:00
Roderick Colenbrander 563f1b2200 winevulkan: Implement vkDestroyDevice.
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-03-09 13:15:16 -06:00
Roderick Colenbrander a2a53bb618 winevulkan: Implement vkGetDeviceProcAddr.
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-03-09 13:15:16 -06:00
Roderick Colenbrander 6eacdf38e2 winevulkan: Implement vkCreateDevice.
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-03-09 13:15:16 -06:00
Roderick Colenbrander 6dca06d4cf winevulkan: Load device functions from vkGetInstanceProcAddr.
vkGetInstanceProcAddr can load both instance and device functions.
A later to get introduced vkGetDeviceProcAddr only supports device
functions, which is why there are 2 different function tables.

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-03-09 13:15:15 -06:00
Roderick Colenbrander 7b72f62ac7 winevulkan: Implement physical device core functions.
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-03-09 13:15:15 -06:00
Roderick Colenbrander a8c38cf0fa winevulkan: Implement vkEnumerateDeviceExtensionProperties.
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-03-06 15:46:09 -06:00
Roderick Colenbrander a553e88fba winevulkan: Implement vkEnumeratePhysicalDevices.
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-03-06 15:46:09 -06:00
Roderick Colenbrander 4ab041c370 winevulkan: Load instance functions.
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-03-02 16:19:45 +01:00
Roderick Colenbrander 539a757728 winevulkan: Implement vkDestroyInstance.
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-03-01 19:25:58 +01:00
Roderick Colenbrander 586a18995f winevulkan: Add instance funcs stubs.
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-03-01 19:25:57 +01:00
Roderick Colenbrander 75b68a8585 winevulkan/winex11: Implement vkCreateInstance.
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-03-01 19:25:57 +01:00
Roderick Colenbrander 6a5c85564c winex11: Add Vulkan stubs.
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-02-27 12:47:17 +01:00
Roderick Colenbrander 3de61a9dd9 winevulkan: Define vulkan driver interface.
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-02-27 12:47:16 +01:00
Roderick Colenbrander 054b7934bd winevulkan: Implement global Vulkan function stubs and loading.
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-02-27 12:47:16 +01:00
Roderick Colenbrander 112e6835bb winevulkan: Implement vk_icdNegotiateICDInterfaceVersion.
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-02-27 12:47:16 +01:00
Roderick Colenbrander fcc7af8322 winevulkan: Add stub ICD.
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-02-27 12:47:16 +01:00
Roderick Colenbrander 460174e53a winevulkan: Add initial Wine vulkan header.
This file is directly generated from Vulkan's vk.xml. It contains Core and extension
Vulkan types and functions.

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-02-27 12:47:16 +01:00