Squashed commit of the following:
[profile/ivi/mesa.git] / src / gallium / drivers / nv50 / nv50_screen.h
1 #ifndef __NV50_SCREEN_H__
2 #define __NV50_SCREEN_H__
3
4 #include "nouveau/nouveau_screen.h"
5 #include "nv50_context.h"
6
7 struct nv50_screen {
8         struct nouveau_screen base;
9
10         struct nouveau_winsys *nvws;
11
12         struct nv50_context *cur_ctx;
13
14         struct nouveau_grobj *tesla;
15         struct nouveau_grobj *eng2d;
16         struct nouveau_grobj *m2mf;
17         struct nouveau_notifier *sync;
18
19         struct nouveau_bo *constbuf_misc[1];
20         struct nouveau_bo *constbuf_parm[PIPE_SHADER_TYPES];
21
22         struct nouveau_resource *immd_heap[1];
23         struct nouveau_resource *parm_heap[PIPE_SHADER_TYPES];
24
25         struct pipe_resource *strm_vbuf[16];
26
27         struct nouveau_bo *tic;
28         struct nouveau_bo *tsc;
29
30         boolean force_push;
31 };
32
33 static INLINE struct nv50_screen *
34 nv50_screen(struct pipe_screen *screen)
35 {
36         return (struct nv50_screen *)screen;
37 }
38
39 extern void nv50_screen_relocs(struct nv50_screen *);
40
41 #endif