summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_context.h
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-06-16 22:24:16 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-06-29 15:46:19 +1000
commitbb9efb5534a652878161e28bd73039eff5b11014 (patch)
tree298c27678a56fa1ef0d9b520cd0e1107f046e3c8 /src/gallium/drivers/nv50/nv50_context.h
parent94999d39d43d24a702f4cb55b515906d03a57277 (diff)
nv50: separate state validation and upload, similar to nv40
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_context.h')
-rw-r--r--src/gallium/drivers/nv50/nv50_context.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h
index cbb473410a..3e0e523ee3 100644
--- a/src/gallium/drivers/nv50/nv50_context.h
+++ b/src/gallium/drivers/nv50/nv50_context.h
@@ -74,6 +74,25 @@ nv50_miptree(struct pipe_texture *pt)
return (struct nv50_miptree *)pt;
}
+struct nv50_state {
+ unsigned dirty;
+
+ struct nouveau_stateobj *fb;
+ struct nouveau_stateobj *blend;
+ struct nouveau_stateobj *blend_colour;
+ struct nouveau_stateobj *zsa;
+ struct nouveau_stateobj *rast;
+ struct nouveau_stateobj *stipple;
+ struct nouveau_stateobj *scissor;
+ struct nouveau_stateobj *viewport;
+ struct nouveau_stateobj *tsc_upload;
+ struct nouveau_stateobj *tic_upload;
+ struct nouveau_stateobj *vertprog;
+ struct nouveau_stateobj *fragprog;
+ struct nouveau_stateobj *vtxfmt;
+ struct nouveau_stateobj *vtxbuf;
+};
+
struct nv50_context {
struct pipe_context pipe;
@@ -82,6 +101,8 @@ struct nv50_context {
struct draw_context *draw;
+ struct nv50_state state;
+
unsigned dirty;
struct nv50_blend_stateobj *blend;
struct nv50_zsa_stateobj *zsa;