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 <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
3aaaac0be5
commit
84e47f3fe6
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user