1 #ifndef __NV30_SCREEN_H__
2 #define __NV30_SCREEN_H__
3 
4 #include <stdio.h>
5 
6 #include "util/list.h"
7 
8 #include "nouveau_debug.h"
9 #include "nouveau_screen.h"
10 #include "nouveau_fence.h"
11 #include "nouveau_heap.h"
12 #include "nv30/nv30_winsys.h"
13 #include "nv30/nv30_resource.h"
14 
15 struct nv30_context;
16 
17 struct nv30_screen {
18    struct nouveau_screen base;
19 
20    struct nv30_context *cur_ctx;
21 
22    struct nouveau_bo *notify;
23 
24    struct nouveau_object *ntfy;
25    struct nouveau_object *fence;
26 
27    struct nouveau_object *query;
28    struct nouveau_heap *query_heap;
29    struct list_head queries;
30 
31    struct nouveau_object *null;
32    struct nouveau_object *eng3d;
33    struct nouveau_object *m2mf;
34    struct nouveau_object *surf2d;
35    struct nouveau_object *swzsurf;
36    struct nouveau_object *sifm;
37 
38    /*XXX: nvfx state */
39    struct nouveau_heap *vp_exec_heap;
40    struct nouveau_heap *vp_data_heap;
41 
42    unsigned max_sample_count;
43 };
44 
45 static inline struct nv30_screen *
nv30_screen(struct pipe_screen * pscreen)46 nv30_screen(struct pipe_screen *pscreen)
47 {
48    return (struct nv30_screen *)pscreen;
49 }
50 
51 #endif
52