1 #ifndef __NV30_SCREEN_H__
2 #define __NV30_SCREEN_H__
3 
4 #include <stdio.h>
5 
6 #define NOUVEAU_ERR(fmt, args...) \
7    fprintf(stderr, "%s:%d -  "fmt, __FUNCTION__, __LINE__, ##args);
8 
9 #include "util/u_double_list.h"
10 
11 #include "nouveau/nouveau_screen.h"
12 #include "nouveau/nouveau_fence.h"
13 #include "nouveau/nouveau_heap.h"
14 #include "nv30_winsys.h"
15 #include "nv30_resource.h"
16 
17 struct nv30_context;
18 
19 struct nv30_screen {
20    struct nouveau_screen base;
21 
22    struct nv30_context *cur_ctx;
23 
24    struct nouveau_bo *notify;
25 
26    struct nouveau_object *ntfy;
27    struct nouveau_object *fence;
28 
29    struct nouveau_object *query;
30    struct nouveau_heap *query_heap;
31    struct list_head queries;
32 
33    struct nouveau_object *null;
34    struct nouveau_object *eng3d;
35    struct nouveau_object *m2mf;
36    struct nouveau_object *surf2d;
37    struct nouveau_object *swzsurf;
38    struct nouveau_object *sifm;
39 
40    /*XXX: nvfx state */
41    struct nouveau_heap *vp_exec_heap;
42    struct nouveau_heap *vp_data_heap;
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