gallium: remove user_buffer_create from the interface
[mesa.git] / src / gallium / drivers / nv50 / nv50_screen.h
index 315ca80c0d2c51557fc1cf252756fe8a9243ecfd..9eae08ea1d359c5cefd6a176157dbfbd61a87b86 100644 (file)
@@ -1,11 +1,11 @@
 #ifndef __NV50_SCREEN_H__
 #define __NV50_SCREEN_H__
 
-#define NOUVEAU_NVC0
 #include "nouveau/nouveau_screen.h"
 #include "nouveau/nouveau_fence.h"
 #include "nouveau/nouveau_mm.h"
-#undef NOUVEAU_NVC0
+#include "nouveau/nouveau_heap.h"
+
 #include "nv50_winsys.h"
 #include "nv50_stateobj.h"
 
@@ -16,16 +16,12 @@ struct nv50_context;
 
 #define NV50_CODE_BO_SIZE_LOG2 19
 
-#define NV50_SCRATCH_SIZE (2 << 20)
-#define NV50_SCRATCH_NR_BUFFERS 2
-
 #define NV50_SCREEN_RESIDENT_BO_COUNT 5
 
 struct nv50_blitctx;
 
 struct nv50_screen {
    struct nouveau_screen base;
-   struct nouveau_winsys *nvws;
 
    struct nv50_context *cur_ctx;
 
@@ -37,9 +33,9 @@ struct nv50_screen {
 
    uint64_t tls_size;
 
-   struct nouveau_resource *vp_code_heap;
-   struct nouveau_resource *gp_code_heap;
-   struct nouveau_resource *fp_code_heap;
+   struct nouveau_heap *vp_code_heap;
+   struct nouveau_heap *gp_code_heap;
+   struct nouveau_heap *fp_code_heap;
 
    struct nv50_blitctx *blitctx;
 
@@ -60,13 +56,11 @@ struct nv50_screen {
       struct nouveau_bo *bo;
    } fence;
 
-   struct nouveau_notifier *sync;
+   struct nouveau_object *sync;
 
-   struct nouveau_mman *mm_VRAM_fe0;
-
-   struct nouveau_grobj *tesla;
-   struct nouveau_grobj *eng2d;
-   struct nouveau_grobj *m2mf;
+   struct nouveau_object *tesla;
+   struct nouveau_object *eng2d;
+   struct nouveau_object *m2mf;
 };
 
 static INLINE struct nv50_screen *
@@ -77,8 +71,6 @@ nv50_screen(struct pipe_screen *screen)
 
 boolean nv50_blitctx_create(struct nv50_screen *);
 
-void nv50_screen_make_buffers_resident(struct nv50_screen *);
-
 int nv50_screen_tic_alloc(struct nv50_screen *, void *);
 int nv50_screen_tsc_alloc(struct nv50_screen *, void *);
 
@@ -89,7 +81,6 @@ nv50_resource_fence(struct nv04_resource *res, uint32_t flags)
 
    if (res->mm) {
       nouveau_fence_ref(screen->base.fence.current, &res->fence);
-
       if (flags & NOUVEAU_BO_WR)
          nouveau_fence_ref(screen->base.fence.current, &res->fence_wr);
    }
@@ -98,11 +89,7 @@ nv50_resource_fence(struct nv04_resource *res, uint32_t flags)
 static INLINE void
 nv50_resource_validate(struct nv04_resource *res, uint32_t flags)
 {
-   struct nv50_screen *screen = nv50_screen(res->base.screen);
-
    if (likely(res->bo)) {
-      nouveau_bo_validate(screen->base.channel, res->bo, flags);
-
       if (flags & NOUVEAU_BO_WR)
          res->status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING;
       if (flags & NOUVEAU_BO_RD)