Commit 84e47f3f authored by Roman Gilg's avatar Roman Gilg Committed by Adam Jackson
Browse files

present: Add present_window_priv properties for window flip mode



For window flip mode data about flips needs to be stored per window.
Add properties to 'present_window_priv' and initialize them on creation.
Signed-off-by: Roman Gilg's avatarRoman Gilg <subdiff@gmail.com>
Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
parent 3aaaac0b
......@@ -206,12 +206,22 @@ typedef struct present_event {
} present_event_rec;
typedef struct present_window_priv {
WindowPtr window;
present_event_ptr events;
RRCrtcPtr crtc; /* Last reported CRTC from get_ust_msc */
uint64_t msc_offset;
uint64_t msc; /* Last reported MSC from the current crtc */
struct xorg_list vblank;
struct xorg_list notifies;
/* Used for window flips */
uint64_t event_id;
struct xorg_list exec_queue;
struct xorg_list flip_queue;
struct xorg_list idle_queue;
present_vblank_ptr flip_pending;
present_vblank_ptr flip_active;
} present_window_priv_rec, *present_window_priv_ptr;
#define PresentCrtcNeverSet ((RRCrtcPtr) 1)
......
......@@ -45,6 +45,12 @@ present_get_window_priv(WindowPtr window, Bool create)
return NULL;
xorg_list_init(&window_priv->vblank);
xorg_list_init(&window_priv->notifies);
xorg_list_init(&window_priv->exec_queue);
xorg_list_init(&window_priv->flip_queue);
xorg_list_init(&window_priv->idle_queue);
window_priv->window = window;
window_priv->crtc = PresentCrtcNeverSet;
dixSetPrivate(&window->devPrivates, &present_window_private_key, window_priv);
return window_priv;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment