struct wsi_interface;
+struct driOptionCache;
+
#define VK_ICD_WSI_PLATFORM_MAX (VK_ICD_WSI_PLATFORM_DISPLAY + 1)
struct wsi_device {
VkPhysicalDeviceMemoryProperties memory_props;
uint32_t queue_family_count;
+ 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;
+
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,
VkResult
wsi_common_get_surface_support(struct wsi_device *wsi_device,
- int local_fd,
uint32_t queueFamilyIndex,
VkSurfaceKHR surface,
VkBool32* pSupported);
VkResult
wsi_common_get_present_rectangles(struct wsi_device *wsi,
- int local_fd,
VkSurfaceKHR surface,
uint32_t* pRectCount,
VkRect2D* pRects);
VkResult
wsi_common_create_swapchain(struct wsi_device *wsi,
VkDevice device,
- int fd,
const VkSwapchainCreateInfoKHR *pCreateInfo,
const VkAllocationCallbacks *pAllocator,
VkSwapchainKHR *pSwapchain);
int queue_family_index,
const VkPresentInfoKHR *pPresentInfo);
+uint64_t
+wsi_common_get_current_time(void);
+
#endif