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)49nv30_screen(struct pipe_screen *pscreen) 50 { 51 return (struct nv30_screen *)pscreen; 52 } 53 54 #endif 55