summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/nouveau/nouveau_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nouveau_context.h')
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_context.h40
1 files changed, 25 insertions, 15 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.h b/src/mesa/drivers/dri/nouveau/nouveau_context.h
index cd4a9fbc0ff..8bba51e8091 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_context.h
+++ b/src/mesa/drivers/dri/nouveau/nouveau_context.h
@@ -29,7 +29,6 @@
#include "nouveau_screen.h"
#include "nouveau_state.h"
-#include "nouveau_bo_state.h"
#include "nouveau_scratch.h"
#include "nouveau_render.h"
@@ -41,20 +40,28 @@ enum nouveau_fallback {
SWRAST,
};
+#define BUFCTX_FB 0
+#define BUFCTX_VTX 1
+#define BUFCTX_TEX(i) (2 + (i))
+
struct nouveau_hw_state {
- struct nouveau_channel *chan;
-
- struct nouveau_notifier *ntfy;
- struct nouveau_grobj *eng3d;
- struct nouveau_grobj *eng3dm;
- struct nouveau_grobj *surf3d;
- struct nouveau_grobj *m2mf;
- struct nouveau_grobj *surf2d;
- struct nouveau_grobj *rop;
- struct nouveau_grobj *patt;
- struct nouveau_grobj *rect;
- struct nouveau_grobj *swzsurf;
- struct nouveau_grobj *sifm;
+ struct nouveau_object *chan;
+ struct nouveau_client *client;
+ struct nouveau_pushbuf *pushbuf;
+ struct nouveau_bufctx *bufctx;
+
+ struct nouveau_object *null;
+ struct nouveau_object *ntfy;
+ struct nouveau_object *eng3d;
+ struct nouveau_object *eng3dm;
+ struct nouveau_object *surf3d;
+ struct nouveau_object *m2mf;
+ struct nouveau_object *surf2d;
+ struct nouveau_object *rop;
+ struct nouveau_object *patt;
+ struct nouveau_object *rect;
+ struct nouveau_object *swzsurf;
+ struct nouveau_object *sifm;
};
struct nouveau_context {
@@ -66,7 +73,6 @@ struct nouveau_context {
enum nouveau_fallback fallback;
struct nouveau_hw_state hw;
- struct nouveau_bo_state bo;
struct nouveau_render_state render;
struct nouveau_scratch_state scratch;
@@ -84,6 +90,10 @@ struct nouveau_context {
(context_dev(ctx)->chipset)
#define context_chan(ctx) \
(to_nouveau_context(ctx)->hw.chan)
+#define context_client(ctx) \
+ (to_nouveau_context(ctx)->hw.client)
+#define context_push(ctx) \
+ (to_nouveau_context(ctx)->hw.pushbuf)
#define context_eng3d(ctx) \
(to_nouveau_context(ctx)->hw.eng3d)
#define context_drv(ctx) \