nouveau: switch to libdrm_nouveau-2.0
[mesa.git] / src / gallium / drivers / nouveau / nouveau_context.h
index 696e0d3f24e09f0cc13388cb9a45e54df3c7dd70..4e6085f6935e746d6610d5d92f4fd303b7132161 100644 (file)
@@ -3,18 +3,28 @@
 
 #include "pipe/p_context.h"
 
+struct nouveau_pushbuf;
+
 struct nouveau_context {
    struct pipe_context pipe;
    struct nouveau_screen *screen;
 
+   struct nouveau_pushbuf *pushbuf;
+
    boolean vbo_dirty;
+   boolean cb_dirty;
 
    void (*copy_data)(struct nouveau_context *,
                      struct nouveau_bo *dst, unsigned, unsigned,
                      struct nouveau_bo *src, unsigned, unsigned, unsigned);
    void (*push_data)(struct nouveau_context *,
                      struct nouveau_bo *dst, unsigned, unsigned,
-                     unsigned, void *);
+                     unsigned, const void *);
+   /* base, size refer to the whole constant buffer */
+   void (*push_cb)(struct nouveau_context *,
+                   struct nouveau_bo *, unsigned domain,
+                   unsigned base, unsigned size,
+                   unsigned offset, unsigned words, const uint32_t *);
 };
 
 static INLINE struct nouveau_context *
@@ -23,4 +33,7 @@ nouveau_context(struct pipe_context *pipe)
    return (struct nouveau_context *)pipe;
 }
 
+void
+nouveau_context_init_vdec(struct nouveau_context *);
+
 #endif