summaryrefslogtreecommitdiff
path: root/src/ffb_drishare.h
blob: c43912978b68dc5aed34b785e4acf5f0aed37760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* $XFree86$ */

#ifndef _FFB_DRISHARE_H
#define _FFB_DRISHARE_H

typedef struct ffb_dri_state {
	int		flags;
#define FFB_DRI_FFB2		0x00000001
#define FFB_DRI_FFB2PLUS	0x00000002
#define FFB_DRI_PAC1		0x00000004
#define FFB_DRI_PAC2		0x00000008

	/* Indexed by DRI drawable id. */
#define FFB_DRI_NWIDS	64
	unsigned int	wid_table[FFB_DRI_NWIDS];
} ffb_dri_state_t;

#define FFB_DRISHARE(SAREA)	\
	((ffb_dri_state_t *) (((char *)(SAREA)) + sizeof(drm_sarea_t)))

typedef struct {
	drm_handle_t	hFbcRegs;
	drmSize		sFbcRegs;
	drmAddress	mFbcRegs;

	drm_handle_t	hDacRegs;
	drmSize		sDacRegs;
	drmAddress	mDacRegs;

	drm_handle_t	hSfb8r;
	drmSize		sSfb8r;
	drmAddress	mSfb8r;

	drm_handle_t	hSfb32;
	drmSize		sSfb32;
	drmAddress	mSfb32;

	drm_handle_t	hSfb64;
	drmSize		sSfb64;
	drmAddress	mSfb64;

	/* Fastfill/Pagefill parameters. */
	unsigned char	disable_pagefill;
	int		fastfill_small_area;
	int		pagefill_small_area;
	int		fastfill_height;
	int		fastfill_width;
	int		pagefill_height;
	int		pagefill_width;
	short		Pf_AlignTab[0x800];
} FFBDRIRec, *FFBDRIPtr;

#endif /* !(_FFB_DRISHARE_H) */