2 * Copyright © 2013 Keith Packard
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that copyright
7 * notice and this permission notice appear in supporting documentation, and
8 * that the name of the copyright holders not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission. The copyright holders make no representations
11 * about the suitability of this software for any purpose. It is provided "as
12 * is" without express or implied warranty.
14 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23 #ifndef _PRESENT_TOKENS_H_
24 #define _PRESENT_TOKENS_H_
26 #define PRESENT_NAME "Present"
27 #define PRESENT_MAJOR 1
28 #define PRESENT_MINOR 0
30 #define PresentNumberErrors 0
31 #define PresentNumberEvents 0
34 #define X_PresentQueryVersion 0
35 #define X_PresentPixmap 1
36 #define X_PresentNotifyMSC 2
37 #define X_PresentSelectInput 3
38 #define X_PresentQueryCapabilities 4
40 #define PresentNumberRequests 5
42 /* Present operation options */
43 #define PresentOptionNone 0
44 #define PresentOptionAsync (1 << 0)
45 #define PresentOptionCopy (1 << 1)
46 #define PresentOptionUST (1 << 2)
48 #define PresentAllOptions (PresentOptionAsync | \
52 /* Present capabilities */
54 #define PresentCapabilityNone 0
55 #define PresentCapabilityAsync 1
56 #define PresentCapabilityFence 2
57 #define PresentCapabilityUST 4
58 #define PresentCapabilityScanout 8
60 #define PresentAllCapabilities (PresentCapabilityAsync | \
61 PresentCapabilityFence | \
62 PresentCapabilityUST | \
63 PresentCapabilityScanout)
66 #define PresentConfigureNotify 0
67 #define PresentCompleteNotify 1
68 #define PresentIdleNotify 2
69 #define PresentRedirectNotify 3
70 #define PresentScanoutNotify 4
73 #define PresentConfigureNotifyMask 1
74 #define PresentCompleteNotifyMask 2
75 #define PresentIdleNotifyMask 4
76 #define PresentRedirectNotifyMask 8
77 #define PresentScanoutNotifyMask 16
79 #define PresentAllEvents (PresentConfigureNotifyMask | \
80 PresentCompleteNotifyMask | \
81 PresentIdleNotifyMask | \
82 PresentRedirectNotifyMask | \
83 PresentScanoutNotifyMask)
87 #define PresentCompleteKindPixmap 0
88 #define PresentCompleteKindNotifyMSC 1
92 #define PresentCompleteModeCopy 0
93 #define PresentCompleteModeFlip 1
94 #define PresentCompleteModeSkip 2