1/*
2 * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
3 * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sub license,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the
13 * next paragraph) shall be included in all copies or substantial portions
14 * of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24/*
25 * Keep this file in perfect sync between the ddx and dri drivers.
26 * At least bump the VIA_DRIDDX_VERSION defines appropriately.
27 *
28 */
29#ifndef _VIA_DRI_H_
30#define _VIA_DRI_H_ 1
31
32#define VIA_MAX_DRAWABLES 256
33
34#define VIA_DRIDDX_VERSION_MAJOR  5
35#define VIA_DRIDDX_VERSION_MINOR  0
36#define VIA_DRIDDX_VERSION_PATCH  0
37
38#if !defined(XFree86Server) && !defined(_XDEFS_H)
39typedef int Bool;
40#endif
41
42typedef struct {
43    drm_handle_t handle;
44    drmSize size;
45} viaRegion, *viaRegionPtr;
46
47typedef struct {
48    viaRegion regs;
49    int deviceID;
50    int width;
51    int height;
52    int mem;
53    int bytesPerPixel;
54    int priv1;
55    int priv2;
56    Bool drixinerama;
57    int backOffset;
58    int depthOffset;
59    int textureOffset;
60    int textureSize;
61    int irqEnabled;
62    unsigned int scrnX, scrnY;
63    int sarea_priv_offset;
64    int ringBufActive;
65    unsigned int reg_pause_addr;
66} VIADRIRec, *VIADRIPtr;
67
68typedef struct {
69    int dummy;
70} VIAConfigPrivRec, *VIAConfigPrivPtr;
71
72typedef struct {
73    int dummy;
74} VIADRIContextRec, *VIADRIContextPtr;
75
76Bool VIADRIKernelInit(ScrnInfoPtr pScrn);
77void kickVblank(ScrnInfoPtr pScrn);
78
79#endif /* _VIA_DRI_H_ */
80