Merge branch 'mesa_7_7_branch'
[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 unsigned cur_pctx;
13 struct nv50_context *cur_ctx;
14
15 struct nouveau_grobj *tesla;
16 struct nouveau_grobj *eng2d;
17 struct nouveau_grobj *m2mf;
18 struct nouveau_notifier *sync;
19
20 struct nouveau_bo *constbuf_misc[1];
21 struct nouveau_bo *constbuf_parm[PIPE_SHADER_TYPES];
22
23 struct nouveau_resource *immd_heap[1];
24 struct nouveau_resource *parm_heap[PIPE_SHADER_TYPES];
25
26 struct pipe_buffer *strm_vbuf[16];
27
28 struct nouveau_bo *tic;
29 struct nouveau_bo *tsc;
30
31 struct nouveau_stateobj *static_init;
32 };
33
34 static INLINE struct nv50_screen *
35 nv50_screen(struct pipe_screen *screen)
36 {
37 return (struct nv50_screen *)screen;
38 }
39
40 void nv50_transfer_init_screen_functions(struct pipe_screen *);
41
42 #endif