xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/nouveau/nv30/nv30_screen.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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_resource.h"
13 #include "compiler/nir/nir.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    nir_shader_compiler_options fs_compiler_options;
43 
44    unsigned max_sample_count;
45 };
46 
47 static inline struct nv30_screen *
nv30_screen(struct pipe_screen * pscreen)48 nv30_screen(struct pipe_screen *pscreen)
49 {
50    return (struct nv30_screen *)pscreen;
51 }
52 
53 #endif
54