struct wsi_interface;
+struct driOptionCache;
+
#define VK_ICD_WSI_PLATFORM_MAX (VK_ICD_WSI_PLATFORM_DISPLAY + 1)
struct wsi_device {
VkPhysicalDevicePCIBusInfoPropertiesEXT pci_bus_info;
bool supports_modifiers;
+ uint32_t maxImageDimension2D;
+ VkPresentModeKHR override_present_mode;
+
+ /* Whether to enable adaptive sync for a swapchain if implemented and
+ * available. Not all window systems might support this. */
+ bool enable_adaptive_sync;
+
+ struct {
+ /* Override the minimum number of images on the swapchain.
+ * 0 = no override */
+ uint32_t override_minImageCount;
+
+ /* Forces strict number of image on the swapchain using application
+ * provided VkSwapchainCreateInfoKH::RminImageCount.
+ */
+ bool strict_imageCount;
+ } x11;
+
uint64_t (*image_get_modifier)(VkImage image);
#define WSI_CB(cb) PFN_vk##cb cb
VkPhysicalDevice pdevice,
WSI_FN_GetPhysicalDeviceProcAddr proc_addr,
const VkAllocationCallbacks *alloc,
- int display_fd);
+ int display_fd,
+ const struct driOptionCache *dri_options);
void
wsi_device_finish(struct wsi_device *wsi,
int queue_family_index,
const VkPresentInfoKHR *pPresentInfo);
+uint64_t
+wsi_common_get_current_time(void);
+
#endif