Module: vkd3d Branch: master Commit: 2b1abc5d7bd9c4053d321e999c98d129ad708659 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/2b1abc5d7bd9c4053d321e999c98d1...
Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Sun Apr 21 19:42:14 2024 +0200
include: Document structure vkd3d_device_create_info.
---
include/vkd3d.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)
diff --git a/include/vkd3d.h b/include/vkd3d.h index c350c5ea..b8584b68 100644 --- a/include/vkd3d.h +++ b/include/vkd3d.h @@ -237,22 +237,56 @@ struct vkd3d_host_time_domain_info uint64_t ticks_per_second; };
+/** + * A chained structure containing device creation parameters. + */ struct vkd3d_device_create_info { + /** Must be set to VKD3D_STRUCTURE_TYPE_DEVICE_CREATE_INFO. */ enum vkd3d_structure_type type; + /** Optional pointer to a structure containing further parameters. */ const void *next;
+ /** The minimum feature level to request. Device creation will fail with E_INVALIDARG if the + * Vulkan device doesn't have the features needed to fulfill the request. */ D3D_FEATURE_LEVEL minimum_feature_level;
+ /** + * The vkd3d instance to use to create a device. Either this or instance_create_info must be + * set. + */ struct vkd3d_instance *instance; + /** + * The parameters used to create an instance, which is then used to create a device. Either + * this or instance must be set. + */ const struct vkd3d_instance_create_info *instance_create_info;
+ /** + * The Vulkan physical device to use. If it is NULL, the first physical device found is used, + * prioritizing discrete GPUs over integrated GPUs and integrated GPUs over all the others. + * + * This parameter can be overridden by setting environment variable VKD3D_VULKAN_DEVICE. + */ VkPhysicalDevice vk_physical_device;
+ /** + * A list of Vulkan device extensions to request. They are intended as required, so device + * creation will fail if any of them is not available. + */ const char * const *device_extensions; + /** The number of elements in the device_extensions array. */ uint32_t device_extension_count;
+ /** + * An object to be set as the device parent. This is not used by vkd3d except for being + * returned by vkd3d_get_device_parent. + */ IUnknown *parent; + /** + * The adapter LUID to be set for the device. This is not used by vkd3d except for being + * returned by GetAdapterLuid. + */ LUID adapter_luid; };