summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv40/nv40_state.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-04-28 15:42:19 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-04-28 19:25:40 +1000
commit58b1bcaa094ed07a54bd7e4cdbddbcdcf1f629a7 (patch)
tree49e9b1ec370994abc3f691ef6946a053ab238763 /src/gallium/drivers/nv40/nv40_state.c
parent2193578851b3b5a99c078b28187cf3158f4218f6 (diff)
nv40: do full swtnl fallback when edge flags present.
This isn't necessary, with some effort we can do this on the hw. However, until I encounter something "real" that uses them there's not a lot of point.
Diffstat (limited to 'src/gallium/drivers/nv40/nv40_state.c')
-rw-r--r--src/gallium/drivers/nv40/nv40_state.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv40/nv40_state.c b/src/gallium/drivers/nv40/nv40_state.c
index 997beca883..2d921d2b8a 100644
--- a/src/gallium/drivers/nv40/nv40_state.c
+++ b/src/gallium/drivers/nv40/nv40_state.c
@@ -680,6 +680,16 @@ nv40_set_vertex_elements(struct pipe_context *pipe, unsigned count,
nv40->draw_dirty |= NV40_NEW_ARRAYS;
}
+static void
+nv40_set_edgeflags(struct pipe_context *pipe, const unsigned *bitfield)
+{
+ struct nv40_context *nv40 = nv40_context(pipe);
+
+ nv40->edgeflags = bitfield;
+ nv40->dirty |= NV40_NEW_ARRAYS;
+ nv40->draw_dirty |= NV40_NEW_ARRAYS;
+}
+
void
nv40_init_state_functions(struct nv40_context *nv40)
{
@@ -719,6 +729,7 @@ nv40_init_state_functions(struct nv40_context *nv40)
nv40->pipe.set_scissor_state = nv40_set_scissor_state;
nv40->pipe.set_viewport_state = nv40_set_viewport_state;
+ nv40->pipe.set_edgeflags = nv40_set_edgeflags;
nv40->pipe.set_vertex_buffers = nv40_set_vertex_buffers;
nv40->pipe.set_vertex_elements = nv40_set_vertex_elements;
}