VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.0.1/mibank.h

最後變更 在這個檔案是 51223,由 vboxsync 提交於 11 年 前

Additions/x11/x11include: added header files for X.Org Server 1.0 and 1.1.

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.0 KB
 
1/*
2 * Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), [email protected]
3 *
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 Marc Aurele La France not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission. Marc Aurele La France makes no representations
11 * about the suitability of this software for any purpose. It is provided
12 * "as-is" without express or implied warranty.
13 *
14 * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
16 * EVENT SHALL MARC AURELE LA FRANCE 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.
21 */
22
23/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.10 2003/01/01 19:16:42 tsi Exp $ */
24
25#ifndef __MIBANK_H__
26#define __MIBANK_H__ 1
27
28#include "scrnintstr.h"
29
30/*
31 * Banking external interface.
32 */
33
34/*
35 * This is the banking function type. The return value is normally zero.
36 * Non-zero returns can be used to implement the likes of scanline interleave,
37 * etc.
38 */
39typedef int miBankProc(
40 ScreenPtr /*pScreen*/,
41 unsigned int /*iBank*/
42);
43
44typedef miBankProc *miBankProcPtr;
45
46typedef struct _miBankInfo
47{
48 /*
49 * Banking refers to the use of one or more apertures (in the server's
50 * address space) to access various parts of a potentially larger hardware
51 * frame buffer.
52 *
53 * Three different banking schemes are supported:
54 *
55 * Single banking is indicated when pBankA and pBankB are equal and all
56 * three miBankProcPtr's point to the same function. Here, both reads and
57 * writes through the aperture access the same hardware location.
58 *
59 * Shared banking is indicated when pBankA and pBankB are equal but the
60 * source and destination functions differ. Here reads through the
61 * aperture do not necessarily access the same hardware location as writes.
62 *
63 * Double banking is indicated when pBankA and pBankB differ. Here two
64 * independent apertures are used to provide read/write access to
65 * potentially different hardware locations.
66 *
67 * Any other combination will result in no banking.
68 */
69 miBankProcPtr SetSourceBank; /* Set pBankA bank number */
70 miBankProcPtr SetDestinationBank; /* Set pBankB bank number */
71 miBankProcPtr SetSourceAndDestinationBanks; /* Set both bank numbers */
72
73 pointer pBankA; /* First aperture location */
74 pointer pBankB; /* First or second aperture location */
75
76 /*
77 * BankSize is in units of sizeof(char) and is the size of each bank.
78 */
79 unsigned long BankSize;
80
81 /*
82 * nBankDepth is the colour depth associated with the maximum number of a
83 * pixel's bits that are simultaneously accessible through the frame buffer
84 * aperture.
85 */
86 unsigned int nBankDepth;
87} miBankInfoRec, *miBankInfoPtr;
88
89Bool
90miInitializeBanking(
91 ScreenPtr /*pScreen*/,
92 unsigned int /*xsize*/,
93 unsigned int /*ysize*/,
94 unsigned int /*width*/,
95 miBankInfoPtr /*pBankInfo*/
96);
97
98Bool
99miModifyBanking(
100 ScreenPtr /*pScreen*/,
101 miBankInfoPtr /*pBankInfo*/
102);
103
104/*
105 * This function determines the minimum screen width, given a initial estimate
106 * and various screen attributes. DDX needs to determine this width before
107 * initializing the screen.
108 */
109int
110miScanLineWidth(
111 unsigned int /*xsize*/,
112 unsigned int /*ysize*/,
113 unsigned int /*width*/,
114 unsigned long /*BankSize*/,
115 PixmapFormatRec * /*pBankFormat*/,
116 unsigned int /*nWidthUnit*/
117);
118
119#endif /* __MIBANK_H__ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette