New driver for i915 as well as older i830/i845/i865 chipsets.
[mesa.git] / src / mesa / drivers / dri / i915 / intel_screen.h
1 /**************************************************************************
2 *
3 * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
4 * All Rights Reserved.
5 *
6 **************************************************************************/
7
8 #ifndef _INTEL_INIT_H_
9 #define _INTEL_INIT_H_
10
11 #include <sys/time.h>
12 #include "dri_util.h"
13
14
15 typedef struct {
16 drm_handle_t handle;
17 drmSize size;
18 char *map;
19 } intelRegion;
20
21 typedef struct
22 {
23 intelRegion front;
24 intelRegion back;
25 intelRegion depth;
26 intelRegion tex;
27
28 int deviceID;
29 int width;
30 int height;
31 int mem;
32
33 int cpp; /* for front and back buffers */
34 int bitsPerPixel;
35
36 int fbFormat;
37
38 int frontOffset;
39 int frontPitch;
40
41 int backOffset;
42 int backPitch;
43
44 int depthOffset;
45 int depthPitch;
46
47
48 int textureOffset;
49 int textureSize;
50 int logTextureGranularity;
51
52 __DRIscreenPrivate *driScrnPriv;
53 unsigned int sarea_priv_offset;
54
55 int drmMinor;
56
57 int irq_active;
58 int allow_batchbuffer;
59 } intelScreenPrivate;
60
61
62 extern void
63 intelDestroyContext(__DRIcontextPrivate *driContextPriv);
64
65 extern GLboolean
66 intelUnbindContext(__DRIcontextPrivate *driContextPriv);
67
68 extern GLboolean
69 intelMakeCurrent(__DRIcontextPrivate *driContextPriv,
70 __DRIdrawablePrivate *driDrawPriv,
71 __DRIdrawablePrivate *driReadPriv);
72
73 extern void
74 intelSwapBuffers( __DRIdrawablePrivate *dPriv);
75
76 #endif