summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv40/nv40_context.h
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-02-18 16:26:33 +1100
committerBen Skeggs <skeggsb@gmail.com>2008-02-18 16:26:33 +1100
commit112ba3355a3fa53768efb9a9fb0eeb677bd28d47 (patch)
tree1fc392e27f07491a72e7ea9caefa103b25c2181e /src/gallium/drivers/nv40/nv40_context.h
parentf911235f64d610e57da88487133d0483c7a094e7 (diff)
nv40: until gallium is fixed we'll need a fallback for user clip planes
Diffstat (limited to 'src/gallium/drivers/nv40/nv40_context.h')
-rw-r--r--src/gallium/drivers/nv40/nv40_context.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv40/nv40_context.h b/src/gallium/drivers/nv40/nv40_context.h
index 7d5806f5f7..e9ed7ea3fb 100644
--- a/src/gallium/drivers/nv40/nv40_context.h
+++ b/src/gallium/drivers/nv40/nv40_context.h
@@ -34,6 +34,9 @@
#define NV40_NEW_VERTPROG (1 << 9)
#define NV40_NEW_FRAGPROG (1 << 10)
#define NV40_NEW_ARRAYS (1 << 11)
+#define NV40_NEW_UCP (1 << 12)
+
+#define NV40_FALLBACK_TNL (1 << 0)
struct nv40_channel_context {
struct nouveau_winsys *nvws;
@@ -92,9 +95,11 @@ struct nv40_context {
struct {
struct pipe_scissor_state scissor;
unsigned stipple[32];
+ struct pipe_clip_state clip;
} pipe_state;
struct nv40_state state;
+ unsigned fallback;
struct nouveau_stateobj *so_framebuffer;
struct nouveau_stateobj *so_fragtex[16];
@@ -131,6 +136,14 @@ nv40_context(struct pipe_context *pipe)
return (struct nv40_context *)pipe;
}
+struct nv40_state_entry {
+ boolean (*validate)(struct nv40_context *nv40);
+ struct {
+ unsigned pipe;
+ unsigned hw;
+ } dirty;
+};
+
extern void nv40_init_state_functions(struct nv40_context *nv40);
extern void nv40_init_surface_functions(struct nv40_context *nv40);
extern void nv40_init_miptree_functions(struct nv40_context *nv40);