Commit Graph

28 Commits

Author SHA1 Message Date
Henri Verbeet 3777eb4e5c vkd3d: Introduce API versions.
For backwards compatibility. Newer vkd3d versions may report more
capabilities, but some of those may also require newer vkd3d APIs in order to
use them. That's an issue for a vkd3d user like Wine, where reporting more
capabilities may cause the application to try to use APIs that are not
implemented in that version of Wine.

Note that using ELF symbol versioning would have solved the issue for existing
binaries compiled against older versions of vkd3d, but not for older source
compiled against newer versions of vkd3d.

Users of vkd3d-utils should define VKD3D_UTILS_API_VERSION to the vkd3d
API version they wish to target.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 21:05:17 +02:00
Józef Kucia 8bb34406e2 demos: Use 3 swapchain images.
Mesa drivers increased minImageCount to 3.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:38:25 +02:00
Józef Kucia 7240534abc include/vkd3d_utils: Declare all exported functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 16:40:48 +02:00
Józef Kucia a96cfa32a1 demos: Check return value of ID3D12Fence_SetEventOnCompletion() (Coverity).
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 17:00:47 +02:00
Józef Kucia b084a4a153 demos: Get rid of code for compiling shaders using d3dcompiler.
It's unused.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 00:04:36 +02:00
Józef Kucia 0ae0e431b1 libs/vkd3d-utils: Prefix defines with VKD3D_.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-25 15:50:04 +02:00
Józef Kucia c197b9c9a1 include: Remove stdbool.h include from vkd3d_utils.h.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-25 15:49:59 +02:00
Józef Kucia f5b532921a libs/vkd3d: Add structure type fields to public API structures.
Adds flexibility for future API extensions.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 21:59:35 +02:00
Józef Kucia bfd20ef1c8 libs/vkd3d: Add support for custom PRESENT state transitions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-30 14:10:55 +02:00
Józef Kucia fd36cefbe2 demos: Do not force sRGB formats for Vulkan swapchains.
Fixes the following validation error:

IMAGE(ERROR): object: 0x0 type: 0 location: 3302 msgCode: 180357110:
vkCreateImageView() format VK_FORMAT_B8G8R8A8_UNORM differs from image 6
format VK_FORMAT_B8G8R8A8_SRGB. Formats MUST be IDENTICAL unless
VK_IMAGE_CREATE_MUTABLE_FORMAT BIT was set on image creation. The spec
valid usage text states 'If image was not created with the
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, format must be identical to the
format used to create image'

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-28 19:48:27 +02:00
Józef Kucia 6a32ad8913 libs/vkd3d: Rename vkd3d_get_vk_instance() to vkd3d_instance_get_vk_instance().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 18:49:56 +01:00
Józef Kucia 8883502121 libs/vkd3d: Introduce function to get Vulkan instance from vkd3d instance.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-18 16:21:32 +01:00
Józef Kucia 12ca2bbcf6 libs/vkd3d: Add thread-safe API for accessing Vulkan command queues.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-15 17:51:39 +01:00
Józef Kucia abff3ca469 include: Prefix public header file names with vkd3d.
Prevents possible clashes when using vkd3d with external Win32 headers.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-15 16:27:34 +01:00
Józef Kucia 7129e23aef demos: Remove hack for creating root signatures. 2017-10-10 16:02:09 +02:00
Józef Kucia 9d2730d98a demos: Prefer VK_COLOR_SPACE_SRGB_NONLINEAR_KHR.
The VK_COLORSPACE_SRGB_NONLINEAR_KHR is inconsistent with Vulkan naming
rules and provided for backwards compatibility.
2017-09-21 15:12:13 +02:00
Sven Hesse e04b6a537c demos: Create windows on the correct XCB screen. 2017-08-31 15:30:00 +02:00
Józef Kucia aa5d48eec4 demos: Get rid of handwritten GLSL shaders. 2017-07-28 15:26:09 +02:00
Józef Kucia 4e5fcb5141 libs/vkd3d: Use negative viewport height to flip along y-axis.
Requires VK_KHR_maintenance1.
2017-06-21 22:00:19 +02:00
Józef Kucia 84889646f6 Update license to LGPL v2.1. 2017-06-16 22:11:21 +02:00
Henri Verbeet 20508aee7c demos/gears: Add a gears demo. 2016-11-13 00:55:54 +01:00
Henri Verbeet efde85e8ca demos: Properly destroy windows on Win32. 2016-11-10 16:39:15 +01:00
Henri Verbeet e467b02b29 demos: Introduce demo_window_set_expose_func(). 2016-11-03 12:55:26 +01:00
Henri Verbeet 169810d20d demos/triangle: Destroy the window when escape is pressed. 2016-11-03 12:55:00 +01:00
Henri Verbeet f17742401a demos/triangle: Move includes to the appropriate headers. 2016-11-03 12:53:44 +01:00
Józef Kucia 4aab207b56 libs/vkd3d: Fix initial state transtion for swapchain images. 2016-10-25 13:23:18 +02:00
Józef Kucia a4c36a87db demos: Flush XCB connection after creating window.
This fixes the "BadDrawable (invalid Pixmap or Window parameter)" error
thrown by vkGetPhysicalDeviceSurfaceCapabilitiesKHR() on Nvidia drivers.
2016-10-24 15:28:08 +02:00
Henri Verbeet fa5b972371 demos/triangle: Add a demo program. 2016-10-24 13:57:05 +02:00