198bb403aSmacallan/*
298bb403aSmacallan * Fujitsu AG-10e framebuffer - defines.
398bb403aSmacallan *
498bb403aSmacallan * Copyright (C) 2007 Michael Lorenz
598bb403aSmacallan *
698bb403aSmacallan * Permission is hereby granted, free of charge, to any person obtaining a copy
798bb403aSmacallan * of this software and associated documentation files (the "Software"), to deal
898bb403aSmacallan * in the Software without restriction, including without limitation the rights
998bb403aSmacallan * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1098bb403aSmacallan * copies of the Software, and to permit persons to whom the Software is
1198bb403aSmacallan * furnished to do so, subject to the following conditions:
1298bb403aSmacallan *
1398bb403aSmacallan * The above copyright notice and this permission notice shall be included in
1498bb403aSmacallan * all copies or substantial portions of the Software.
1598bb403aSmacallan *
1698bb403aSmacallan * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1798bb403aSmacallan * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1898bb403aSmacallan * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1998bb403aSmacallan * JAKUB JELINEK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
2098bb403aSmacallan * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
2198bb403aSmacallan * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2298bb403aSmacallan */
2398bb403aSmacallan/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6.h,v 1.3 2001/05/04 19:05:45 dawes Exp $ */
2498bb403aSmacallan
2598bb403aSmacallan#ifndef AG10E_H
2698bb403aSmacallan#define AG10E_H
2798bb403aSmacallan
2898bb403aSmacallan#include "xf86.h"
2998bb403aSmacallan#include "xf86_OSproc.h"
30556200c8Smrg#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
31556200c8Smrg#include "xf86RamDac.h"
32556200c8Smrg#else
33556200c8Smrg#include "xf86Cursor.h"
34556200c8Smrg#endif
3598bb403aSmacallan#include "Xmd.h"
3698bb403aSmacallan#include "gcstruct.h"
3798bb403aSmacallan#include "ag10e_regs.h"
3898bb403aSmacallan#include "xf86sbusBus.h"
3998bb403aSmacallan#include "xaa.h"
4098bb403aSmacallan
4198bb403aSmacallantypedef struct {
4298bb403aSmacallan	unsigned char	*fb;
4398bb403aSmacallan	unsigned char   *regs;
4498bb403aSmacallan	int		vclipmax;
4598bb403aSmacallan	int		width;
4698bb403aSmacallan	int		height;
4798bb403aSmacallan	int		maxheight;
4898bb403aSmacallan	int		vidmem;
4998bb403aSmacallan
5098bb403aSmacallan	sbusDevicePtr	psdp;
5198bb403aSmacallan	Bool		HWCursor;
5298bb403aSmacallan	Bool		NoAccel;
5398bb403aSmacallan	CloseScreenProcPtr CloseScreen;
5498bb403aSmacallan	xf86CursorInfoPtr CursorInfoRec;
5598bb403aSmacallan	struct fbcursor Cursor;
5698bb403aSmacallan	unsigned char pal[9];
5798bb403aSmacallan
5898bb403aSmacallan	OptionInfoPtr	Options;
5998bb403aSmacallan	unsigned char *buffers[1];
6098bb403aSmacallan	XAAInfoRecPtr	AccelInfoRec;
6198bb403aSmacallan	int 		tex_width, tex_height;
6298bb403aSmacallan	FBAreaPtr	tex_buffer;
6398bb403aSmacallan
6498bb403aSmacallan	/* Glint stuff */
6598bb403aSmacallan	GCPtr		CurrentGC;
6698bb403aSmacallan	DrawablePtr		CurrentDrawable;
6798bb403aSmacallan	int		IOOffset;
6898bb403aSmacallan	int		FIFOSize;
6998bb403aSmacallan	int		InFifoSpace;
7098bb403aSmacallan	int		pprod;
7198bb403aSmacallan	CARD32		ROP;
7298bb403aSmacallan	CARD32		FrameBufferReadMode;
7398bb403aSmacallan	CARD32		BltScanDirection;
7498bb403aSmacallan	CARD32		TexMapFormat;
7598bb403aSmacallan	CARD32		PixelWidth;
7698bb403aSmacallan	Bool		ClippingOn;
7798bb403aSmacallan	CARD32		ForeGroundColor;
7898bb403aSmacallan	CARD32		BackGroundColor;
7998bb403aSmacallan	int		bppalign;
8098bb403aSmacallan	CARD32		startxdom;
8198bb403aSmacallan	CARD32		startxsub;
8298bb403aSmacallan	CARD32		starty;
8398bb403aSmacallan	CARD32		count;
8498bb403aSmacallan	CARD32		dy;
8598bb403aSmacallan	CARD32		x;
8698bb403aSmacallan	CARD32		y;
8798bb403aSmacallan	CARD32		w;
8898bb403aSmacallan	CARD32		h;
8998bb403aSmacallan	CARD32		dxdom;
9098bb403aSmacallan	int		dwords;
9198bb403aSmacallan	int		cpuheight;
9298bb403aSmacallan	int		cpucount;
9398bb403aSmacallan	CARD32		planemask;
9498bb403aSmacallan	int		realWidth;
9598bb403aSmacallan
9698bb403aSmacallan} AG10ERec, *AG10EPtr;
9798bb403aSmacallan
9898bb403aSmacallanextern int  AG10EScreenPrivateIndex;
9998bb403aSmacallanextern int  AG10EGCPrivateIndex;
10098bb403aSmacallanextern int  AG10EWindowPrivateIndex;
10198bb403aSmacallan
10298bb403aSmacallan#define GET_AG10E_FROM_SCRN(p)    ((AG10EPtr)((p)->driverPrivate))
10398bb403aSmacallan
10498bb403aSmacallan#define AG10EGetScreenPrivate(s)						\
10598bb403aSmacallan((AG10EPtr) (s)->devPrivates[AG10EScreenPrivateIndex].ptr)
10698bb403aSmacallan
10798bb403aSmacallan#define AG10EGetGCPrivate(g)						\
10898bb403aSmacallan((AG10EPrivGCPtr) (g)->devPrivates [AG10EGCPrivateIndex].ptr)
10998bb403aSmacallan
11098bb403aSmacallan#define AG10EGetWindowPrivate(w)						\
11198bb403aSmacallan((AG10EStipplePtr) (w)->devPrivates[AG10EWindowPrivateIndex].ptr)
11298bb403aSmacallan
11398bb403aSmacallan#define AG10ESetWindowPrivate(w,p) 					\
11498bb403aSmacallan((w)->devPrivates[AG10EWindowPrivateIndex].ptr = (pointer) p)
11598bb403aSmacallan
11698bb403aSmacallanint AG10EAccelInit(ScreenPtr);
11798bb403aSmacallanBool AG10EDGAInit(ScreenPtr);
11898bb403aSmacallan
119e8736c93Schristos/* ag10e_cursor.c */
120e8736c93SchristosBool AG10EHWCursorInit(ScreenPtr);
121e8736c93Schristos
12298bb403aSmacallan#endif /* AG10E_H */
123