2 * Copyright © 1998 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
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of Keith Packard not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission. Keith Packard makes no
11 * representations about the suitability of this software for any purpose. It
12 * is provided "as is" without express or implied warranty.
14 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL KEITH PACKARD 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
20 * PERFORMANCE OF THIS SOFTWARE.
23 #ifdef HAVE_DIX_CONFIG_H
24 #include <dix-config.h>
29 #ifdef FB_SCREEN_PRIVATE
30 int fbScreenPrivateIndex
;
31 int fbGetScreenPrivateIndex(void)
33 return fbScreenPrivateIndex
;
37 int fbGetGCPrivateIndex(void)
39 return fbGCPrivateIndex
;
41 #ifndef FB_NO_WINDOW_PIXMAPS
42 int fbWinPrivateIndex
;
43 int fbGetWinPrivateIndex(void)
45 return fbWinPrivateIndex
;
51 fbAllocatePrivates(ScreenPtr pScreen
, int *pGCIndex
)
53 if (fbGeneration
!= serverGeneration
)
55 fbGCPrivateIndex
= miAllocateGCPrivateIndex ();
56 #ifndef FB_NO_WINDOW_PIXMAPS
57 fbWinPrivateIndex
= AllocateWindowPrivateIndex();
59 #ifdef FB_SCREEN_PRIVATE
60 fbScreenPrivateIndex
= AllocateScreenPrivateIndex ();
61 if (fbScreenPrivateIndex
== -1)
65 fbGeneration
= serverGeneration
;
68 *pGCIndex
= fbGCPrivateIndex
;
69 if (!AllocateGCPrivate(pScreen
, fbGCPrivateIndex
, sizeof(FbGCPrivRec
)))
71 #ifndef FB_NO_WINDOW_PIXMAPS
72 if (!AllocateWindowPrivate(pScreen
, fbWinPrivateIndex
, 0))
75 #ifdef FB_SCREEN_PRIVATE
77 FbScreenPrivPtr pScreenPriv
;
79 pScreenPriv
= (FbScreenPrivPtr
) xalloc (sizeof (FbScreenPrivRec
));
82 pScreen
->devPrivates
[fbScreenPrivateIndex
].ptr
= (pointer
) pScreenPriv
;
88 #ifdef FB_ACCESS_WRAPPER
89 ReadMemoryProcPtr wfbReadMemory
;
90 WriteMemoryProcPtr wfbWriteMemory
;