nv50: get rid of the static_init stateobj
[mesa.git] / src / gallium / drivers / nv50 / nv50_screen.h
index 31b8ef29c983af7cda90ec5d05e98ffc51ee41df..15bd4eed3994cad8412562b1b812971f03167569 100644 (file)
@@ -1,30 +1,33 @@
 #ifndef __NV50_SCREEN_H__
 #define __NV50_SCREEN_H__
 
-#include "pipe/p_screen.h"
+#include "nouveau/nouveau_screen.h"
+#include "nv50_context.h"
 
 struct nv50_screen {
-       struct pipe_screen pipe;
+       struct nouveau_screen base;
 
        struct nouveau_winsys *nvws;
 
-       unsigned cur_pctx;
+       struct nv50_context *cur_ctx;
 
        struct nouveau_grobj *tesla;
        struct nouveau_grobj *eng2d;
        struct nouveau_grobj *m2mf;
        struct nouveau_notifier *sync;
 
-       struct pipe_buffer *constbuf_misc[1];
-       struct pipe_buffer *constbuf_parm[2];
+       struct nouveau_bo *constbuf_misc[1];
+       struct nouveau_bo *constbuf_parm[PIPE_SHADER_TYPES];
 
        struct nouveau_resource *immd_heap[1];
-       struct nouveau_resource *parm_heap[2];
+       struct nouveau_resource *parm_heap[PIPE_SHADER_TYPES];
 
-       struct pipe_buffer *tic;
-       struct pipe_buffer *tsc;
+       struct pipe_buffer *strm_vbuf[16];
 
-       struct nouveau_stateobj *static_init;
+       struct nouveau_bo *tic;
+       struct nouveau_bo *tsc;
+
+       boolean force_push;
 };
 
 static INLINE struct nv50_screen *
@@ -33,6 +36,6 @@ nv50_screen(struct pipe_screen *screen)
        return (struct nv50_screen *)screen;
 }
 
-void nv50_transfer_init_screen_functions(struct pipe_screen *);
+extern void nv50_screen_relocs(struct nv50_screen *);
 
 #endif