• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "compiler/nir/nir.h"
15 
16 struct nv30_context;
17 
18 struct nv30_screen {
19    struct nouveau_screen base;
20 
21    struct nv30_context *cur_ctx;
22 
23    struct nouveau_bo *notify;
24 
25    struct nouveau_object *ntfy;
26    struct nouveau_object *fence;
27 
28    struct nouveau_object *query;
29    struct nouveau_heap *query_heap;
30    struct list_head queries;
31 
32    struct nouveau_object *null;
33    struct nouveau_object *eng3d;
34    struct nouveau_object *m2mf;
35    struct nouveau_object *surf2d;
36    struct nouveau_object *swzsurf;
37    struct nouveau_object *sifm;
38 
39    /*XXX: nvfx state */
40    struct nouveau_heap *vp_exec_heap;
41    struct nouveau_heap *vp_data_heap;
42 
43    nir_shader_compiler_options fs_compiler_options;
44 
45    unsigned max_sample_count;
46 };
47 
48 static inline struct nv30_screen *
nv30_screen(struct pipe_screen * pscreen)49 nv30_screen(struct pipe_screen *pscreen)
50 {
51    return (struct nv30_screen *)pscreen;
52 }
53 
54 #endif
55