1bf215546Sopenharmony_ci/*
2bf215546Sopenharmony_ci * Copyright © 2017 Keith Packard
3bf215546Sopenharmony_ci *
4bf215546Sopenharmony_ci * Permission to use, copy, modify, distribute, and sell this software and its
5bf215546Sopenharmony_ci * documentation for any purpose is hereby granted without fee, provided that
6bf215546Sopenharmony_ci * the above copyright notice appear in all copies and that both that copyright
7bf215546Sopenharmony_ci * notice and this permission notice appear in supporting documentation, and
8bf215546Sopenharmony_ci * that the name of the copyright holders not be used in advertising or
9bf215546Sopenharmony_ci * publicity pertaining to distribution of the software without specific,
10bf215546Sopenharmony_ci * written prior permission.  The copyright holders make no representations
11bf215546Sopenharmony_ci * about the suitability of this software for any purpose.  It is provided "as
12bf215546Sopenharmony_ci * is" without express or implied warranty.
13bf215546Sopenharmony_ci *
14bf215546Sopenharmony_ci * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15bf215546Sopenharmony_ci * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16bf215546Sopenharmony_ci * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17bf215546Sopenharmony_ci * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18bf215546Sopenharmony_ci * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19bf215546Sopenharmony_ci * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20bf215546Sopenharmony_ci * OF THIS SOFTWARE.
21bf215546Sopenharmony_ci */
22bf215546Sopenharmony_ci
23bf215546Sopenharmony_ci#ifndef WSI_COMMON_DISPLAY_H
24bf215546Sopenharmony_ci#define WSI_COMMON_DISPLAY_H
25bf215546Sopenharmony_ci
26bf215546Sopenharmony_ci#include "wsi_common.h"
27bf215546Sopenharmony_ci#include <xf86drm.h>
28bf215546Sopenharmony_ci#include <xf86drmMode.h>
29bf215546Sopenharmony_ci
30bf215546Sopenharmony_cistruct vk_sync;
31bf215546Sopenharmony_ci
32bf215546Sopenharmony_ci/* VK_EXT_display_control */
33bf215546Sopenharmony_ciVkResult
34bf215546Sopenharmony_ciwsi_register_device_event(VkDevice                      device,
35bf215546Sopenharmony_ci                          struct wsi_device             *wsi_device,
36bf215546Sopenharmony_ci                          const VkDeviceEventInfoEXT    *device_event_info,
37bf215546Sopenharmony_ci                          const VkAllocationCallbacks   *allocator,
38bf215546Sopenharmony_ci                          struct vk_sync                **sync,
39bf215546Sopenharmony_ci                          int sync_fd);
40bf215546Sopenharmony_ci
41bf215546Sopenharmony_ciVkResult
42bf215546Sopenharmony_ciwsi_register_display_event(VkDevice                     device,
43bf215546Sopenharmony_ci                           struct wsi_device            *wsi_device,
44bf215546Sopenharmony_ci                           VkDisplayKHR                 display,
45bf215546Sopenharmony_ci                           const VkDisplayEventInfoEXT  *display_event_info,
46bf215546Sopenharmony_ci                           const VkAllocationCallbacks  *allocator,
47bf215546Sopenharmony_ci                           struct vk_sync               **sync,
48bf215546Sopenharmony_ci                           int sync_fd);
49bf215546Sopenharmony_ci
50bf215546Sopenharmony_ci#endif
51